06-PPPoE配置
本章节下载: 06-PPPoE配置 (499.18 KB)
1.3.7 配置PPPoE会话的NAS-PORT-ID属性相关参数
1.7.1 PPPoE Server通过PPP地址池为用户分配IPv4地址配置举例
1.7.2 PPPoE Server通过本地DHCP服务器为用户分配IP地址配置举例
1.7.3 PPPoE Server通过远端DHCP服务器为用户分配IP地址配置举例
1.7.4 PPPoE Server通过ND协议、IPv6CP协商生成信息用于用户生成IPv6地址配置举例
1.7.5 PPPoE Server通过DHCPv6协议为用户分配IPv6地址配置举例
1.7.6 PPPoE Server通过DHCPv6协议分配代理前缀用于用户生成IPv6地址配置举例
1.7.7 PPPoE Server为接入用户授权地址池和VPN配置举例
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会话的起点所在位置的不同,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相关的协议规范有:
RFC 2516:A Method for Transmitting PPP Over Ethernet (PPPoE)
PPPoE Server目前支持以下接口类型:
· 三层以太网接口/三层以太网子接口
· 三层聚合接口/三层聚合子接口
· VLAN接口
PPPoE Server配置任务如下:
(1) 配置PPPoE会话
(2) (可选)配置VA池
(3) (可选)配置可通过MIB节点查询和配置VA接口
(4) (可选)配置允许创建PPPoE会话的最大数目
(5) (可选)配置限制用户创建PPPoE会话的速度
(6) (可选)配置PPPoE会话的NAS-PORT-ID属性相关参数
(1) 进入系统视图。
system-view
(2) 创建虚拟模板接口并进入指定的虚拟模板接口视图。
interface virtual-template number
(3) 配置PPP的工作参数
具体工作参数的配置请参见“二层技术–广域网接入配置指导”中的“PPP”。
当配置PPP认证时,需要配置PPPoE Server作为认证方。
(4) 开启PPPoE应用的MRU检测功能。
ppp lcp echo mru verify [ minimum value ]
PPPoE应用的MRU检测功能处于关闭状态。
(5) 退回系统视图。
quit
(6) 进入接口视图。
interface interface-type interface-number
(7) 在接口上启用PPPoE Server协议,将该接口与指定的虚拟模板接口绑定。
pppoe-server bind virtual-template number
缺省情况下,接口上的PPPoE Server协议处于关闭状态。
(8) (可选)配置PPPoE Server的AC Name(Access Concentrator Name,接入集中器名称)。
pppoe-server tag ac-name name
缺省情况下,PPPoE Server的AC Name为设备名称。
PPPoE Client可以根据AC Name来选择PPPoE Server(H3C实现的PPPoE Client暂不支持该功能)。
(9) (可选)配置对PPP最大负载TAG的支持,并指定最大负载的范围。
pppoe-server tag ppp-max-payload [ minimum minvalue maximum maxvalue ]
缺省情况下,不支持PPP最大负载TAG。
(10) (可选)配置PPPoE Server的Service Name。
pppoe-server tag service-name name
缺省情况下,PPPoE Server的Service Name为空。
(11) (可选)配置用户接入响应延迟时间。
pppoe-server access-delay delay-time
缺省情况下,对用户接入响应不延迟。
(12) 退回系统视图。
quit
(13) 配置PPPoE Server对PPP用户进行认证、授权、计费。
相关内容请参见“用户接入与认证配置指导”中的“AAA”。
PPPoE在建立连接时需要创建VA接口(VA接口用于PPPoE与PPP之间的报文传递),在用户下线后需要删除VA接口。由于创建/删除VA接口需要一定的时间,所以如果有大量用户上线/下线时,PPPoE的连接建立、连接拆除性能会受到影响。
使用VA池对PPPoE的连接建立、连接拆除性能有显著提高。VA池是在建立连接前事先创建的VA接口的集合。创建VA池后,当需要创建VA接口时,直接从VA池中获取一个VA接口,加快了PPPoE连接的建立速度。当用户下线后,直接把VA接口放入VA池中,不需要删除VA接口,加快了PPPoE连接的拆除速度。当VA池中的VA接口耗光后,仍需在建立PPPoE连接时再创建VA接口,在用户下线后删除VA接口。
每个虚拟模板接口只能关联一个全局VA池,在每个单板上只能关联一个局部VA池。通过某单板上的以太网接口上线的用户,只能使用上线以太网接口绑定的虚拟模板接口在该单板上关联的VA池。如果想要修改使用的VA池的大小,只能先删除原来的配置,然后重新配置VA池。
创建/删除VA池需要花费一定的时间,请用户耐心等待。在VA池创建/删除过程中(还没创建/删除完成)允许用户上线/下线,但正在创建/删除的VA池不生效。
系统可能由于资源不足不能创建用户指定容量的VA池,用户可以通过display pppoe-server va-pool命令查看实际可用的VA池的容量以及VA池的状态。
删除VA池时,如果已有在线用户使用该VA池中的VA接口,不会导致这些用户下线。
(1) 进入系统视图。
system-view
(2) 配置VA池
pppoe-server virtual-template template-number [ slot slot-number ] va-pool va-volume
在配置大容量VA池或有大量用户上线的情况下,设备上会创建大量的VA接口。由于大多情况下,管理员通过MIB获取设备信息时并不关心VA接口,所以,缺省情况下,不能通过MIB节点查询和配置VA接口。此时,设备会忽略NMS发送的关于VA接口的配置和查询请求,这不仅可以提高设备获取其它接口信息的效率,提升用户体验度,还可以降低设备的工作量,避免CPU资源浪费。
如果管理员需要通过MIB对VA接口进行配置或查询,请配置本功能。
(1) 进入系统视图。
system-view
(2) 配置可通过MIB节点查询和配置VA接口。
snmp virtual-access visible
缺省情况下,不能通过MIB节点查询和配置VA接口。
有关该命令的详细介绍,请参见“网络管理和监控命令参考”中的“SNMP”。
系统创建PPPoE会话时,需同时满足如下限制,若其中任何一项不满足,则无法创建会话:
· 接口上每个用户所能创建PPPoE会话的最大数目限制
· 接口上每个VLAN所能创建PPPoE会话的最大数目限制
· 接口上所能创建PPPoE会话的最大数目限制
· 单板所能创建PPPoE会话的最大数目限制
本功能配置后仅对新创建的PPPoE会话有效,对已经创建的PPPoE会话无效,即不会导致已经上线的用户下线。
建议设备上配置的所有单板所能创建PPPoE会话的最大数目之和,不要超过整机PPPoE的最大会话数(整机PPPoE的最大会话数由设备的缺省规格或授权的License规格决定),否则会有部分PPPoE用户因为整机最大用户数已达到而无法上线。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口为启用PPPoE Server协议的接口。
(3) 配置允许创建PPPoE会话的最大数目。
¡ 配置每个接口上所能创建PPPoE会话的最大数目。
pppoe-server session-limit number
缺省情况下,不限制接口上所能创建PPPoE会话的数目。
¡ 配置每个VLAN所能创建PPPoE会话的最大数目。
pppoe-server session-limit per-vlan number
缺省情况下,不限制每个VLAN所能创建PPPoE会话的数目。
¡ 配置每个用户所能创建PPPoE会话的最大数目。
pppoe-server session-limit per-mac number
缺省情况下,每个用户可创建100个PPPoE会话。
(1) 进入系统视图。
system-view
(2) 配置允许创建PPPoE会话的最大数目。
pppoe-server session-limit slot slot-number total number
缺省情况下,不限制允许创建的PPPoE会话数目。
设备可以限制特定接口下每个用户(每个用户通过MAC地址进行标识)创建会话的速度。如果用户建立会话的速度达到门限值,即在监视时间段内该用户的会话请求数目超过配置的允许数目,则扼制该用户的会话请求,即在监视时间段内该用户的超出允许数目的请求都会被丢弃,并输出对应的Log信息。如果扼制时间配置为0,表示不扼制会话请求,但仍然会输出Log信息。
· 监视表:监视各用户在监视时间周期内创建的会话数。监视表的规格为8K。当监视表达到规格时,对新用户的会话请求不进行监视和扼制,正常建立会话。监视表项的老化时间为配置的session-request-period值,老化后对用户重新监视。
· 扼制表:当某用户建立会话的速度超过门限值时,会将该用户的信息加入扼制表,扼制该用户的会话请求。扼制表规格为8K。当扼制表达到规格时,对新用户的会话请求只进行监视和发送Log信息,但不触发扼制。扼制表项的老化时间为配置的blocking-period值,老化后对用户重新监视。
修改本功能的配置后,系统将删除已记录的监视表和扼制表,重新开始监视每个用户的会话请求。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口为启用PPPoE Server协议的接口。
(3) 配置接口允许每个用户创建会话的速度。
pppoe-server throttle per-mac session-requests session-request-period blocking-period
缺省情况下,不限制会话建立的速度。
在含有DSLAM的组网中,DSLAM通过接入线路ID(access-line-id)把用户的物理位置信息传送给BAS设备(PPPoE Server功能部署在BAS设备上),接入线路ID的内容包括circuit-id和remote-id两部分。BAS设备采用一定的规则解析接入线路ID后,把解析后的内容通过RADIUS的NAS-PORT-ID属性发送给RADIUS服务器,RADIUS服务器通过收到的NAS-PORT-ID属性和数据库中已配置好的物理位置信息比较,验证用户的物理位置信息是否正确。
用户可以通过下面的配置控制BAS设备上传给RADIUS服务器的NAS-PORT-ID属性的内容。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口为启用PPPoE Server协议的接口。
(3) 配置上传给RADIUS服务器的NAS-PORT-ID属性中包含的内容。
pppoe-server access-line-id content { all [ separator ] | circuit-id | remote-id }
缺省情况下,上传给RADIUS服务器的NAS-PORT-ID属性中仅包含circuit-id。
(4) 配置在NAS-PORT-ID属性中自动插入BAS信息。
pppoe-server access-line-id bas-info [ cn-163 ]
缺省情况下,在NAS-PORT-ID属性中不自动插入BAS信息。
(5) 配置设备信任接收到的报文中的接入线路ID的内容。
pppoe-server access-line-id trust
缺省情况下,设备不信任接收到的报文中的接入线路ID的内容。
(6) 配置接入线路ID中circuit-id的解析格式。
pppoe-server access-line-id circuit-id parse-mode { cn-telecom | tr-101 }
缺省情况下,接入线路ID中circuit-id的解析格式为TR-101格式。
(7) 配置接入线路ID中circuit-id的传输格式。
pppoe-server access-line-id circuit-id trans-format { ascii | hex }
缺省情况下,接入线路ID中circuit-id的传输格式为字符串格式。
(8) 配置接入线路ID中remote-id的传输格式。
pppoe-server access-line-id remote-id trans-format { ascii | hex }
缺省情况下,接入线路ID中remote-id的传输格式为字符串格式。
PPPoE会话有三种工作模式:永久在线模式、按需拨号模式、诊断模式。
· 永久在线模式:当物理线路up后,设备会立即发起PPPoE呼叫,建立PPPoE会话。除非用户删除PPPoE会话,否则此PPPoE会话将一直存在。
· 按需拨号模式:当物理线路up后,设备不会立即发起PPPoE呼叫,只有当有数据需要传送时,设备才会发起PPPoE呼叫,建立PPPoE会话。如果PPPoE链路的空闲时间超过用户配置的值,设备会自动中止PPPoE会话。
· 诊断模式:设备在配置完成后立即发起PPPoE呼叫,建立PPPoE会话。每隔用户配置的重建时间间隔,设备会自动断开该会话、并重新发起呼叫建立会话。通过定期建立、删除PPPoE会话,可以监控PPPoE链路是否处于正常工作状态。
PPPoE会话的工作模式由对应的拨号接口的配置决定:
· 当Dialer接口的链路空闲时间(通过dialer timer idle命令配置)配置为0,且Dialer接口上未配置dialer diagnose命令时,PPPoE会话将工作在永久在线模式。
· 当Dialer接口的链路空闲时间(通过dialer timer idle命令配置)配置不为0,且Dialer接口上未配置dialer diagnose命令时,PPPoE会话将工作在按需拨号模式。
· 当Dialer接口上配置了dialer diagnose命令时,PPPoE会话将工作在诊断模式。
PPPoE Client配置任务如下:
(1) 配置拨号接口
(2) 配置PPPoE会话
(3) (可选)复位PPPoE会话
在配置PPPoE会话之前,需要先配置一个Dialer接口,并在接口上开启共享DDR。每个PPPoE会话唯一对应一个Dialer bundle,而每个Dialer bundle又唯一对应一个Dialer接口。这样就相当于通过一个Dialer接口可以创建一个PPPoE会话。
关于拨号接口、Dialer接口、共享DDR、Dialer bundle的详细介绍和相关配置,请参见“二层技术-广域网接入配置指导”中的“DDR”。
(1) 进入系统视图。
system-view
(2) 创建拨号访问组,并配置拨号控制规则。
dialer-group group-number rule { ip | ipv6 } { deny | permit | acl { acl-number | name acl-name } }
仅工作在按需拨号模式下需要配置本命令。
(3) 创建Dialer接口,并进入该Dialer接口视图。
interface dialer number
(4) 配置接口IP地址。
ip address { address mask | ppp-negotiate }
缺省情况下,接口未配置IP地址。
(5) 开启共享DDR。
dialer bundle enable
缺省情况下,接口上未开启共享DDR。
(6) 配置该拨号接口关联的拨号访问组,将该接口与拨号控制规则关联起来。
dialer-group group-number
缺省情况下,接口不与任何拨号访问组相关联。
仅工作在按需拨号模式下需要配置本命令。
(7) 配置链路空闲时间。
dialer timer idle idle [ in | in-out ]
缺省情况下,链路空闲时间为120秒。
未配置dialer diagnose时,当idle配置为0时,PPPoE会话工作在永久在线模式下,不为0时工作在按需拨号模式下。
(8) 配置DDR应用工作在诊断模式。
dialer diagnose [ interval interval ]
缺省情况下,工作在非诊断模式。
仅工作在诊断模式下需要配置本命令。
(9) (可选)配置DDR自动拨号的间隔时间。
dialer timer autodial autodial-interval
缺省情况下,DDR自动拨号的间隔时间为300秒。
当链路断开后将启动自动拨号定时器,等待自动拨号定时器超时后再重新发起呼叫。
为了在链路断开时可以尽快自动重新拨号,建议将自动拨号的时间间隔配置的小一些。
(10) (可选)配置Dialer接口的MTU值。
mtu size
缺省情况下,Dialer接口的MTU值为1500字节。
对于PPPoE Client应用的Dialer接口,应修改其MTU值,保证分片后的报文加上2个字节的PPP头和6个字节的PPPoE头之后的总长度不超过对应PPPoE会话所在接口的MTU值。
当成功建立PPPoE会话后,系统将自动创建一个VA接口,用于和对端进行报文交互。VA接口支持通过display interface virtual-access命令查看接口相关信息,但不支持对该接口进行配置。
VA接口随着PPPoE会话的建立,由系统自动创建,PPPoE会话拆除后,系统自动删除。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 建立一个PPPoE会话,并且指定该会话所对应的Dialer bundle。
pppoe-client dial-bundle-number number [ no-hostuniq ]
该Dialer bundle的序号number需要与Dialer接口的编号相同。
当PPPoE会话工作在永久在线模式或诊断模式时,如果使用reset pppoe-client命令复位PPPoE会话,设备会在自动拨号定时器超时后自动重新建立PPPoE会话。
当PPPoE会话工作在按需拨号模式时,如果使用reset pppoe-client命令复位PPPoE会话,设备会在有数据需要传送时,才重新建立PPPoE会话。
请在用户视图下执行本命令,复位PPPoE会话。
reset pppoe-client { all | dial-bundle-number number }
可在任意视图下执行以下命令:
· 显示PPPoE会话的摘要信息。
display pppoe-server session summary { slot slot-number | interface interface-type interface-number }
· 显示被扼制的用户信息。
display pppoe-server throttled-mac { slot slot-number | interface interface-type interface-number }
可在任意视图下执行以下命令,显示PPPoE会话的数据报文统计信息。
display pppoe-server session packet { slot slot-number | interface interface-type interface-number }
可在任意视图下执行以下命令,显示PPPoE的协商报文统计信息。
display pppoe-server packet statistics [ slot slot-number ]
请在用户视图下执行以下命令,清除PPPoE的协商报文统计信息。
reset pppoe-server packet statistics [ slot slot-number ]
可在任意视图下执行以下命令,显示VA池信息。
display pppoe-server va-pool
请在用户视图下执行以下命令,清除PPPoE会话。
reset pppoe-server { all | interface interface-type interface-number | virtual-template number }
可在任意视图下执行以下命令,显示PPPoE会话的概要信息。
display pppoe-client session summary [ dial-bundle-number number ]
可在任意视图下执行以下命令,显示PPPoE会话的协议报文统计信息。
display pppoe-client session packet [ dial-bundle-number number ]
请在用户视图下执行以下命令,清除PPPoE会话的协议报文统计信息。
reset pppoe-client session packet [ dial-bundle-number number ]
要求以太网内的主机可以通过PPPoE接入Router,并连接到外部网络。
· 主机作为PPPoE Client,运行PPPoE客户端拨号软件。
· Router作为PPPoE Server,配置本地CHAP认证,并通过PPP地址池为主机分配IP地址。
图1-3 PPPoE Server通过PPP地址池为用户分配IPv4地址配置组网图
# 创建一个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] ppp chap user user1
[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
# 在接口GigabitEthernet0/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] pppoe-server bind virtual-template 1
[Router-GigabitEthernet0/0/1] quit
# 在系统缺省的ISP域system下,配置域用户使用本地认证方案。
[Router] domain name system
[Router-isp-system] authentication ppp local
[Router-isp-system] quit
以太网上各主机安装PPPoE客户端软件后,配置好用户名和密码(此处为user1和123456TESTplat&!)就能使用PPPoE协议,通过设备Router接入到Internet。
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过DHCPv4协议为Host分配IP地址。
图1-4 配置PPPoE Server通过本地DHCP服务器为用户分配IP地址组网图
# 配置虚拟模板接口10的参数,采用PAP认证对端,使用DHCP地址池pool1为用户分配IP地址及DNS服务器地址。
<Router> system-view
[Router] interface virtual-template 10
[Router-Virtual-Template10] ppp authentication-mode pap
[Router-Virtual-Template10] remote address pool pool1
[Router-Virtual-Template10] quit
# 在GigabitEthernet0/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] pppoe-server bind virtual-template 10
[Router-GigabitEthernet0/0/1] quit
# 启用DHCP服务。
[Router] dhcp enable
# 配置DHCP地址池pool1。
[Router] dhcp server ip-pool pool1
[Router-dhcp-pool-pool1] network 1.1.1.0 24
[Router-dhcp-pool-pool1] gateway-list 1.1.1.1 export-route
[Router-dhcp-pool-pool1] dns-list 8.8.8.8
# 将IP地址1.1.1.1配置为禁用地址。
[Router-dhcp-pool-pool1] forbidden-ip 1.1.1.1
[Router-dhcp-pool-pool1] quit
# 配置PPPoE用户。
[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
配置完成后,当Host使用用户名user1、密码123456TESTplat&!,通过PPPoE接入Router后,Router通过DHCPv4协议为Host分配一个IP地址。
# 显示所有DHCP地址绑定信息。
[Router] display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
1.1.1.2 3030-3030-2e30-3030- Unlimited Auto(C)
662e-3030-3033-2d45-
7468-6572-6e65-74
Host和Router A之间通过以太网接口相连,Router B为远端DHCP服务器。Host通过PPPoE接入Router A,Router A作为PPPoE Server、DHCP中继向远端DHCP服务器申请IP地址。
图1-5 PPPoE Server通过远端DHCP服务器为用户分配IP地址组网图
(1) 配置Router A(PPPoE Server)
# 配置虚拟模板接口10的参数,采用PAP认证对端,使用DHCP地址池pool1为用户分配IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 10
[RouterA-Virtual-Template10] ppp authentication-mode pap
[RouterA-Virtual-Template10] remote address pool pool1
[RouterA-Virtual-Template10] quit
# 在GigabitEthernet0/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] pppoe-server bind virtual-template 10
[RouterA-GigabitEthernet0/0/1] quit
# 启用DHCP服务。
[RouterA] dhcp enable
# 启用DHCP中继的用户地址表项记录功能。
[RouterA] dhcp relay client-information record
# 创建中继地址池pool1,指定匹配该地址池的DHCPv4客户端所在的网段地址,并指定中继地址池对应的DHCP服务器地址。
[RouterA] dhcp server ip-pool pool1
[RouterA-dhcp-pool-pool1] gateway-list 2.2.2.1 export-route
[RouterA-dhcp-pool-pool1] remote-server 10.1.1.1
[RouterA-dhcp-pool-pool1] quit
# 配置与DHCP服务器连接的GigabitEthernet0/0/2接口的IP地址。
[RouterA] interface gigabitethernet 0/0/2
[RouterA-GigabitEthernet0/0/2] ip address 10.1.1.2 24
[RouterA-GigabitEthernet0/0/2] quit
# 配置PPPoE用户。
[RouterA] local-user user1 class network
[RouterA-luser-network-user1] password simple 123456TESTplat&!
[RouterA-luser-network-user1] service-type ppp
[RouterA-luser-network-user1] quit
(2) 配置Router B(DHCP服务器)
# 启用DHCP服务。
<RouterB> system-view
[RouterB] dhcp enable
# 创建DHCP地址池pool1,配置为DHCP客户端分配的IP地址网段和网关地址。
[RouterB] dhcp server ip-pool pool1
[RouterB-dhcp-pool-pool1] network 2.2.2.0 24
[RouterB-dhcp-pool-pool1] gateway-list 2.2.2.1
[RouterB-dhcp-pool-pool1] dns-list 8.8.8.8
# 将IP地址2.2.2.1配置为禁用地址。
[RouterB-dhcp-pool-pool1] forbidden-ip 2.2.2.1
[RouterB-dhcp-pool-pool1] quit
# 配置与PPPoE Server连接的GigabitEthernet0/0/1接口的IP地址。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] ip address 10.1.1.1 24
[RouterB-GigabitEthernet0/0/1] quit
# 配置到PPPoE Server的静态路由。
[RouterB] ip route-static 2.2.2.0 24 10.1.1.2
配置完成后,当Host使用用户名user1、密码123456TESTplat&!,通过PPPoE接入Router A后,Router B通过DHCPv4协议为Host分配一个IP地址。
# 显示DHCP中继Router A的用户地址表项信息。
[RouterA] display dhcp relay client-information
Total number of client-information items: 1
Total number of dynamic items: 1
Total number of temporary items: 0
IP address MAC address Type Interface VPN name
2.2.2.3 00e0-0000-0001 Dynamic VA0 N/A
# 显示DHCP服务器Router B的DHCP地址绑定信息。
[RouterB] display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
2.2.2.3 00e0-0000-0001 Unlimited Auto(C)
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过ND协议为Host分配IPv6地址。
在该场景下,Host通过ND协议中的RA报文获得IPv6地址前缀,通过IPv6CP协商获取IPv6接口标识,二者组合生成IPv6全球单播地址。
图1-6 配置PPPoE Server通过ND协议、IPv6CP协商生成信息用于用户生成IPv6地址组网图
# 配置虚拟模板接口10的参数,采用PAP认证对端,配置本端IPv6地址,关闭对RA消息发布的抑制。
<Router> system-view
[Router] interface virtual-template 10
[Router-Virtual-Template10] ppp authentication-mode pap domain system
[Router-Virtual-Template10] ipv6 address 2001::1 64
[Router-Virtual-Template10] undo ipv6 nd ra halt
[Router-Virtual-Template10] quit
# 在GigabitEthernet0/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] pppoe-server bind virtual-template 10
[Router-GigabitEthernet0/0/1] quit
# 配置PPPoE用户。
[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
# 在ISP域下配置为用户授权IPv6前缀属性。
[Router] domain name system
[Router-isp-system] authorization-attribute ipv6-prefix 2003:: 64
[Router-isp-system] quit
配置完成后,当Host使用用户名user1、密码123456TESTplat&!,通过PPPoE接入Router后,通过授权的IPv6前缀和IPv6CP协商获取的IPv6接口标识就自动生成一个IPv6全球单播地址。
[Router] display ppp access-user interface gigabitethernet 0/0/1
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
VA0 user1 0000-5e08-9d00 - 2003::9CBC:3898:0:605 -
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过DHCPv6协议为Host分配IPv6地址。
图1-7 配置PPPoE Server通过DHCPv6协议为用户分配IPv6地址组网图
# 配置虚拟模板接口10的参数,采用PAP认证对端,配置本端IPv6地址,关闭对RA消息发布的抑制,配置主机通过DHCPv6协议获取IPv6地址。
<Router> system-view
[Router] interface virtual-template 10
[Router-Virtual-Template10] ppp authentication-mode pap domain system
[Router-Virtual-Template10] ipv6 address 3001::1 64
[Router-Virtual-Template10] undo ipv6 nd ra halt
[Router-Virtual-Template10] ipv6 nd autoconfig managed-address-flag
# 开启DHCPv6 Server功能。
[Router-Virtual-Template10] ipv6 dhcp select server
[Router-Virtual-Template10] quit
# 在GigabitEthernet0/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] pppoe-server bind virtual-template 10
[Router-GigabitEthernet0/0/1] quit
# 创建名称为pool1的DHCPv6地址池,配置DHCPv6地址池动态分配的地址网段为3001::/32,分配的DNS服务器地址为2001:2::3。
[Router] ipv6 dhcp pool pool1
[Router-dhcp6-pool-pool1] network 3001::/32
[Router-dhcp6-pool-pool1] dns-server 2001:2::3
[Router-dhcp6-pool-pool1] quit
# 配置PPPoE用户。
[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
# 在ISP域下配置为用户授权地址池属性。
[Router] domain name system
[Router-isp-system] authorization-attribute ipv6-pool pool1
[Router-isp-system] quit
配置完成后,当Host使用用户名user1、密码123456TESTplat&!,通过PPPoE接入Router后,Router通过DHCPv6协议为Host分配一个IPv6全球单播地址。
[Router] display ppp access-user interface gigabitethernet 0/0/1
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
VA0 user1 0000-5e08-9d00 - 3001::2 -
Router A和Router B之间通过以太网接口相连,Router A通过PPPoE接入Router B,Router B作为PPPoE Server通过DHCPv6协议给Router A分配代理前缀,Router A再通过代理前缀给下面的主机分配IPv6地址。
图1-8 配置PPPoE Server通过DHCPv6协议分配代理前缀用于用户生成IPv6地址组网图
# 配置虚拟模板接口10的参数,采用PAP认证对端,配置本端IPv6地址,关闭对RA消息发布的抑制。
<RouterB> system-view
[RouterB] interface virtual-template 10
[RouterB-Virtual-Template10] ppp authentication-mode pap domain system
[RouterB-Virtual-Template10] ipv6 address 2001::1 64
[RouterB-Virtual-Template10] undo ipv6 nd ra halt
# 开启DHCPv6 Server功能。
[RouterB-Virtual-Template10] ipv6 dhcp select server
[RouterB-Virtual-Template10] quit
# 在GigabitEthernet0/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] pppoe-server bind virtual-template 10
[RouterB-GigabitEthernet0/0/1] quit
# 配置DHCPv6前缀池6,包含的前缀为4001::/32,分配的前缀长度为42。
[RouterB] ipv6 dhcp prefix-pool 6 prefix 4001::/32 assign-len 42
# 创建名称为pool1的DHCPv6地址池,配置地址池网段为4001::/64,在地址池下引用前缀池6, 分配的DNS服务器地址为2:2::3。
[RouterB] ipv6 dhcp pool pool1
[RouterB-dhcp6-pool-pool1] network 4001::/64
[RouterB-dhcp6-pool-pool1] prefix-pool 6
[RouterB-dhcp6-pool-pool1] dns-server 2:2::3
[Router-dhcp6-pool-pool1] quit
# 配置PPPoE用户。
[RouterB] local-user user1 class network
[RouterB-luser-network-user1] password simple 123456TESTplat&!
[RouterB-luser-network-user1] service-type ppp
[RouterB-luser-network-user1] quit
# 在ISP域下配置为用户授权地址池属性。
[RouterB] domain name system
[RouterB-isp-system] authorization-attribute ipv6-pool pool1
配置完成后,当Router A使用用户名user1、密码123456TESTplat&!,通过PPPoE接入Router B后,Router B通过DHCPv6协议为Router A分配一个代理前缀。
# 显示DHCPv6前缀绑定信息。
[RouterB] display ipv6 dhcp server pd-in-use
Pool: 1
IPv6 prefix Type Lease expiration
4001::1/42 Auto(O) Jul 10 19:45:01 2019
Router A把分配到的代理前缀4001::1/42再分配给Host,Host用来生成IPv6全球单播地址。
· 采用RADIUS作为认证、授权和计费服务器。
· RADIUS服务器为PPPoE接入用户授权的PPP地址池和VPN实例分别为pool1、vpn1。
· vpn1中的用户在服务器授权的PPP地址池pool1中获取IP地址。
图1-9 PPPoE Server为接入用户授权地址池和VPN配置组网图
启动PPPoE功能之前,需要首先配置MPLS L3VPN功能,通过为两端的VPN 1指定匹配的VPN Target,确保两端的VPN 1之间可以互通。本例仅介绍连接客户端的PE 1上接入认证的相关配置,其它配置请参考“MPLS配置指导”中的“MPLS L3VPN”。
(1) 配置RADIUS服务器
下面以Linux系统下的Free RADIUS服务器为例,说明RADIUS 服务器的基本配置。
# 配置RADIUS客户端信息。
在clients.conf文件中增加如下信息:
client 10.1.1.1/24 {
secret = radius
shortname = sr88
}
以上信息表示:RADIUS客户端的IP地址为10.1.1.1,共享密钥为字符串radius。
# 配置合法用户信息。
在users文件中增加如下信息:
user1 Auth-Type == CHAP,User-Password := 123456TESTplat&!
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-Pool = "pool1",
H3C-VPN-Instance = "vpn1",
以上信息表示:用户名为user1,用户密码为字符串123456TESTplat&!,授权VPN实例名称为vpn1,授权IP地址池名称为pool1。
(2) 配置Router A
¡ 配置PPPoE Server
# 配置虚拟模板接口1的参数,采用CHAP认证对端,并使用ISP域dm1作为认证域。
<RouterA> system-view
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ppp authentication-mode chap domain dm1
[RouterA-Virtual-Template1] quit
# 创建名为pool1的PPP地址池(包含9个可分配的IP地址)。
[RouterA] ip pool pool1 1.1.1.2 1.1.1.10 group 1
# 配置PPP地址池pool1的网关地址为1.1.1.1,所在VPN实例为vpn1。
[RouterA] ip pool pool1 gateway 1.1.1.1 vpn-instance vpn1
# 配置PPP地址池路由。
[RouterA] ppp ip-pool route 1.1.1.1 24 vpn-instance vpn1
# 在接口GigabitEthernet0/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet0/0/1] quit
¡ 配置RADIUS方案
# 创建名称为rs1的RADIUS方案并进入该方案视图。
[RouterA] radius scheme rs1
# 配置RADIUS方案的主认证和主计费服务器及其通信密钥。
[RouterA-radius-rs1] primary authentication 10.1.1.2
[RouterA-radius-rs1] primary accounting 10.1.1.2
[RouterA-radius-rs1] key authentication simple radius
[RouterA-radius-rs1] key accounting simple radius
# 配置发送给RADIUS服务器的用户名不携带ISP域名。
[RouterA-radius-rs1] user-name-format without-domain
[RouterA-radius-rs1] quit
¡ 配置认证域
# 创建并进入名称为dm1的ISP域。
[RouterA] domain dm1
# 配置ISP域使用的RADIUS方案rs1。
[RouterA-isp-dm1] authentication ppp radius-scheme rs1
[RouterA-isp-dm1] authorization ppp radius-scheme rs1
[RouterA-isp-dm1] accounting ppp radius-scheme rs1
[RouterA-isp-dm1] quit
用户认证通过后,在Host A上可以Ping通对端VPN1中的CE。
# 在Router A上可以看到PPP地址池pool1中已为PPPoE Client分配了一个地址。
[RouterA] display ip pool pool1
Group name: 1
Pool name Start IP address End IP address Free In use
pool1 1.1.1.2 1.1.1.10 8 1
In use IP addresses:
IP address Interface
1.1.1.2 VA0
Router A和Router B之间通过各自的GigabitEthernet0/0/1接口相连,其中Router A作为PPPoE Server,Router B作为PPPoE Client工作在永久在线模式。
图1-10 PPPoE Client组网图
(1) 配置Router A作为PPPoE Server
# 配置虚拟模板接口1的IP地址,并指定为对端分配的IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ip address 1.1.1.1 255.0.0.0
[RouterA-Virtual-Template1] remote address 1.1.1.2
# 配置采用PAP方式认证对端。
[RouterA-Virtual-Template1] ppp authentication-mode pap domain dm1
[RouterA-Virtual-Template1] quit
# 在接口GigabitEthernet0/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置PPPoE用户。
[RouterA] local-user user1 class network
[RouterA-luser-network-user1] password simple 123456TESTplat&!
[RouterA-luser-network-user1] service-type ppp
[RouterA-luser-network-user1] quit
# 在ISP域dm1下,配置域用户使用本地AAA方案。
[RouterA] domain dm1
[RouterA-isp-dm1] authentication ppp local
[RouterA-isp-dm1] accounting ppp local
[RouterA-isp-dm1] authorization ppp local
[RouterA-isp-dm1] quit
(2) 配置Router B作为PPPoE Client
# 在Dialer1接口上开启共享DDR。
<RouterB> system-view
[RouterB] interface dialer 1
[RouterB-Dialer1] dialer bundle enable
# 配置Dialer1接口通过协商获取IP地址。
[RouterB-Dialer1] ip address ppp-negotiate
# 配置本地设备被对端以PAP方式认证时发送的用户名为user1,密码为123456TESTplat&!。
[RouterB-Dialer1] ppp pap local-user user1 password simple 123456TESTplat&!
[RouterB-Dialer1] quit
# 配置一个PPPoE会话,该会话对应Dialer bundle 1(Dialer bundle 1对应Dialer1接口)。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] pppoe-client dial-bundle-number 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置PPPoE Client工作在永久在线模式。
[RouterB] interface dialer 1
[RouterB-Dialer1] dialer timer idle 0
# 配置DDR自动拨号的间隔时间为60秒。
[RouterB-Dialer1] dialer timer autodial 60
[RouterB-Dialer1] quit
# 配置静态路由。
[RouterB] ip route-static 1.1.1.1 255.0.0.0 dialer 1
配置完成后,Router B就可以与远端的PPPoE Server建立PPPoE会话。
[RouterB-Dialer1] display pppoe-client session summary
Bundle ID Interface VA RemoteMAC LocalMAC State
1 1 GE0/0/1 VA0 00e0-1400-4300 00e0-1500-4100 SESSION
Router A和Router B之间通过各自的GigabitEthernet0/0/1接口相连,其中Router A作为PPPoE Server,Router B作为PPPoE Client工作在按需拨号模式,空闲时间间隔为150秒。
图1-11 PPPoE Client组网图
(1) 配置Router A作为PPPoE Server
# 配置虚拟模板接口1的IP地址,并指定为对端分配的IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ip address 1.1.1.1 255.0.0.0
[RouterA-Virtual-Template1] remote address 1.1.1.2
# 配置采用PAP方式认证对端。
[RouterA-Virtual-Template1] ppp authentication-mode pap domain dm1
[RouterA-Virtual-Template1] quit
# 在接口GigabitEthernet0/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置PPPoE用户。
[RouterA] local-user user1 class network
[RouterA-luser-network-user1] password simple 123456TESTplat&!
[RouterA-luser-network-user1] service-type ppp
[RouterA-luser-network-user1] quit
# 在ISP域dm1下,配置域用户使用本地AAA方案。
[RouterA] domain dm1
[RouterA-isp-dm1] authentication ppp local
[RouterA-isp-dm1] accounting ppp local
[RouterA-isp-dm1] authorization ppp local
[RouterA-isp-dm1] quit
(2) 配置Router B作为PPPoE Client
# 配置拨号访问组1以及对应的拨号访问控制条件。
<RouterB> system-view
[RouterB] dialer-group 1 rule ip permit
# 在Dialer1接口上开启共享DDR。
[RouterB] interface dialer 1
[RouterB-Dialer1] dialer bundle enable
# 将Dialer1接口与拨号访问组1关联。
[RouterB-Dialer1] dialer-group 1
# 配置Dialer1接口通过协商获取IP地址。
[RouterB-Dialer1] ip address ppp-negotiate
# 配置本地设备被对端以PAP方式认证时发送的用户名为user1,密码为123456TESTplat&!。
[RouterB-Dialer1] ppp pap local-user user1 password simple 123456TESTplat&!
[RouterB-Dialer1] quit
# 配置一个PPPoE会话,该会话对应Dialer bundle 1(Dialer bundle 1对应Dialer1接口)。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] pppoe-client dial-bundle-number 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置静态路由。
[RouterB] ip route-static 1.1.1.1 255.0.0.0 dialer 1
# 配置空闲时间间隔为150秒。
[RouterB] interface dialer 1
[RouterB-Dialer1] dialer timer idle 150
[RouterB-Dialer1] quit
配置完成后,Router B就可以与远端的PPPoE Server建立PPPoE会话。
[RouterB-Dialer1] display pppoe-client session summary
Bundle ID Interface VA RemoteMAC LocalMAC State
1 1 GE0/0/1 VA0 00e0-1400-4300 00e0-1500-4100 SESSION
Router A和Router B之间通过各自的GigabitEthernet0/0/1接口相连,其中Router A作为PPPoE Server,Router B作为PPPoE Client工作在诊断模式,诊断时间间隔为200秒。
图1-12 PPPoE Client组网图
(1) 配置Router A作为PPPoE Server
# 配置虚拟模板接口1的IP地址,并指定为对端分配的IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ip address 1.1.1.1 255.0.0.0
[RouterA-Virtual-Template1] remote address 1.1.1.2
# 配置采用PAP方式认证对端。
[RouterA-Virtual-Template1] ppp authentication-mode pap domain dm1
[RouterA-Virtual-Template1] quit
# 在接口GigabitEthernet0/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置PPPoE用户。
[RouterA] local-user user1 class network
[RouterA-luser-network-user1] password simple 123456TESTplat&!
[RouterA-luser-network-user1] service-type ppp
[RouterA-luser-network-user1] quit
# 在ISP域dm1下,配置域用户使用本地AAA方案。
[RouterA] domain dm1
[RouterA-isp-dm1] authentication ppp local
[RouterA-isp-dm1] accounting ppp local
[RouterA-isp-dm1] authorization ppp local
[RouterA-isp-dm1] quit
(2) 配置Router B作为PPPoE Client
# 在Dialer1接口上开启共享DDR。
<RouterB> system-view
[RouterB] interface dialer 1
[RouterB-Dialer1] dialer bundle enable
# 配置Dialer1接口通过协商获取IP地址。
[RouterB-Dialer1] ip address ppp-negotiate
# 配置本地设备被对端以PAP方式认证时发送的用户名为user1,密码为123456TESTplat&!。
[RouterB-Dialer1] ppp pap local-user user1 password simple 123456TESTplat&!
[RouterB-Dialer1] quit
# 配置一个PPPoE会话,该会话对应Dialer bundle 1(Dialer bundle 1对应Dialer1接口)。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] pppoe-client dial-bundle-number 1
[RouterB-GigabitEthernet0/0/1] quit
# PPPoE Client工作在诊断模式,诊断时间间隔为200秒。
[RouterB] interface dialer 1
[RouterB-Dialer1] dialer diagnose interval 200
# 配置自动拨号的时间间隔为10秒。
[RouterB-Dialer1] dialer timer autodial 10
配置完成后,Router B就可以与远端的PPPoE Server建立PPPoE会话。
[RouterB-Dialer1] display pppoe-client session summary
Bundle ID Interface VA RemoteMAC LocalMAC State
1 1 GE0/0/1 VA0 00e0-1400-4300 00e0-1500-4100 SESSION
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!