03-PPPoE Relay配置
本章节下载: 03-PPPoE Relay配置 (294.62 KB)
1.3.4 开启PPPoE中继对服务器侧报文的Vendor-Specific Tag剥离功能
1.3.5 配置PPPoE中继对客户端侧PPPoE报文中circuit-id和remote-id的填充格式
1.3.6 配置PPPoE中继对客户端侧PPPoE报文中Vendor-Specific Tag字段的处理策略
PPPoE(Point-to-Point Protocol over Ethernet,在以太网上承载PPP协议)是对PPP协议的扩展,它在以太网上建立PPPoE会话,将PPP报文封装在以太网帧之内,在以太网上提供点对点的连接,解决了PPP无法应用于以太网的问题。PPPoE还可以通过远端接入设备对接入的每台主机实现控制、认证、计费功能。由于很好地结合了以太网的经济性及PPP良好的可扩展性与管理控制功能,PPPoE被广泛应用于小区接入组网等环境中。
PPPoE使用Client/Server模型。PPPoE Client向PPPoE Server发起连接请求,两者之间会话协商通过后,就建立PPPoE会话,此后PPPoE Server向PPPoE Client提供接入控制、认证、计费等功能。
当需要基于PPPoE Client的位置信息对其进行更加精细的管理时,可在PPPoE Client和PPPoE Server之间部署PPPoE Relay。
根据PPPoE会话的起点所在位置的不同,PPPoE分为Router-Initiated和Host-Initiated两种组网结构。
如图1-1所示,Router-Initiated组网结构是在两台路由器之间建立PPPoE会话,所有主机通过同一个PPPoE会话传送数据,主机上不用安装PPPoE客户端拨号软件,一般是一个企业共用一个账号接入网络(图中PPPoE Client位于企业/公司内部,PPPoE Server是运营商的设备)。
如图1-2所示,Host-Initiated组网结构是将PPPoE会话建立在Host和运营商的路由器之间,为每一个Host建立一个PPPoE会话,每个Host都是PPPoE Client,每个Host使用一个帐号,方便运营商对用户进行计费和控制。Host上必须安装PPPoE客户端拨号软件。
图1-2 Host-Initiated组网结构图
为了增强PPPoE组网的安全性,避免PPPoE Client账号被盗时,盗用者在其它地方通过该账号接入网络,引入了PPPoE Relay特性。
PPPoE Relay又称PPPoE+,部署在PPPoE Client和PPPoE Server之间的PPPoE中继设备(一般为Switch)上。
PPPoE中继设备将PPPoE Client接入的端口信息(如槽位号/子卡号/接口号、VLAN、MAC地址等)通过PPPoE协议报文上送给PPPoE Server,由PPPoE Server根据报文信息实现PPPoE Client的用户账号与接入端口的绑定认证,增强PPPoE组网的安全性。
PPPoE中继设备通过侦听PPPoE Client和PPPoE Server之间协议交互报文来控制协议报文的转发,具体流程如图1-3所示。
图1-3 PPPoE中继组网中PPPoE Client接入流程图
(1) PPPoE Client以广播形式发送PADI报文。
(2) PPPoE中继收到PADI报文后,为报文添加Vendor-Specific Tag字段(Vendor-Specific Tag是PPPoE报文中用于标识PPPoE Client的接入端口和VLAN等位置信息Tag字段),并将报文从所有的信任端口广播出去。
(3) PPPoE Server收到PADI报文后,给PPPoE Client回应PADO报文。
(4) PPPoE中继收到PADO报文后,将报文转发给PPPoE Client。
(5) PPPoE Client收到PADO后,以单播的形式发送PADR报文向PPPoE Server申请PPPoE服务。
(6) PPPoE中继收到PADR报文后,为报文添加Vendor-Specific Tag字段,并根据PADR报文中的目的MAC查找对应的出端口,如果出端口是信任端口,则将报文从该端口转发出去;如果出端口是非信任端口,则丢弃该PADR报文。
(7) PPPoE Server收到PADR报文后,先为PPPoE Client分配会话ID,并将会话ID和Vendor-Specific Tag进行绑定,然后再给PPPoE Client回应PADS报文。
(8) PPPoE中继收到PADS报文后,将报文转发给PPPoE Client。
(9) PPPoE Client收到PADS报文后,开始与PPPoE Server进行LCP协商和认证。
(10) 在认证阶段,PPPoE Server会将PPPoE Client的位置信息和用户名/密码一起发送给RADIUS服务器进行认证。
(11) RADIUS服务器将根据数据库中已配置好的位置信息和用户名/密码对PPPoE Client进行验证,只有二者均验证通过时,才允许PPPoE Client认证通过。
(12) PPPoE Client认证通过后开始与PPPoE Server进行NCP协商。协商通过后,PPPoE Client上线成功。
与PPPoE相关的协议规范有:
· RFC 2516:A Method for Transmitting PPP Over Ethernet (PPPoE)
本系列设备仅支持作为PPPoE Relay。
PPPoE Relay目前支持以下接口类型:
· 二层以太网接口
· 二层聚合接口
PPPoE Relay配置任务如下:
(1) 开启PPPoE中继功能
(2) 配置PPPoE中继信任端口
(3) (可选)开启PPPoE中继对服务器侧报文的Vendor-Specific Tag剥离功能
(4) (可选)配置PPPoE中继对客户端侧PPPoE报文中circuit-id和remote-id的填充格式
(5) (可选)配置PPPoE中继对客户端侧PPPoE报文中Vendor-Specific Tag字段的处理策略
只有开启PPPoE中继功能后,其它相关的PPPoE中继配置才能生效。
(1) 进入系统视图。
system-view
(2) 开启PPPoE中继功能。
pppoe-relay enable
缺省情况下,PPPoE中继功能处于关闭状态。
开启PPPoE中继功能后,本设备会对收到的PPPoE协议报文进行以下处理:
· 当从非信任端口收到PADI、PADR和PADT报文时,仅从信任端口转发出去。
· 当从非信任端口收到的PADO和PADS报文,不转发直接丢弃。
· 当从信任端口收到的PADO、PADS和PADT报文时,可从任意端口转发出去。
· 当从信任端口收到PADI和PADR报文时,仅从信任端口转发出去。
为确保PPPoE中继设备可以正常处理及转发PPPoE协议报文,需要将PPPoE中继设备上连接PPPoE Server侧的端口配置为信任端口,连接PPPoE Client侧的端口配置为非信任端口。
本命令不支持在二层聚合组的成员端口上配置;如果二层以太网接口在加入二层聚合组之前已配置了本命令,则在加入聚合组后,二层以太网接口上的本命令将被清除。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 配置当前端口为PPPoE中继信任端口。
pppoe-relay trust
缺省情况下,当前端口为PPPoE中继的非信任端口。
在PPPoE中继信任端口上开启本功能后,PPPoE中继从PPPoE Server收到PADO和PADS报文时,将剥离报文中的Vendor-Specific Tag字段后再进行转发。
本功能仅对PPPoE中继信任端口入方向收到的报文生效。
本命令不支持在二层聚合组的成员端口上配置;如果二层以太网接口在加入二层聚合组之前已配置了本命令,则在加入聚合组后,二层以太网接口上的本命令将被清除。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 开启PPPoE中继对服务器侧报文的Vendor-Specific Tag剥离功能。
pppoe-relay server-information vendor-specific strip
缺省情况下,PPPoE中继对服务器侧报文的Vendor-Specific Tag剥离功能处于关闭状态。
PPPoE中继收到PPPoE Client的PPPoE报文后,将按照本特性配置的格式为PPPoE报文填充对应的circuit-id和remote-id内容。
circuit-id和remote-id内容的最大长度都为63个字符,当待填充内容长度大于63个字符时,仅提取前63个字符进行填充。
(1) 进入系统视图。
system-view
(2) 配置PPPoE中继对客户端侧PPPoE报文中circuit-id和remote-id的填充格式。
pppoe-relay client-information format { circuit-id | remote-id } { ascii | hex | user-defined text }
缺省情况下,PPPoE中继对客户端侧PPPoE报文中circuit-id和remote-id填充格式均为字符串格式。
当PPPoE中继收到PADI或PADR报文后,将根据报文中是否包含Vendor-Specific Tag字段、用户配置的Vendor-Specific Tag字段的处理策略和填充模式对报文进行相应的处理,并将处理后的报文转发给PPPoE Server。具体的处理方式请见表1-1。
表1-1 PPPoE中继对Vendor-Specific Tag字段的处理策略
Vendor-Specific Tag携带情况 |
Vendor-Specific Tag的处理策略 |
PPPoE中继对报文的处理 |
收到的报文中带有Vendor-Specific Tag |
Drop |
将Vendor-Specific Tag剥离后再进行转发 |
Keep |
保持Vendor-Specific Tag不变并进行转发 |
|
Replace |
根据配置的填充格式填充Vendor-Specific Tag,并用该字段替换报文中的原有Vendor-Specific Tag字段后再进行转发 |
|
收到的报文中不带有Vendor-Specific Tag |
Drop |
直接进行转发 |
Keep |
直接进行转发 |
|
Replace |
根据配置的填充格式填充Vendor-Specific Tag,添加到报文中并进行转发 |
本功能既可在系统视图下对所有接口进行全局配置,也可在接口视图下只对当前接口进行配置,后者的配置优先级较高。
配置的处理策略仅对接口入方向收到的报文生效。
本命令不支持在二层聚合组的成员端口上配置;如果二层以太网接口在加入二层聚合组之前已配置了本命令,则在加入聚合组后,二层以太网接口上的本命令将被清除。
(1) 进入系统视图。
system-view
(2) 配置PPPoE中继对客户端侧PADI和PADR报文的处理策略。
pppoe-relay client-information strategy { drop | keep | replace }
缺省情况下,PPPoE中继对客户端侧PADI和PADR中Vendor-Specific Tag字段的全局处理策略为Replace。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 配置PPPoE中继对客户端侧PADI和PADR报文的处理策略。
pppoe-relay client-information strategy { drop | keep | replace }
缺省情况下,接口上未配置PPPoE中继对客户端侧PADI和PADR中Vendor-Specific Tag字段的处理策略。
在完成上述配置后,在任意视图下执行display命令可以显示PPPoE中继配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令,可以清除PPPoE中继的报文统计信息。
表1-2 PPPoE Server显示和维护
操作 |
命令 |
显示PPPoE中继对客户端侧报文中Vendor-Specific Tag处理方式的配置信息 |
display pppoe-relay client-information { format | strategy } |
显示PPPoE中继的报文统计信息 |
display pppoe-relay statistics [ interface interface-type interface-number ] |
清除PPPoE中继的报文统计信息 |
reset pppoe-relay statistics |
Host通过Switch采用PPPoE接入方式接入Router。其中,Switch作为PPPoE中继,Router作为PPPoE Server并通过PPP地址池为用户分配IPv4地址等信息。
图1-4 PPPoE Relay配置组网图
(1) 配置Swtich作为PPPoE中继
# 开启PPPoE中继功能。
<Switch> system-view
[Switch] pppoe-relay enable
# 配置连接服务器侧接口Ten-GigabitEthernet1/0/2为PPPoE中继信任端口。
[Switch] interface ten-gigabitethernet 1/0/2
[Switch-Ten-GigabitEthernet1/0/2] pppoe-relay trust
(2) 配置Router作为PPPoE Server
# 创建一个PPPoE用户。
<Router> system-view
[Router] local-user user1 class network
[Router-luser-network-user1] password simple 123456TESTplat&!
[Router-luser-network-user1] service-type ppp
[Router-luser-network-user1] quit
# 配置虚拟模板接口1的参数,采用CHAP认证对端,并使用PPP地址池为对端分配IP地址,并配置为对端指定DNS服务器的IP地址。
[Router] interface virtual-template 1
[Router-Virtual-Template1] ppp authentication-mode chap domain system
[Router-Virtual-Template1] remote address pool 1
[Router-Virtual-Template1] ppp ipcp dns 8.8.8.8
[Router-Virtual-Template1] quit
# 配置PPP地址池(包含9个可分配的IP地址),和地址池网关地址。
[Router] ip pool 1 1.1.1.2 1.1.1.10
[Router] ip pool 1 gateway 1.1.1.1
# 在接口Ten-GigabitEthernet1/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[Router] interface ten-gigabitethernet 1/0/1
[Router-Ten-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[Router-Ten-GigabitEthernet1/0/1] quit
# 在系统缺省的ISP域system下,配置域用户使用RADIUS认证/授权/计费方案。
[Router] domain system
[Router-isp-system] authentication ppp radius-scheme rs1
[Router-isp-system] authorization ppp radius-scheme rs1
[Router-isp-system] accounting ppp radius-scheme rs1
[Router-isp-system] quit
# 配置RADIUS方案以及RADIUS认证/授权/计费服务器的IP地址。
[Router] radius scheme rs1
[Router-radius-rs1] primary authentication 11.110.91.146
[Router-radius-rs1] primary accounting 11.110.91.146
# 配置与RADIUS服务器交互报文时使用的认证、计费共享密钥为明文expert。
[Router-radius-rs1] key authentication simple expert
[Router-radius-rs1] key accounting simple expert
[Router-radius-rs1] quit
(3) 配置RADIUS服务器
在RADIUS服务器上配置认证与计费的共享密钥expert。
在RADIUS服务器上增加一个PPPoE用户,用户名为user1,密码为123456及对应的位置信息。
具体配置过程请参考实际使用的RADIUS服务器的用户手册。
以太网上各主机安装PPPoE客户端软件后,配置好用户名和密码(此处为user1和123456TESTplat&!)就能使用PPPoE协议,通过设备Router接入到Internet。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!