01-PPP配置
本章节下载: 01-PPP配置 (800.09 KB)
1.10 配置抑制PPP对端主机路由添加到本端直连路由表的功能
2.3.3 转发控制分离模式下PPPoE Server配置任务简介
2.3.10 配置PPPoE会话的NAS-PORT-ID属性相关参数
2.3.11 配置PPPoE与NAT444联动失败用户继续上线功能
2.6.1 PPPoE Server通过PPP地址池为用户分配IPv4地址配置举例
2.6.2 PPPoE Server通过本地DHCP服务器为用户分配IPv4地址配置举例
2.6.3 PPPoE Server通过远端DHCP服务器为用户分配IPv4地址配置举例
2.6.4 PPPoE Server通过NDRA方式为用户分配IPv6地址配置举例(授权前缀)
2.6.5 PPPoE Server通过NDRA方式为用户分配IPv6地址配置举例(每用户每前缀)
2.6.6 PPPoE Server通过IA_NA方式为用户分配IPv6地址配置举例
2.6.7 PPPoE Server通过IA_PD方式为用户分配IPv6地址配置举例
2.6.8 PPPoE Server为接入用户授权地址池和VPN配置举例
PPP(Point-to-Point Protocol,点对点协议)是一种点对点的链路层协议。它能够提供用户认证,易于扩充,并且支持同/异步通信。
PPP定义了一整套协议,包括:
· 链路控制协议(Link Control Protocol,LCP):用来建立、拆除和监控数据链路。
· 网络控制协议(Network Control Protocol,NCP):用来协商在数据链路上所传输的网络层报文的一些属性和类型。
· 认证协议:用来对用户进行认证,包括PAP(Password Authentication Protocol,密码认证协议)、CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议)、MSCHAP(Microsoft CHAP,微软CHAP协议)和MSCHAPv2(微软CHAP协议版本2)。
PPP链路建立过程如图1-1所示:
(1) PPP初始状态为不活动(Dead)状态,当物理层Up后,PPP会进入链路建立(Establish)阶段。
(2) PPP在Establish阶段主要进行LCP协商。LCP协商内容包括:Authentication-Protocol(认证协议类型)、ACCM(Async-Control-Character-Map,异步控制字符映射表)、MRU(Maximum-Receive-Unit,最大接收单元)、Magic-Number(魔术字)、PFC(Protocol-Field-Compression,协议字段压缩)、ACFC(Address-and-Control-Field-Compression,地址控制字段压缩)、MP等选项。如果LCP协商失败,LCP会上报Fail事件,PPP回到Dead状态;如果LCP协商成功,LCP进入Opened状态,LCP会上报Up事件,表示链路已经建立(此时对于网络层而言PPP链路还未建立,还不能够在上面成功传输网络层报文)。
(3) 如果配置了认证,则进入Authenticate阶段,开始PAP、CHAP、MSCHAP或MSCHAPv2认证。如果认证失败,LCP会上报Fail事件,进入Terminate阶段,拆除链路,LCP状态转为Down,PPP回到Dead状态;如果认证成功,LCP会上报Success事件。
(4) 如果配置了网络层协议,则进入Network协商阶段,进行NCP协商(如IPCP协商、IPv6CP协商)。如果NCP协商成功,链路就会UP,就可以开始承载协商指定的网络层报文;如果NCP协商失败,NCP会上报Down事件,进入Terminate阶段。(对于IPCP协商,如果接口配置了IP地址,则进行IPCP协商,IPCP协商通过后,PPP才可以承载IP报文。IPCP协商内容包括:IP地址、DNS服务器地址等。)
(5) 到此,PPP链路将一直保持通信,直至有明确的LCP或NCP消息关闭这条链路,或发生了某些外部事件(例如用户的干预)。
图1-1 PPP链路建立过程
PPP提供了在其链路上进行安全认证的手段,使得在PPP链路上实施AAA变的切实可行。将PPP与AAA结合,可在PPP链路上对对端用户进行认证、计费。
PPP支持如下认证方式:PAP、CHAP、MSCHAP、MSCHAPv2。
PAP为两次握手协议,它通过用户名和密码来对用户进行认证。
PAP在网络上以明文的方式传递用户名和密码,认证报文如果在传输过程中被截获,便有可能对网络安全造成威胁。因此,它适用于对网络安全要求相对较低的环境。
CHAP为三次握手协议。
CHAP认证过程分为两种方式:认证方配置了用户名、认证方未配置用户名。推荐使用认证方配置用户名的方式,这样被认证方可以对认证方的身份进行确认。
CHAP只在网络上传输用户名,并不传输用户密码(准确的讲,它不直接传输用户密码,传输的是用MD5算法将用户密码与一个随机报文ID一起计算的结果),因此它的安全性要比PAP高。
MSCHAP为三次握手协议,认证过程与CHAP类似,MSCHAP与CHAP的不同之处在于:
· MSCHAP采用的加密算法是0x80。
· MSCHAP支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。
MSCHAPv2为三次握手协议,认证过程与CHAP类似,MSCHAPv2与CHAP的不同之处在于:
· MSCHAPv2采用的加密算法是0x81。
· MSCHAPv2通过报文捎带的方式实现了认证方和被认证方的双向认证。
· MSCHAPv2支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。
· MSCHAPv2支持修改密码机制。被认证方由于密码过期导致认证失败时,被认证方会将用户输入的新密码信息发回认证方,认证方根据新密码信息重新进行认证。
在IPv4网络中,PPP进行IPCP协商过程中可以进行IP地址、DNS服务器地址的协商。
PPP在进行IPCP协商的过程中可以进行IP地址的协商,即一端给另一端分配IP地址。
在PPP协商IP地址的过程中,设备可以分为两种角色:
· Client端:若本端接口封装的链路层协议为PPP但还未配置IP地址,而对端已有IP地址时,用户可为本端接口配置IP地址可协商属性,使本端接口作为Client端接受由对端(Server端)分配的IP地址。该方式主要用于设备在通过ISP访问Internet时,由ISP分配IP地址。
· Server端:若设备作为Server端为Client端分配IP地址,则应先配置地址池(可以是PPP地址池或者DHCP地址池),然后在ISP域下关联地址池,或者在接口下指定为Client端分配的IP地址或者地址池,最后再配置Server端的IP地址,开始进行IPCP协商。
当Client端配置了IP地址可协商属性后,Server端根据AAA认证结果(关于AAA的介绍请参见“安全配置指导”中的“AAA”)和接口下的配置,按照如下顺序给Client端分配IP地址:
· 如果AAA认证服务器为Client端设置了IP地址或者地址池信息,则Server端将采用此信息为Client端分配IP地址(这种情况下,为Client端分配的IP地址或者分配IP地址所采用的地址池信息是在AAA认证服务器上进行配置的,Server端不需要进行特殊配置)。
· 如果Client端认证时使用的ISP域下设置了为Client端分配IP地址的地址池,则Server端将采用此地址池为Client端分配IP地址。
· 如果Server端的接口下指定了为Client端分配的IP地址或者地址池,则Server端将采用此信息为Client端分配IP地址。
设备在进行IPCP协商的过程中可以进行DNS服务器地址协商。设备既可以作为Client端接收其它设备分配的DNS服务器地址,也可以作为Server端向其它设备提供DNS服务器地址。通常情况下:
· 当主机与设备通过PPP协议相连时,设备应配置为Server端,为对端主机指定DNS服务器地址,这样主机就可以通过域名直接访问Internet;
· 当设备通过PPP协议连接运营商的接入服务器时,设备应配置为Client端,被动接收或主动请求接入服务器指定DNS服务器地址,这样设备就可以使用接入服务器分配的DNS来解析域名。
IPv4有两种动态地址分配协议,IPCP协议和DHPCv4协议。在IPv6网络中,PPP进行IPv6CP协商过程中,只协商出IPv6接口标识,不能协商出IPv6地址、IPv6 DNS服务器地址。所有认证接入用户都需要使用ND协议或DHCPv6协议分配IPv6全球单播地址和IPv6 DNS服务器地址等其它参数。
主机可以通过如下几种方式分配到IPv6全球单播地址:
· NDRA方式:主机通过ND协议中的RA报文获得IPv6地址前缀。主机采用RA报文中携带的前缀和IPv6CP协商的IPv6接口标识一起组合生成IPv6全球单播地址。RA报文中携带的IPv6地址前缀的来源有四种:AAA授权的IPv6前缀、AAA授权的ND前缀池中的前缀、接口下配置的RA前缀、接口下配置的IPv6全球单播地址的前缀。四种来源的优先级依次降低,AAA授权的IPv6前缀优先级最高。关于ND协议的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
· DHCPv6(IA_NA)方式:主机通过DHCPv6协议申请IPv6全球单播地址。在服务器端可以通过AAA授权为每个主机分配不同的地址池,当授权了地址池后,DHCPv6在分配IPv6地址时会从地址池中获取IPv6地址分配给主机。如果AAA未授权地址池,DHCPv6会根据服务器端的IPv6地址查找匹配的地址池为主机分配地址。关于DHCPv6协议的详细介绍请参见“三层技术-IP业务配置指导”中的“DHCPv6”。
· DHCPv6(IA_PD)方式:Client端设备通过DHCPv6协议申请代理前缀,并使用申请到的代理前缀为下面的主机分配IPv6全球单播地址。代理前缀分配方式中地址池的选择原则和通过DHCPv6协议分配IPv6全球单播地址方式中地址池的选择原则一致。
根据组网不同,主机获取IPv6地址的方式如下:
· 当主机通过桥设备或者直连接入设备时,设备可以采用上述的NDRA方式或IA_NA方式直接为主机分配IPv6全球单播地址。
· 当主机通过路由器接入设备时,设备可以采用IA_PD方式为路由器分配IPv6前缀,路由器把这些IPv6前缀分配给主机来生成IPv6全球单播地址。
在IPv6网络中,IPv6 DNS服务器地址的分配有如下两种方式:
· AAA授权IPv6 DNS服务器地址,通过ND协议中的RA报文将此IPv6 DNS服务器地址分配给主机。
· DHCPv6客户端向DHCPv6服务器申请IPv6 DNS服务器地址。
与PPP相关的协议规范有:
· RFC 1661:The Point-to-Point Protocol (PPP)
PPP配置任务如下:
(1) 配置PPP认证
请选择以下一项任务进行配置:
¡ 配置PAP认证
在网络安全要求较高的环境下,需要配置PPP认证。
(2) (可选)配置轮询功能
(3) (可选)配置PPP协商参数
(4) (可选)配置PPP链路质量监测功能
(5) (可选)配置PPP协议的魔术字检查功能
(6) (可选)配置PPP用户攻击防御功能
(7) (可选)配置PPP用户的nas-port-type属性
(8) (可选)配置抑制PPP对端主机路由添加到本端直连路由表的功能
(9) (可选)配置开启下发ND前缀网段路由功能
(10) (可选)配置PPP统计功能
(11) (可选)配置PPP日志及业务维护功能
PPP支持的认证方式包括:PAP、CHAP、MSCHAP、MSCHAPv2。用户可以同时配置多种认证方式,在LCP协商过程中,认证方根据用户配置的认证方式顺序逐一与被认证方进行协商,直到协商通过。如果协商过程中,被认证方回应的协商报文中携带了建议使用的认证方式,认证方查找配置中存在该认证方式,则直接使用该认证方式进行认证。
在认证方上,若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码。
不论是在本地还是AAA服务器上为被认证方配置的用户名和密码必须与被认证方上通过ppp pap local-user命令配置的用户名和密码相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置本地认证对端的方式为PAP。
ppp authentication-mode pap [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“安全配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置本地被对端以PAP方式认证时本地发送的PAP用户名和密码。
ppp pap local-user username password { cipher | simple } string
缺省情况下,被对端以PAP方式认证时,本地设备发送的用户名和密码均为空。
查看配置的密码信息时,无论采用明文或密文加密,密码都将按密文方式显示。
在认证方上,若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码。
不论是在本地还是AAA服务器上为被认证方配置的用户名和密码必须满足如下要求:
· 用户名必须与被认证方上通过ppp chap user命令配置的被认证方的用户名相同。
· 密码必须与被认证方上为认证方配置的用户名的密码相同。
在被认证方上,若采用本地AAA认证,则被认证方必须为认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置认证方的用户名和密码。
不论是在本地还是AAA服务器上为认证方配置的用户名和密码必须满足如下要求:
· 用户名必须与认证方上通过ppp chap user命令配置的认证方的用户名相同。
· 密码必须与认证方上为被认证方配置的用户名的密码相同。
在被认证方上不能通过ppp chap password命令配置进行CHAP认证时采用的密码,否则即使认证方配置了用户名,CHAP仍将按照认证方未配置用户名的情况进行认证。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置本地认证对端的方式为CHAP。
ppp authentication-mode chap [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置采用CHAP认证时认证方的用户名。
ppp chap user username
缺省情况下,CHAP认证的用户名为空。
(5) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“安全配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置采用CHAP认证时被认证方的用户名。
ppp chap user username
缺省情况下,CHAP认证的用户名为空。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“安全配置指导”中的“AAA”。
在认证方上,若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码。
不论是在本地还是AAA服务器上为被认证方配置的用户名和密码必须满足如下要求:
· 用户名必须与被认证方上通过ppp chap user命令配置的被认证方的用户名相同。
· 密码必须与被认证方上通过ppp chap password命令配置的密码相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置本地认证对端的方式为CHAP。
ppp authentication-mode chap [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“安全配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置采用CHAP认证时被认证方的用户名。
ppp chap user username
缺省情况下,CHAP认证的用户名为空。
(4) 设置CHAP认证密码。
ppp chap password { cipher | simple } string
缺省情况下,未配置进行CHAP认证时采用的密码。
查看配置的密码信息时,无论采用明文或密文加密,密码都将按密文方式显示。
设备只能作为MSCHAP和MSCHAPv2的认证方来对其它设备进行认证。
L2TP环境下仅支持MSCHAP认证,不支持MSCHAPv2认证。
MSCHAPv2认证只有在RADIUS认证的方式下,才能支持修改密码机制。
MSCHAPv2认证时不支持为PPP用户配置认证方式为none。
在认证方上,若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码。不论是在本地还是AAA服务器上为被认证方配置的用户名和密码必须与被认证方上的配置相同。
若认证方配置了用户名,则在被认证方上为认证方配置的用户名必须与认证方上ppp chap user命令配置的用户名相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置本地认证对端的方式为MSCHAP或MSCHAPv2。
ppp authentication-mode { ms-chap | ms-chap-v2 } [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置采用MSCHAP或MSCHAPv2认证时认证方的用户名。
ppp chap user username
(5) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“安全配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置本地认证对端的方式为MSCHAP或MSCHAPv2。
ppp authentication-mode { ms-chap | ms-chap-v2 } [ [ call-in ] domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“安全配置指导”中的“AAA”。
PPP协议使用轮询机制来确认链路状态是否正常。
当接口上封装的链路层协议为PPP时,链路层会周期性地向对端发送keepalive报文(可以通过timer-hold命令修改keepalive报文的发送周期)。如果接口在retry个(可以通过timer-hold retry命令修改该个数)keepalive周期内没有收到keepalive报文的应答,链路层会认为对端故障,上报链路层Down。
如果将keepalive报文的发送周期配置为0秒,则本端不主动发送keepalive报文;当本端收到对端主动发送过来的keepalive报文时,仍可以对该keepalive报文进行应答。
在速率非常低的链路上,keepalive周期和retry值不能配置过小。因为在低速链路上,大报文可能会需要很长的时间才能传送完毕,这样就会延迟keepalive报文的发送与接收。而接口如果在retry个keepalive周期内没有收到keepalive报文的应答,它就会认为链路发生故障。如果keepalive报文被延迟的时间超过接口的这个限制,链路就会被认为发生故障而被关闭。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口发送keepalive报文的周期。
timer-hold seconds
缺省情况下,接口发送keepalive报文的周期为10秒。
(4) 配置接口在多少个keepalive周期内未收到keepalive报文的应答就拆除链路。
timer-hold retry retries
缺省情况下,接口在5个keepalive周期内未收到keepalive报文的应答就拆除链路。
在PPP协商过程中,如果协商超时时间间隔内未收到对端的应答报文,则PPP将会重发前一次发送的报文。
在PPP链路两端设备对LCP协商报文的处理速度差异较大的情况下,为避免因一端无法及时处理对端发送的LCP协商报文而导致对端重传,可在对协商报文处理速度较快的设备上配置LCP协商的延迟时间。配置LCP协商的延迟时间后,当接口物理层UP时PPP将在延迟时间超时后才会主动进行LCP协商;如果在延迟时间内本端设备收到对端设备发送的LCP协商报文,则本端设备将不再等待延迟时间超时,而是直接进行LCP协商。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) (可选)配置LCP协商的延迟时间。
ppp lcp delay milliseconds
缺省情况下,接口物理层UP后,PPP立即进行LCP协商。
(4) 配置协商超时时间间隔。
ppp timer negotiate seconds
缺省情况下,协商超时时间间隔为3秒。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 为接口配置IP地址可协商属性。
ip address ppp-negotiate
缺省情况下,接口未配置IP地址可协商属性。
多次执行本命令和ip address命令,最后一次执行的命令生效。关于ip address命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IP地址”。
目前Server端为Client端分配IP地址支持以下四种方式:
· 在接口下指定为Client端分配的IP地址。
· 从接口下指定的地址池(支持PPP地址池和DHCP地址池)中为Client端分配IP地址。
· 从ISP域下关联的地址池(支持PPP地址池和DHCP地址池)中为Client端分配IP地址。
· 从AAA服务器直接为Client端授权IP地址。
不需要进行PPP认证的PPP用户可以使用在接口下指定为Client端分配的IP地址和从接口下指定的地址池中为Client端分配IP地址两种地址分配方式。同时配置这两种方式,最后一次的配置生效。
需要进行PPP认证的PPP用户可以使用全部的四种方式。同时配置多种方式时,以AAA服务器直接授权的IP地址优先,其次是ISP域下关联的地址池,再然后是接口下指定为Client端分配的IP地址或者地址池(接口下同时配置这两种方式时,最后一次的配置生效)。
当采用AAA服务器直接给Client端授权IP地址方式时,必须先在Server端上通过dhcp enable命令开启DHCP服务,再为Client端授权IP地址。有关dhcp enable命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“DHCP”。
如果用户配置了名称相同的PPP地址池和DHCP地址池,并采用该名称的地址池为对端分配IP地址,则系统只会使用PPP地址池来分配IP地址。
当通过PPP地址池给用户分配IP地址时,请确保PPP地址池中不包含该PPP地址池的网关地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口为Client端分配的IP地址。
remote address ip-address
缺省情况下,接口不为Client端分配IP地址。
(4) 配置Server端的IP地址。
ip address ip-address
缺省情况下,接口未配置IP地址。
(1) 进入系统视图。
system-view
(2) 配置PPP地址池。
ip pool pool-name start-ip-address [ end-ip-address ] [ group group-name ]
(3) (可选)开启PPP地址池随机分配新地址的功能。
ip pool pool-name allocate-new-ip enable
缺省情况下,PPP地址池随机分配新地址的功能处于关闭状态。
(4) (可选)配置PPP地址池的网关地址。
ip pool pool-name gateway ip-address [ vpn-instance vpn-instance-name ]
缺省情况下,未为PPP地址池配置网关地址。
(5) (可选)配置PPP地址池路由。
ppp ip-pool route ip-address { mask-length | mask } [ vpn-instance vpn-instance-name ]
缺省情况下,未配置PPP地址池路由。
需要保证配置的PPP地址池路由网段覆盖PPP地址池网段范围。
(6) 进入接口视图。
interface interface-type interface-number
(7) 使用PPP地址池为Client端分配IP地址。
remote address pool pool-name
缺省情况下,接口不为Client端分配IP地址。
(8) 配置Server端的IP地址。
ip address ip-address
缺省情况下,接口未配置IP地址。
(1) 进入系统视图。
system-view
(2) 配置DHCP功能。
¡ 如果Server端同时作为DHCP服务器,则在Server端上配置DHCP服务器、DHCP地址池相关内容。
¡ 如果Server端作为DHCP中继,则在Server端上配置DHCP中继相关内容(必须配置DHCP中继用户地址表项记录功能、DHCP中继地址池),并在远端DHCP服务器上配置DHCP地址池。
DHCP服务器和DHCP中继的具体配置介绍请参见“三层技术-IP业务配置指导”中的“DHCP服务器”和“DHCP中继”。
(3) 进入接口视图。
interface interface-type interface-number
(4) 使用DHCP地址池为Client端分配IP地址。
remote address pool pool-name
缺省情况下,接口不为Client端分配IP地址。
(5) (可选)配置PPP用户作为DHCP客户端时使用的DHCP客户端ID的生成方式。
remote address dhcp client-identifier { { callingnum | username } [ session-info ] | session-info }
缺省情况下,未配置PPP用户作为DHCP客户端时使用的DHCP客户端ID的生成方式。
当使用PPP用户名生成DHCP客户端ID时,请确保各个上线用户分别使用不同的PPP用户名上线。
(6) 配置Server端的IP地址。
ip address ip-address
缺省情况下,接口未配置IP地址。
(1) 进入系统视图。
system-view
(2) 配置PPP地址池。
ip pool pool-name start-ip-address [ end-ip-address ] [ group group-name ]
缺省情况下,未配置PPP地址池。
(3) (可选)开启PPP地址池随机分配新地址的功能。
ip pool pool-name allocate-new-ip enable
缺省情况下,PPP地址池随机分配新地址的功能处于关闭状态。
(4) (可选)配置PPP地址池的网关地址。
ip pool pool-name gateway ip-address [ vpn-instance vpn-instance-name ]
缺省情况下,未为PPP地址池配置网关地址。
(5) (可选)配置PPP地址池路由。
ppp ip-pool route ip-address { mask-length | mask } [ vpn-instance vpn-instance-name ]
缺省情况下,未配置PPP地址池路由。
用户需要保证配置的PPP地址池路由网段覆盖PPP地址池网段范围。
(6) 进入ISP域视图。
domain name isp-name
(7) 在ISP域下关联PPP地址池为Client端分配IP地址。
authorization-attribute ip-pool pool-name
缺省情况下,ISP域下未关联PPP地址池。
本命令的详细介绍请参见“安全命令参考”中的“AAA”。
(8) 退回系统视图。
quit
(9) 进入接口视图。
interface interface-type interface-number
(10) 配置Server端的IP地址。
ip address ip-address
缺省情况下,接口未配置IP地址。
(1) 进入系统视图。
system-view
(2) 配置DHCP功能。
¡ 如果Server端同时作为DHCP服务器,则在Server端上配置DHCP服务器、DHCP地址池相关内容。
¡ 如果Server端作为DHCP中继,则在Server端上配置DHCP中继相关内容(必须配置DHCP中继用户地址表项记录功能、DHCP中继地址池),并在远端DHCP服务器上配置DHCP地址池。
DHCP服务器和DHCP中继的具体配置介绍请参见“三层技术-IP业务配置指导”中的“DHCP服务器”和“DHCP中继”。
(3) 进入ISP域视图。
domain name isp-name
(4) 在ISP域下关联DHCP地址池或DHCP中继地址池为Client端分配IP地址。
authorization-attribute ip-pool pool-name
缺省情况下,ISP域下未关联DHCP地址池或DHCP中继地址池。
本命令的详细介绍请参见“安全命令参考”中的“AAA”。
(5) 退回系统视图。
quit
(6) 进入接口视图。
interface interface-type interface-number
(7) (可选)配置PPP用户作为DHCP客户端时使用的DHCP客户端ID的生成方式。
remote address dhcp client-identifier { { callingnum | username } [ session-info ] | session-info }
缺省情况下,未配置PPP用户作为DHCP客户端时使用的DHCP客户端ID的生成方式。
当使用PPP用户名生成DHCP客户端ID时,请确保各个上线用户分别使用不同的PPP用户名上线。
(8) 配置Server端的IP地址。
ip address ip-address
缺省情况下,接口未配置IP地址。
(1) 进入接口视图。
interface interface-type interface-number
(2) 配置接口自动生成链路本地地址。
ipv6 address auto link-local
(3) 配置RA消息中的前缀信息。
ipv6 nd ra prefix { ipv6-prefix prefix-length | ipv6-prefix/prefix-length } [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ]
RA报文中携带的IPv6地址前缀的来源有四种:AAA授权的IPv6前缀、AAA授权的ND前缀池中的前缀、本命令配置的RA前缀、接口下配置的IPv6全球单播地址的前缀。四种来源的优先级依次降低,AAA授权的IPv6前缀优先级最高。
(4) 关闭对RA消息发布的抑制。
undo ipv6 nd ra halt
(5) 配置其他信息配置标志位为1,即主机通过有状态自动配置(例如DHCPv6服务器)获取除IPv6地址外的其他信息。
ipv6 nd autoconfig other-flag
(6) 开启DHCPv6 Server功能。
ipv6 dhcp select server
(7) 退回至系统视图
quit
(8) (可选)配置PPP IPv6地址网段路由。
ppp ipv6 route prefix/prefix-length [ vpn-instance vpn-instance-name ]
缺省情况下,未配置PPP IPv6地址网段路由。
(9) 创建ISP域并进入其视图。
domain name isp-name
(10) 配置当前ISP域下的为用户授权IPv6前缀。
authorization-attribute ipv6-prefix ipv6-prefix prefix-length
(1) 进入接口视图。
interface interface-type interface-number
(2) 配置接口自动生成链路本地地址。
ipv6 address auto link-local
(3) 配置RA消息中的前缀信息。
ipv6 nd ra prefix { ipv6-prefix prefix-length | ipv6-prefix/prefix-length } [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ]
RA报文中携带的IPv6地址前缀的来源有四种:AAA授权的IPv6前缀、AAA授权的ND前缀池中的前缀、本命令配置的RA前缀、接口下配置的IPv6全球单播地址的前缀。四种来源的优先级依次降低,AAA授权的IPv6前缀优先级最高。
(4) 关闭对RA消息发布的抑制。
undo ipv6 nd ra halt
(5) 配置被管理地址的配置标志位为1,即主机通过有状态自动配置(例如DHCPv6服务器)获取IPv6地址。
ipv6 nd autoconfig managed-address-flag
(6) 配置其他信息配置标志位为1,即主机通过有状态自动配置(例如DHCPv6服务器)获取除IPv6地址外的其他信息。。
ipv6 nd autoconfig other-flag
(7) 开启DHCPv6 Server功能。
ipv6 dhcp select server
(8) 退回至系统视图。
quit
(9) 配置DHCPv6地址池并在用户认证ISP下授权该DHCPv6地址池。
具体配置请分别参见“三层技术-IP业务配置指导”中的“DHCPv6”和“安全配置指导”中的“AAA”。
(1) 进入接口视图。
interface interface-type interface-number
(2) 配置接口自动生成链路本地地址。
ipv6 address auto link-local
(3) 关闭对RA消息发布的抑制。
undo ipv6 nd ra halt
(4) 开启DHCPv6 Server功能。
ipv6 dhcp select server
(5) 退回至系统视图
quit
(6) 配置DHCPv6前缀地址池并指定包含的前缀和分配的前缀长度。
ipv6 dhcp prefix-pool prefix-pool-number prefix prefix/prefix-len assign-len assign-len
(7) 创建并进入DHCPv6地址池。
ipv6 dhcp pool pool-name
(8) 地址池引用前缀池,以便从前缀池中动态选择前缀分配给客户端。
prefix-pool prefix-pool-number [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ]
(9) 退回至系统视图
quit
(10) 创建ISP域并进入其视图。
domain name isp-name
(11) 配置当前ISP域下的用户授权属性。
authorization-attribute ipv6-pool pool-name
开启接口的IP网段检查功能后,当IPCP协商时,本地会检查对端的IP地址与本端接口的IP地址是否在同一网段,如果不在同一网段,则IPCP协商失败。
如果接口的IP网段检查功能处于关闭状态,则在IPCP协商阶段不进行接口IP网段检查。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启接口的IP网段检查功能。
ppp ipcp remote-address match
缺省情况下,接口的IP网段检查功能处于关闭状态。
一般情况下,Client端配置了ppp ipcp dns request命令后,Server端才会为本端指定DNS服务器地址。有一些特殊的设备,Client端并未请求,Server端却要强制为Client端指定DNS服务器地址,从而导致协商不通过,为了适应这种情况,Client端可以配置ppp ipcp dns admit-any命令以便可以被动地接收对端指定的DNS服务器地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置设备主动请求对端指定DNS服务器地址。
ppp ipcp dns request
缺省情况下,禁止设备主动向对端请求DNS服务器地址。
(4) 配置设备可以被动地接收对端指定的DNS服务器地址,即设备不发送DNS请求,也能接收对端设备分配的DNS服务器地址。
ppp ipcp dns admit-any
缺省情况下,设备不会被动地接收对端设备指定的DNS服务器的IP地址。
在配置了ppp ipcp dns request命令的情况下,可以不配置本命令。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置设备为对端设备指定DNS服务器地址。
ppp ipcp dns primary-dns-address [ secondary-dns-address ]
缺省情况下,设备不为对端设备指定DNS服务器的IP地址。
配置本命令后,Server端不会主动给Client端指定DNS的地址,只有收到Client端的请求后,Server端才会为对端指定DNS服务器地址。
PPP链路质量监测功能可以实时对PPP链路(包括绑定在MP中的PPP链路)的通信质量(丢包率和错包率)进行监测。
在未配置PPP链路质量监测功能之前,PPP接口(封装PPP协议的接口)会每隔一段时间向对端发送keepalive报文;在配置此功能之后,PPP接口会用LQR(Link Quality Reports,链路质量报告)报文代替keepalive报文,即每隔一段时间向对端发送LQR报文,用以对链路情况进行监测。
当链路质量正常时,系统对每个LQR报文进行链路质量计算,如果连续两次链路质量低于用户设置的禁用链路质量百分比,链路会被禁用。当链路被禁用后,系统每隔十个LQR报文进行一次链路质量计算,只有连续三次链路质量高于用户设置的恢复链路质量百分比,链路才会被恢复。因此,当链路被禁用后,至少要在30个keepalive周期后才能恢复。如果keepalive周期设置过大,可能会导致链路长时间无法恢复。
当在PPP链路两端同时开启链路质量监测功能时,两端设备的参数必须相等。不建议在链路两端同时开启链路质量监测功能。
不建议在拨号线路上开启PPP链路质量监测功能。当在拨号线路上开启链路质量监测功能后,由于拨号线路的特点,一旦链路被禁用,DDR模块就会把拨号线路挂断,因此链路质量监测就不能正常的运行。只有当有数据需要传输时,DDR模块把拨号线路重新呼起,链路质量监测功能才能恢复正常。
本特性配置后仅对新接入的用户生效,对当前已经存在用户无影响。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启PPP链路质量监测功能。
ppp lqm close-percentage close-percentage [ resume-percentage resume-percentage ]
缺省情况下,PPP链路质量监测功能处于关闭状态。
在PPP链路建立过程中的LCP协商阶段会进行Magic-Number(魔术字)的协商,协商完成后本端和对端均会在本地存储彼此的魔术字。
本端发送Echo-Request报文的时候会携带自己的魔术字,在链路两端都开启本功能的情况下,对端收到Echo-Request报文后会取出报文中的魔术字与本地存储的对端魔术字进行对比,如果二者相同,则认为链路处于正常状态,并回应携带自己魔术字的Echo-Reply报文。本端收到Echo-Reply报文后同样取出报文中的魔术字进行检查。在链路的任何一端,如果连续收到的5个Echo-Request报文或5个Echo-Reply报文中的魔术字都检查失败,则断开链路,并重新进行LCP协商。
只有开启本功能的一端才会对收到的Echo-Request和Echo-Reply报文中的魔术字进行检查。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启PPP协议的魔术字检查功能。
ppp magic-number-check
缺省情况下,PPP协议的魔术字检查功能处于关闭状态。
开启PPP用户静默功能后,当某PPP用户在检测周期内连续认证失败达次数达到允许的最大值时,将被静默一段时间,在静默周期内设备直接丢弃来自此PPP用户的报文,以降低非法用户使用穷举法试探合法用户密码的成功率,同时避免设备持续向认证服务器转发该PPP用户的认证报文而对设备性能造成影响。静默期后,如果设备再次收到该PPP用户的报文,则依然可以对其进行认证处理。
对于用户名相同但属于不同认证域的PPP用户,设备将会对其分别进行认证失败统计,并分别进行静默。
(1) 进入系统视图。
system-view
(2) 开启PPP用户静默功能。
ppp authentication chasten auth-failure auth-period blocking-period
缺省情况下,PPP用户静默功能处于关闭状态。
本特性用来配置RADIUS认证计费时所携带的nas-port-type属性。关于nas-port-type属性的详细介绍请参见RFC 2865。
本特性配置后仅对新接入的用户生效,对当前已经存在用户无影响。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 配置接口的nas-port-type属性。
nas-port-type { 802.11 | adsl-cap | adsl-dmt | async | cable | ethernet | g.3-fax | hdlc | idsl | isdn-async-v110 | isdn-async-v120 | isdn-sync | piafs | sdsl | sync | virtual | wireless-other | x.25 | x.75 | xdsl }
缺省情况下,nas-port-type属性由PPP用户的业务类型和承载链路类型决定:
¡ 如果是PPPoE业务,nas-port-type属性为ethernet。
¡ 如果是PPPoA业务,nas-port-type属性为xdsl。
¡ 如果是L2TP业务,nas-port-type属性为virtual。
缺省情况下,PPP链路协商成功后自动将对端主机路由加到本端直连路由表中。因PPP链路不严格限制对端路由和本端路由在同一网段,有时为避免因一端配置了错误的IP地址,导致另一端将该错误的对端主机路由加到本端直连路由表中,并在网络中进行错误的路由发布,可通过配置本命令抑制PPP对端主机路由添加到本端直连路由表。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 配置抑制PPP对端主机路由添加到本端直连路由表。
ppp peer hostroute-suppress
缺省情况下,抑制PPP对端主机路由添加到本端直连路由表的功能处于关闭状态。
每用户每前缀,是指每个PPPoE或L2TP用户单独使用一个IPv6地址前缀。开启下发ND前缀网段路由功能后,当PPPoE用户或L2TP用户上线后,设备会根据每个上线用户获取到的IPv6地址前缀信息分别在路由表中生成一条静态路由。
目前仅NDRA方式中采用ND前缀池给用户分配前缀时才支持每用户每前缀。需要注意的是,通过ipv6 dhcp prefix-pool命令创建前缀池时,其指定分配的前缀长度必须等于64位,否则将导致上线用户无法获取前缀信息。
本功能仅在每用户每前缀组网应用中的PPPoE Server和L2TP的LNS侧配置后才生效。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 开启下发ND前缀网段路由功能。
ppp nd-prefix-route enable
缺省情况下,下发ND前缀网段路由功能处于关闭状态。
通过本配置,管理员可根据实际需要调整设备更新PPP在线用户流量统计信息的频率。设备目前支持如下三种频率模式:
· fast模式:当对PPP用户的流量的统计信息的精确度要求较高时,可配置本模式。
· normal模式:当对PPP用户的流量的统计信息的精确度要求一般时,可配置本模式。
· slow模式:当对PPP用户的流量的统计信息的精确度要求较低时,可配置本模式。
(1) 进入系统视图。
system-view
(2) 配置PPP在线用户流量统计的频率模式。
ppp flow-statistics frequency { fast | normal | slow }
缺省情况下,PPP在线用户流量统计的频率模式为normal模式。
PPP协议可以为每条PPP链路提供基于流量的计费统计功能,具体统计内容包括出入两个方向上流经本链路的报文数和字节数。AAA可以获取这些流量统计信息用于计费控制。关于AAA计费的详细介绍请参见“安全配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启PPP计费统计功能。
ppp account-statistics enable [ acl { acl-number | name acl-name } ]
缺省情况下,PPP计费统计功能处于关闭状态。
PPP接入用户日志是为了满足网络管理员维护的需要,对用户的上线、下线、上线失败的信息进行记录,包括用户名、IP地址、接口名称、两层VLAN、MAC地址、上线失败原因、下线原因等。设备生成的PPP日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
为了防止设备输出过多的PPP日志信息,一般情况下建议不要开启此功能。
(1) 进入系统视图。
system-view
(2) 开启PPP接入用户日志信息功能。
ppp access-user log enable [ successful-login | failed-login | normal-logout | abnormal-logout ] *
缺省情况下,PPP接入用户日志信息功能处于关闭状态。
业务跟踪对象功能是为了满足网络管理员维护的需要,管理员通过创建业务追踪对象可以追踪接入用户的上下线相关信息,并且通过指定不同的匹配参数,可以实现对特定用户的追踪。
开启本功能会时占用大量系统资源,建议仅在故障诊断时使用,一般情况下不要使用。
主备倒换后业务跟踪对象配置会自动失效,需要重新配置。
(1) 进入系统视图。
system-view
(2) 配置业务跟踪对象功能。
trace access-user object object-id { access-mode { lns | pppoe } | calling-station-id calling-station-id | c-vlan vlan-id | interface interface-type interface-number | ip-address ip-address | mac-address mac-address | s-vlan vlan-id | tunnel-id tunnel-id | username user-name } * [ aging time | output { file file-name | syslog-server server-ip-address | vty } ] *
如果指定interface参数,当接入接口所在slot重启后,业务跟踪对象配置会自动失效,需要重新配置。
在完成上述配置后,在任意视图下执行display命令可以显示PPP配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除相应接口的统计信息。
表1-1 PPP和MP显示和维护
操作 |
命令 |
显示BAS接口的绑定信息 |
display bas-interface |
显示PPP接入用户的信息 |
display ppp access-user { ip-address ipv4-address [ vpn-instance ipv4-vpn-instance-name ] | ipv6-address ipv6-address [ vpn-instance ipv6-vpn-instance-name ] | mac-address mac-address [ interface interface-type interface-number [ s-vlan svlan-minimum [ svlan-maximum ] [ c-vlan cvlan-minimum [ cvlan-maximum ] ] ] ] | lac-ip lac-ip-address | lns-ip lns-ip-address | { domain domain-name | dp-ip dp-ip-address | interface interface-type interface-number | ip-type { ipv4 | ipv6 | dual-stack } | pool pool-name | pool-group pool-group-name | s-vlan svlan-minimum [ svlan-maximum ] [ c-vlan cvlan-minimum [ cvlan-maximum ] ] | service-type { hsi | stb | voip } | user-address-type { ds-lite | ipv6 | nat64 | private-ds | private-ipv4 | public-ds | public-ipv4 } | user-type { lac | lns | pppoa | pppoe } | username user-name | vpn-instance vpn-instance-name | vxlan vxlan-minimum [ vxlan-maximum ] } * } [ count | minimal | verbose ] [ slot slot-number ] |
显示PPP用户静默功能检测到的用户信息 |
display ppp chasten user { auth-failed | blocked } [ username user-name ] |
显示PPP用户静默功能检测到的用户统计信息 |
display ppp chasten statistics |
显示PPP地址池的信息 |
display ip pool [ pool-name | group group-name ] |
显示PPP用户下线原因的统计信息 |
display ppp offline-reason statistics [ slot slot-number ] |
显示PPP的协商报文统计信息 |
display ppp packet statistics [ slot slot-number ] |
显示业务跟踪对象的配置信息 |
display trace access-user [ object object-id ] |
强制PPP用户下线 |
reset ppp access-user { ip-address ipv4-address [ vpn-instance ipv4-vpn-instance-name ] | ipv6-address ipv6-address [ vpn-instance ipv6-vpn-instance-name ] | mac-address mac-address [ interface interface-type interface-number [ s-vlan svlan-minimum [ svlan-maximum ] [ c-vlan cvlan-minimum [ cvlan-maximum ] ] ] ] | { domain domain-name | interface interface-type interface-number | ip-type { ipv4 | ipv6 | dual-stack } | pool pool-name | pool-group pool-group-name | s-vlan svlan-minimum [ svlan-maximum ] [ c-vlan cvlan-minimum [ cvlan-maximum ] ] | service-type { hsi | stb | voip } | user-address-type { ds-lite | ipv6 | nat64 | private-ds | private-ipv4 | public-ds | public-ipv4 } | user-type { lac | lns | pppoa | pppoe } | username user-name | vpn-instance vpn-instance-name | vxlan vxlan-minimum [ vxlan-maximum ] } * } [ slot slot-number ] |
解除静默用户的静默状态 |
reset ppp chasten blocked-user [ username user-name ] |
清除PPP用户下线原因的统计信息 |
reset ppp offline-reason statistics [ slot slot-number ] |
清除PPP的协商报文统计信息 |
reset ppp packet statistics [ slot slot-number ] |
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两种组网结构。
如图2-1所示,Router-Initiated组网结构是在两台路由器之间建立PPPoE会话,所有主机通过同一个PPPoE会话传送数据,主机上不用安装PPPoE客户端拨号软件,一般是一个企业共用一个账号接入网络(图中PPPoE Client位于企业/公司内部,PPPoE Server是运营商的设备)。
如图2-2所示,Host-Initiated组网结构是将PPPoE会话建立在Host和运营商的路由器之间,为每一个Host建立一个PPPoE会话,每个Host都是PPPoE Client,每个Host使用一个帐号,方便运营商对用户进行计费和控制。Host上必须安装PPPoE客户端拨号软件。
图2-2 Host-Initiated组网结构图
与PPPoE相关的协议规范有:
· RFC 2516:A Method for Transmitting PPP Over Ethernet (PPPoE)
PPPoE Server目前支持以下接口类型:
· 三层以太网接口
· 三层以太网子接口
· 三层聚合接口
· 三层聚合子接口
· 以太网冗余接口
在PPPoE应用中,广告推送功能仅对使用80和8080端口号的HTTP报文生效。
为解决传统BRAS中存在的转发平面和控制层面能力不匹配、无法共享资源以及新业务部署不及时等问题,引入了虚拟化BRAS理念。虚拟化BRAS的思想是分离控制平面和数据平面,即:
· 把用户识别与发起认证请求、身份认证、地址分配与管理和接入控制等控制平面业务单独提取出来由一台单独的设备CP(Control Plane,控制平面)(CP一般由vBRAS设备担任)来完成。
· 用户数据报文转发、流量控制等数据平面业务由另一台单独的设备DP(Data Plane,数据平面)来完成。
CP和DP之间通过建立OpenFlow和VXLAN两条传输通道实现表项下发和协议报文的控制。其中,OpenFlow作为CP和DP之间的表项下发通道,VXLAN隧道作为CP和DP之间的协议报文通道。
PPPoE Server有三种工作模式:普通模式、控制模式和转发模式。其中控制模式和转发模式又统称为转发控制分离模式。
· 普通模式:PPPoE Server工作在本模式时,PPPoE Server模块的控制及数据转发业务均由本BRAS设备完成。
· 控制模式:本模式下,设备仅完成控制业务。工作在本模式的设备称作CP。
· 转发模式:本模式下,设备仅完成数据转发业务。工作在本模式的设备称作DP。
本产品目前不支持配置为控制模式。
除特殊说明外,本文中的PPPoE Server均指工作在普通模式的情况。
当PPPoE Server工作在转发控制分离模式时,DP将接收到的认证报文通过VXLAN隧道上送给CP进行认证授权,认证通过之后CP上创建PPPoE会话并将PPPoE会话及授权信息等通过OpenFlow通道发送给DP,具体流程如图2-3所示。
图2-3 会话表项控制模式下PPPoE用户接入流程图
(1) 用户主机向DP发送PPPoE discovery(发现阶段所有报文统称)报文。
(2) DP通过VXLAN隧道将报文上送CP处理。
(3) CP创建PPPoE会话,进行PPP协商,CP向AAA服务器发送认证请求,认证请求消息中包含用户名和密码等信息。
(4) AAA服务器返回认证结果,若用户认证通过,则发送认证接受报文,并携带授权信息;否则发送认证拒绝报文,CP获取用户认证和授权结果,若用户认证失败,用户下线,认证成功,则继续进行NCP协商。
(5) NCP协商成功后,CP将PPPoE会话通过OpenFlow通道发送给DP。
(6) CP向AAA服务器发送计费开始报文,开始对该用户计费。
(7) DP定时收集用户流量,并通过OpenFlow通道上送CP。
(8) CP将流量上送给AAA服务器进行计费处理。
PPPoE Server配置任务如下:
(1) 配置PPPoE会话
(2) (可选)配置允许创建PPPoE会话的最大数目
(3) (可选)配置PPPoE日志功能
(4) (可选)配置限制用户创建PPPoE会话的速度
(5) (可选)配置PPPoE会话的NAS-PORT-ID属性相关参数
(6) (可选)配置PPPoE与NAT444联动失败用户继续上线功能
(7) (可选)配置设备支持处理非广播PADI报文
(8) (可选)配置PPPoE用户静默功能
(9) (可选)配置禁止PPPoE用户上线功能
路由器设备作为DP配置任务如下:
(2) 配置VXLAN隧道
具体配置请参见“VXLAN配置指导”中的“VXLAN”。
必须通过mac-address命令为DP和CP上的VSI虚接口配置相同的MAC地址。
(3) 配置OpenFlow实例
具体配置请参见“OpenFlow配置指导”中的“OpenFlow”。
在PPPoE Server转发控制分离模式组网环境中,需要通过本节配置指定设备工作在DP模式。
(1) 进入系统视图。
system-view
(2) 配置PPPoE Server工作在转发模式。
pppoe-server work-mode data-plane
缺省情况下,PPPoE Server工作在普通模式。
(1) 进入系统视图。
system-view
(2) 创建虚拟模板接口并进入指定的虚拟模板接口视图。
interface virtual-template number
(3) 退回系统视图。
quit
(4) 进入VSI虚接口视图。
interface vsi-interface vsi-interface-id
本命令的详细请参见“VXLAN命令参考”中的“VXLAN”。
(5) 在VSI虚接口上启用PPPoE Server协议,将该接口与指定的虚拟模板接口绑定。
pppoe-server bind virtual-template number
缺省情况下,VSI虚接口上的PPPoE Server协议处于关闭状态。
(1) 进入系统视图。
system-view
(2) 创建虚拟模板接口并进入指定的虚拟模板接口视图。
interface virtual-template number
(3) 配置PPP的工作参数
具体工作参数的配置请参见“二层技术–广域网接入配置指导”中的“PPP”。
当配置PPP认证时,需要配置PPPoE Server作为认证方。
(4) 退回系统视图。
quit
(5) 进入接口视图。
interface interface-type interface-number
(6) 在接口上启用PPPoE Server协议,将该接口与指定的虚拟模板接口绑定。
pppoe-server bind virtual-template number
缺省情况下,接口上的PPPoE Server协议处于关闭状态。
(7) (可选)配置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暂不支持该功能)。
(8) (可选)配置对PPP最大负载TAG的支持,并指定最大负载的范围。
pppoe-server tag ppp-max-payload [ minimum min-number maximum max-number ]
缺省情况下,不支持PPP最大负载TAG。
(9) (可选)配置PPPoE Server的Service Name。
pppoe-server tag service-name name
缺省情况下,PPPoE Server的Service Name为空。
(10) (可选)配置用户接入响应延迟时间。
pppoe-server access-delay delay-time [ even-mac | odd-mac ]
缺省情况下,对用户接入响应不延迟。
(11) 退回系统视图。
quit
(12) 配置PPPoE Server对PPP用户进行认证、授权、计费。
相关内容请参见“安全配置指导”中的“AAA”。
系统创建PPPoE会话时,需同时满足如下限制,若其中任何一项不满足,则无法创建会话:
· 接口上每个用户所能创建PPPoE会话的最大数目限制
· 接口上每个VLAN所能创建PPPoE会话的最大数目限制
· 接口上所能创建PPPoE会话的最大数目限制
· 成员设备所能创建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
缺省情况下,每个用户可创建1个PPPoE会话。
(1) 进入系统视图。
system-view
(2) 配置允许创建PPPoE会话的最大数目。
pppoe-server session-limit slot slot-number total number
缺省情况下,不限制允许创建的PPPoE会话数目。
PPPoE日志是为了满足网络管理员维护的需要,对PPPoE达到会话限制的信息进行记录,包括接口会话限制、MAC会话限制、VLAN会话限制、系统会话限制。
开启PPPoE日志功能后,当PPPoE会话数目达到每个接口、每个用户、每个VLAN或整个系统允许的最大会话数目时,如果再有新的用户请求上线,设备将生成日志信息。设备生成的PPPoE日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
为了防止设备输出过多的PPPoE日志信息,一般情况下建议不要开启此功能。
(1) 进入系统视图。
system-view
(2) 开启PPPoE日志功能。
pppoe-server log enable
缺省情况下,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)把用户的物理位置信息传送给BRAS设备(PPPoE Server功能部署在BRAS设备上),接入线路ID的内容包括circuit-id和remote-id两部分。BRAS设备采用一定的规则解析接入线路ID后,把解析后的内容通过RADIUS的NAS-PORT-ID属性发送给RADIUS服务器,RADIUS服务器通过收到的NAS-PORT-ID属性和数据库中已配置好的物理位置信息比较,验证用户的物理位置信息是否正确。
用户可以通过下面的配置控制BRAS设备上传给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 | cn-163-redback ]
缺省情况下,在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与NAT444联动失败时,允许用户继续上线。例如:当支持NAT444联动功能的设备故障导致联动失败时,如需允许用户继续上线,则可配置本功能。有关NAT444的相关介绍,请参见“三层技术-IP业务配置指导”中的“NAT”。
(1) 进入系统视图。
system-view
(2) 创建虚拟模板接口并进入指定的虚拟模板接口视图。
interface virtual-template number
(3) 开启PPPoE与NAT444联动失败时,允许用户继续上线功能。请至少选择其中一项进行配置。
¡ 开启IPv4 PPPoE与NAT444联动失败时,允许用户继续上线功能。
ppp ip nat-fail online
缺省情况下,IPv4 PPPoE与NAT444联动失败时,允许用户继续上线功能处于关闭状态。
¡ 开启IPv6 PPPoE与NAT444联动失败时,允许用户继续上线功能。
ppp ipv6 nat-fail online
缺省情况下,IPv6 PPPoE与NAT444联动失败时,允许用户继续上线功能处于关闭状态。
在正常的PPPoE链路建立过程中,PPPoE Client通过广播发送PADI报文寻找可为其提供接入服务的PPPoE Server。缺省情况下,设备接收到非广播的PADI报文直接丢弃,从而提高设备处理广播PADI报文的效率,避免CPU资源的浪费。
某些情况下,可能需要允许发送非广播PADI报文的PPPoE Client上线,此时可通过执行本命令配置设备支持处理非广播的PADI报文。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口为启用PPPoE Server协议的接口。
(3) 配置设备支持处理非广播PADI报文。
pppoe-server non-broadcast-padi enable
缺省情况下,设备不支持处理非广播的PADI报文。
在PPPoE链路建立过程的Discovery阶段,PPPoE Client会通过发送PADI/PADR报文寻找可为其提供接入服务的PPPoE Server,并可在PPPoE会话建立起来后的任意时间发送PADT报文终止PPPPoE会话。
为防止大量用户频繁上下线或非法用户通过协议报文发起攻击占用设备大量系统资源,可配置PPPoE用户静默功能。配置本功能后,当某PPPoE用户在检测周期内的上下线次数或请求连接次数达到指定次数时,将被静默一段时间,在静默周期内设备直接丢弃来自此PPPoE用户的报文。静默期后,如果设备再次收到该PPPoE用户的报文,则依然可以对其进行认证处理。
设备目前支持基于MAC地址和基于Option 105两种方式的PPPoE用户静默功能。
您既可在系统视图下配置本命令也可在接口视图下配置本命令,前者对所有PPPoE用户生效,后者只对通过该接口接入的PPPoE用户生效。如果在两个视图下都配置本命令,则先达到静默条件的命令生效。
开启基于MAC地址的PPPoE静默功能后,设备将根据用户MAC地址、最外层VLAN ID和用户接入接口所在slot三个字段信息唯一标识一个静默用户。
开启基于Option 105地址的PPPoE静默功能后,设备将根据用户Circuit ID、Remote ID和用户接入接口所在slot三个字段信息唯一标识一个静默用户。
(1) 进入系统视图。
system-view
(2) 开启基于MAC地址的PPPoE静默功能。
pppoe-server connection chasten [ quickoffline ] [ multi-sessions-permac ] requests request-period blocking-period
缺省情况下,基于MAC地址的PPPoE静默功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口为启用PPPoE Server协议的接口。
(3) 开启基于MAC地址的PPPoE静默功能。
pppoe-server connection chasten [ quickoffline ] [ multi-sessions-permac ] requests request-period blocking-period
缺省情况下,基于MAC地址的PPPoE静默功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 开启基于Option 105的PPPoE静默功能。
pppoe-server connection chasten option105 [ quickoffline ] requests request-period blocking-period
缺省情况下,基于Option 105的PPPoE静默功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
该接口为启用PPPoE Server协议的接口。
(3) 开启基于Option 105的PPPoE静默功能。
pppoe-server connection chasten option105 [ quickoffline ] requests request-period blocking-period
缺省情况下,基于Option 105的PPPoE静默功能处于关闭状态。
配置本功能后,当接口收到PADI和PADR报文后将直接丢弃,以阻止新的PPPoE用户从该接口上线。
本功能配置后仅对新接入的PPPoE用户生效,对当前已经存在用户无影响。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置禁止接口上的PPPoE用户上线。
pppoe-server block
缺省情况下,允许接口上的PPPoE用户上线。
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值。
(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 }
在完成上述配置后,在任意视图下执行display命令可以显示PPPoE Server配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令,可在PPPoE Server端清除PPPoE会话。
表2-1 PPPoE Server显示和维护
操作 |
命令 |
显示静默功能检测到的PPPoE用户统计信息 |
display pppoe-server chasten statistics [ mac-address | option105 ] [ interface interface-type interface-number | slot slot-number ] |
显示当前被静默的PPPoE用户信息 |
display pppoe-server chasten user [ mac-address [ mac-address ] | option105 [ circuit-id circuit-id ] [ remote-id remote-id ] ] [ interface interface-type interface-number | slot slot-number ] |
显示PPPoE的协商报文统计信息 |
display pppoe-server packet statistics [ slot slot-number ] |
显示PPPoE会话的数据报文统计信息 |
display pppoe-server session packet { slot slot-number | interface interface-type interface-number } |
显示PPPoE会话的摘要信息 |
display pppoe-server session summary [ [ interface interface-type interface-number | slot slot-number ] | mac-address mac-address ] * |
显示被扼制的用户信息 |
display pppoe-server throttled-mac { slot slot-number | interface interface-type interface-number } |
清除PPPoE会话 |
reset pppoe-server { all | [ interface interface-type interface-number | mac-address mac-address ] * | virtual-template number } |
清除PPPoE的协商报文统计信息 |
reset pppoe-server packet statistics [ slot slot-number ] |
在完成上述配置后,在任意视图下执行display命令可以显示PPPoE Client配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除PPPoE会话的协议报文统计信息。
表2-2 PPPoE Client显示和维护
操作 |
命令 |
显示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地址。
图2-4 PPPoE Server通过PPP地址池为用户分配IPv4地址配置组网图
# 创建一个PPPoE用户。
<Router> system-view
[Router] local-user user1 class network
[Router-luser-network-user1] password simple pass1
[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
# 在接口GigabitEthernet1/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[Router-GigabitEthernet1/0/1] quit
# 在系统缺省的ISP域system下,配置域用户使用本地认证方案。
[Router] domain name system
[Router-isp-system] authentication ppp local
[Router-isp-system] quit
以太网上各主机安装PPPoE客户端软件后,配置好用户名和密码(此处为user1和pass1)就能使用PPPoE协议,通过设备Router接入到Internet。
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过DHCPv4协议为Host分配IP地址。
图2-5 配置PPPoE Server通过本地DHCP服务器为用户分配IPv4地址组网图
# 配置虚拟模板接口1的参数,采用PAP认证对端,使用DHCP地址池pool1为用户分配IP地址及DNS服务器地址。
<Router> system-view
[Router] interface virtual-template 10
[Router-Virtual-Template1] ppp authentication-mode pap domain system
[Router-Virtual-Template1] remote address pool pool1
[Router-Virtual-Template1] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口1绑定。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[Router-GigabitEthernet1/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 pass1
[Router-luser-network-user1] service-type ppp
[Router-luser-network-user1] quit
# 在系统缺省的ISP域system下,配置域用户使用本地认证方案。
[Router] domain name system
[Router-isp-system] authentication ppp local
[Router-isp-system] quit
配置完成后,当Host使用用户名user1、密码pass1,通过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地址。
图2-6 PPPoE Server通过远端DHCP服务器为用户分配IPv4地址组网图
(1) 配置Router A(PPPoE Server)
# 配置虚拟模板接口1的参数,采用PAP认证对端,使用DHCP地址池pool1为用户分配IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ppp authentication-mode pap domain system
[RouterA-Virtual-Template1] remote address pool pool1
[RouterA-Virtual-Template1] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/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服务器连接的GigabitEthernet1/0/2接口的IP地址。
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ip address 10.1.1.2 24
[RouterA-GigabitEthernet1/0/2] quit
# 配置PPPoE用户。
[RouterA] local-user user1 class network
[RouterA-luser-network-user1] password simple pass1
[RouterA-luser-network-user1] service-type ppp
[RouterA-luser-network-user1] quit
# 在系统缺省的ISP域system下,配置域用户使用本地认证方案。
[RouterA] domain name system
[RouterA-isp-system] authentication ppp local
[RouterA-isp-system] 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连接的GigabitEthernet1/0/1接口的IP地址。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] ip address 10.1.1.1 24
[RouterB-GigabitEthernet1/0/1] quit
# 配置到PPPoE Server的静态路由。
[RouterB] ip route-static 2.2.2.0 24 10.1.1.2
配置完成后,当Host使用用户名user1、密码pass1,通过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 BAS0 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 Nov 14 20:14:26 2017 Auto(C)
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过ND协议为Host分配IPv6地址。
在该场景下,Host通过ND协议中的RA报文获得IPv6地址前缀,通过IPv6CP协商获取IPv6接口标识,二者组合生成IPv6全球单播地址。其中,RA报文中的IPv6地址前缀来源于授权前缀。
图2-7 配置PPPoE Server通过NDRA方式为用户分配IPv6地址组网图
# 配置虚拟模板接口1的参数,采用PAP认证对端,配置本端自动生成IPv6链路本地地址,关闭对RA消息发布的抑制,配置主机通过DHCPv6协议获取DNS服务器地址。
<Router> system-view
[Router] interface virtual-template 1
[Router-Virtual-Template1] ppp authentication-mode pap domain system
[Router-Virtual-Template1] ipv6 address auto link-local
[Router-Virtual-Template1] undo ipv6 nd ra halt
[Router-Virtual-Template1] ipv6 nd autoconfig other-flag
# 开启DHCPv6 Server功能。
[Router-Virtual-Template1] ipv6 dhcp select server
[Router-Virtual-Template1] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口1绑定。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[Router-GigabitEthernet1/0/1] quit
# 创建名称为pool1的DHCPv6地址池,配置DNS服务器地址为2:2::3。
[Router] ipv6 dhcp pool pool1
[Router-dhcp6-pool-pool1] dns-server 2:2::3
[Router-dhcp6-pool-pool1] quit
# 配置PPPoE用户。
[Router] local-user user1 class network
[Router-luser-network-user1] password simple pass1
[Router-luser-network-user1] service-type ppp
[Router-luser-network-user1] quit
# 在ISP域下配置域用户使用本地认证方案,为用户授权IPv6前缀属性及地址池信息(为用户分配DNS地址)。
[Router] domain name system
[Router-isp-system] authentication ppp local
[Router-isp-system] authorization-attribute ipv6-prefix 2003:: 64
[Router-isp-system] authorization-attribute ipv6-pool pool1
[Router-isp-system] quit
配置完成后,当Host使用用户名user1、密码pass1,通过PPPoE接入Router后,通过授权的IPv6前缀和IPv6CP协商获取的IPv6接口标识就自动生成一个IPv6全球单播地址。
[Router] display ppp access-user interface gigabitethernet 1/0/1
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
BAS0 user1 0000-5e08-9d00 - 2003::9CBC:3898:0:605 -
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过ND协议为Host分配IPv6地址。
在该场景下,Host通过ND协议中的RA报文获得IPv6地址前缀,通过IPv6CP协商获取IPv6接口标识,二者组合生成IPv6全球单播地址。其中,RA报文中的IPv6地址前缀来源于ND前缀池。
图2-8 配置PPPoE Server通过NDRA方式为用户分配IPv6地址组网图
# 配置虚拟模板接口1的参数,采用PAP认证对端,配置本端自动生成IPv6链路本地地址,关闭对RA消息发布的抑制。
<Router> system-view
[Router] interface virtual-template 1
[Router-Virtual-Template1] ppp authentication-mode pap domain system
[Router-Virtual-Template1] ipv6 address auto link-local
[Router-Virtual-Template1] undo ipv6 nd ra halt
# 开启DHCPv6 Server功能。
[Router-Virtual-Template1] ipv6 dhcp select server
# 开启下发ND前缀网段路由功能。
[Router-Virtual-Template1] ppp nd-prefix-route enable
[Router-Virtual-Template1] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口1绑定。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[Router-GigabitEthernet1/0/1] quit
# # 配置前缀池1,包含的前缀为2003::/54,分配的前缀长度为64,即前缀池1包含2003::/64~2003:0:0:3FF::/64范围内的1024个前缀。
[Router] ipv6 dhcp prefix-pool 1 prefix 2003::/54 assign-len 64
# 创建名称为pool1的DHCPv6地址池,并引用前缀池1。
[Router] ipv6 dhcp pool pool1
[Router-dhcp6-pool-pool1] prefix-pool 1
[Router-dhcp6-pool-pool1] quit
# 配置PPPoE用户。
[Router] local-user user1 class network
[Router-luser-network-user1] password simple pass1
[Router-luser-network-user1] service-type ppp
[Router-luser-network-user1] quit
# 在ISP域下配置域用户使用本地认证方案,为用户授权ND前缀池及IPv6 DNS地址池信息。
[Router] domain name system
[Router-isp-system] authentication ppp local
[Router-isp-system] authorization-attribute ipv6-nd-prefix-pool pool1
[Router-isp-system] authorization-attribute primary-dns ipv6 2:2::3
[Router-isp-system] quit
配置完成后,当Host使用用户名user1、密码pass1,通过PPPoE接入Router后,通过授权的IPv6前缀和IPv6CP协商获取的IPv6接口标识就自动生成一个IPv6全球单播地址。
[Router] display ppp access-user interface gigabitethernet 1/0/1
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
BAS0 user1 0000-5e08-9d00 - 2003::9CBC:3898:0:605 -
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过DHCPv6协议为Host分配IPv6地址。
图2-9 配置PPPoE Server通过IA_NA方式为用户分配IPv6地址组网图
# 配置虚拟模板接口1的参数,采用PAP认证对端,配置本端自动生成IPv6链路本地地址,关闭对RA消息发布的抑制,配置主机通过DHCPv6协议获取IPv6地址和IPv6 DNS地址。
<Router> system-view
[Router] interface virtual-template 1
[Router-Virtual-Template1] ppp authentication-mode pap domain system
[Router-Virtual-Template1] ipv6 address auto link-local
[Router-Virtual-Template1] undo ipv6 nd ra halt
[Router-Virtual-Template1] ipv6 nd autoconfig managed-address-flag
[Router-Virtual-Template1] ipv6 nd autoconfig other-flag
# 开启DHCPv6 Server功能。
[Router-Virtual-Template1] ipv6 dhcp select server
[Router-Virtual-Template1] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口1绑定。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[Router-GigabitEthernet1/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 pass1
[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、密码pass1,通过PPPoE接入Router后,Router通过DHCPv6协议为Host分配一个IPv6全球单播地址。
[Router] display ppp access-user interface gigabitethernet 1/0/1
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
BAS0 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地址。
图2-10 配置PPPoE Server通过IA_PD方式为用户分配IPv6地址组网图
# 配置虚拟模板接口1的参数,采用PAP认证对端,配置本端自动生成IPv6链路本地地址,关闭对RA消息发布的抑制。
<RouterB> system-view
[RouterB] interface virtual-template 1
[RouterB-Virtual-Template1] ppp authentication-mode pap domain system
[RouterB-Virtual-Template1] ipv6 address auto link-local
[RouterB-Virtual-Template1] undo ipv6 nd ra halt
# 开启DHCPv6 Server功能。
[RouterB-Virtual-Template1] ipv6 dhcp select server
[RouterB-Virtual-Template1] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口1绑定。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[RouterB-GigabitEthernet1/0/1] quit
# 配置DHCPv6前缀池6,包含的前缀为4001::/32,分配的前缀长度为42。
[RouterB] ipv6 dhcp prefix-pool 6 prefix 4001::/32 assign-len 42
# 创建名称为pool1的DHCPv6地址池,在地址池下引用前缀池6。
[RouterB] ipv6 dhcp pool pool1
[RouterB-dhcp6-pool-pool1] prefix-pool 6
[Router-dhcp6-pool-pool1] quit
# 配置PPPoE用户。
[RouterB] local-user user1 class network
[RouterB-luser-network-user1] password simple pass1
[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、密码pass1,通过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 2013
Router A把分配到的代理前缀4001::1/42再分配给Host,Host用来生成IPv6全球单播地址。
· 采用RADIUS作为认证、授权和计费服务器。
· RADIUS服务器为PPPoE接入用户授权的PPP地址池和VPN实例分别为pool1、vpn1。
· vpn1中的用户在服务器授权的PPP地址池pool1中获取IP地址。
图2-11 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
}
以上信息表示:RADIUS客户端的IP地址为10.1.1.1,共享密钥为字符串radius。
# 配置合法用户信息。
在users文件中增加如下信息:
user1 Auth-Type == CHAP,User-Password := pass1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-Pool = "pool1",
H3C-VPN-Instance = "vpn1",
以上信息表示:用户名为user1,用户密码为字符串pass1,授权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
# 在接口GigabitEthernet1/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/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 name 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:
In-use IP address count: 1
IP address Interface
1.1.1.2 BAS0
· 主机作为PPPoE Client,运行PPPoE客户端拨号软件。
· BRAS设备需要支持PPPoE Server的转发控制分离,其中DP作为转发设备负责报文转发与流量控制等,CP作为控制设备负责用户识别与发起认证请求、身份认证、地址分配与管理和接入控制等。
图2-12 PPPoE Server转发控制分离组网图
(1) 配置IP地址和路由协议
请按照图2-12配置各接口的IP地址和子网掩码,在CP和DP上配置OSPF协议。(具体配置过程略)
(2) 配置DP
¡ 配置Router A工作模式
# 配置Router A工作在DP模式。
<RouterA> system-view
[RouterA] pppoe-server work-mode data-plane
¡ 配置VXLAN
# 开启L2VPN能力。
[RouterA] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 10
[RouterA-vsi-vpna-vxlan-10] quit
[RouterA-vsi-vpna] quit
# 在DP和CP之间建立VXLAN隧道:创建模式为VXLAN的隧道接口Tunnel1,指定隧道的源端地址为DP上接口GigabitEthernet1/0/2的地址11.1.1.1,指定隧道的目的端地址为CP上接口GigabitEthernet1/0/1的地址11.1.1.2。
[RouterA] interface tunnel 1 mode vxlan
[RouterA-Tunnel1] source 11.1.1.1
[RouterA-Tunnel1] destination 11.1.1.2
[RouterA-Tunnel1] quit
# 配置Tunnel1与VXLAN 10关联。
[RouterA] vsi vpna
[RouterA-vsi-vpna] vxlan 10
[RouterA-vsi-vpna-vxlan-10] tunnel 1
[RouterA-vsi-vpna-vxlan-10] quit
[RouterA-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,并指定该VSI虚接口为分布式本地网关接口。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] distributed-gateway local
# 为DP和CP的VSI虚接口配置相同的MAC地址(建议统一配置成CP或DP上VSI-interface1的MAC地址)。
[RouterA-Vsi-interface1] mac-address 7875-4a92-0400
[RouterA-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[RouterA] vsi vpna
[RouterA-vsi-vpna] gateway vsi-interface 1
[RouterA-vsi-vpna] quit
# 在接入用户的接口GigabitEthernet1/0/1上关联VSI实例vpna
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] xconnect vsi vpna
[RouterA-GigabitEthernet1/0/1] quit
¡ 配置OpenFlow
# 创建OpnFlow实例1并指定为全局实例。
[RouterA] openflow instance 1
[RouterA-of-inst-1] classification global
# 配置控制器CP的IP地址为11.1.1.2及缺省table miss动作,并激活实例。
[RouterA-of-inst-1] controller 1 address ip 11.1.1.2
[RouterA-of-inst-1] default table-miss permit
[RouterA-of-inst-1] active instance
[RouterA-of-inst-1] quit
¡ 配置PPPoE Server
# 创建虚拟模板接口1
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] quit
# 创建LoopBack接口1,并配置其IP地址为CP为用户分配地址的地址池网关地址。
[DP] interface loopback 1
[DP-LoopBack1] ip address 1.1.1.1 255.255.255.0
# 在接口VSI-interface1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] pppoe-server bind virtual-template 1
[RouterA-Vsi-interface1] quit
(3) 配置CP
¡ 配置VSI虚接口工作在会话控制模式
# 配置VSI虚接口1工作在会话表项控制模式
<RouterB> system-view
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] pppoe-server control-plane-mode session
[RouterB-Vsi-interface1] quit
¡ 配置VXLAN
# 开启L2VPN能力。
[RouterB] l2vpn enable
# 创建VSI实例vpna和VXLAN 10。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 10
[RouterB-vsi-vpna-vxlan-10] quit
[RouterB-vsi-vpna] quit
# 在CP和DP之间创建VXLAN隧道:创建模式为VXLAN的隧道接口Tunnel1,指定隧道的源端地址为CP上接口GigabitEthernet1/0/1的地址11.1.1.2,指定隧道的目的端地址为DP上接口GigabitEthernet1/0/2的地址11.1.1.1。
[RouterB] interface tunnel 1 mode vxlan
[RouterB-Tunnel1] source 11.1.1.2
[RouterB-Tunnel1] destination 11.1.1.1
[RouterB-Tunnel1] quit
# 配置Tunnel1与VXLAN 10关联。
[RouterB] vsi vpna
[RouterB-vsi-vpna] vxlan 10
[RouterB-vsi-vpna-vxlan-10] tunnel 1
[RouterB-vsi-vpna-vxlan-10] quit
[RouterB-vsi-vpna] quit
# 创建VSI虚接口VSI-interface1,并指定该VSI虚接口为分布式本地网关接口。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] distributed-gateway local
# 为CP和DP的VSI虚接口配置相同的MAC地址(建议统一配置成CP或DP上接口VSI-interface1的MAC地址)。
[RouterB-Vsi-interface1] mac-address 7875-4a92-0400
[RouterB-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联。
[RouterB] vsi vpna
[RouterB-vsi-vpna] gateway vsi-interface 1
[RouterB-vsi-vpna] quit
¡ 配置OpenFlow
# 开启CP作为OpenFlow控制器功能。
[RouterB] openflow controller enable
¡ 配置PPPoE Server
# 创建一个PPPoE用户。
[RouterB] local-user user1 class network
[RouterB-luser-network-user1] password simple pass1
[RouterB-luser-network-user1] service-type ppp
[RouterB-luser-network-user1] quit
# 启用DHCP服务。
[CP] dhcp enable
# 配置DHCP地址池pool1。
[CP] dhcp server ip-pool pool1
[CP-dhcp-pool-pool1] network 1.1.1.0 24
[CP-dhcp-pool-pool1] gateway-list 1.1.1.1 export-route
[CP-dhcp-pool-pool1] dns-list 8.8.8.8
# 将IP地址1.1.1.1配置为禁用地址。
[CP-dhcp-pool-pool1] forbidden-ip 1.1.1.1
[CP-dhcp-pool-pool1] quit
# 配置虚拟模板接口1的参数,采用PAP认证对端,指定为对端分配地址的地址池。
[RouterB] interface virtual-template 1
[RouterB-Virtual-Template1] ppp authentication-mode pap domain system
[RouterB-Virtual-Template1] remote address pool pool1
[RouterB-Virtual-Template1] quit
# 在接口VSI-interface1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] pppoe-server bind virtual-template 1
[RouterB-Vsi-interface1] quit
# 在系统缺省的ISP域system下,配置域用户使用本地认证方案。
[RouterB] domain name system
[RouterB-isp-system] authentication ppp local
[RouterB-isp-system] quit
配置完成后,当Host使用用户名user1、密码pass1,就能通过设备Router接入到Internet。Host的IP地址为CP所指定的地址。
# 显示CP上PPPoE接入用户的信息。
[RouterB] display ppp access-user user-type pppoe
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
BAS0 user1 0000-5e08-9d00 1.1.1.3 - -
# 显示DP上PPPoE接入用户的信息。
[RouterA] display ppp access-user user-type pppoe
Interface Username MAC address IP address IPv6 address IPv6 PDPrefix
BAS0 - 0000-5e08-9d00 1.1.1.3 - -
Router A和Router B之间通过各自的GigabitEthernet1/0/1接口相连,其中Router A作为PPPoE Server,Router B作为PPPoE Client工作在永久在线模式。
图2-13 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
[RouterA-Virtual-Template1] quit
# 在接口GigabitEthernet1/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/0/1] 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
[RouterB-Dialer1] quit
# 配置一个PPPoE会话,该会话对应Dialer bundle 1(Dialer bundle 1对应Dialer1接口)。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] pppoe-client dial-bundle-number 1
[RouterB-GigabitEthernet1/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 GE1/0/1 VA0 00e0-1400-4300 00e0-1500-4100 SESSION
Router A和Router B之间通过各自的GigabitEthernet1/0/1接口相连,其中Router A作为PPPoE Server,Router B作为PPPoE Client工作在按需拨号模式,空闲时间间隔为150秒。
图2-14 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
[RouterA-Virtual-Template1] quit
# 在接口GigabitEthernet1/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/0/1] 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
[RouterB-Dialer1] quit
# 配置一个PPPoE会话,该会话对应Dialer bundle 1(Dialer bundle 1对应Dialer1接口)。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] pppoe-client dial-bundle-number 1
[RouterB-GigabitEthernet1/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 GE1/0/1 VA0 00e0-1400-4300 00e0-1500-4100 SESSION
Router A和Router B之间通过各自的GigabitEthernet1/0/1接口相连,其中Router A作为PPPoE Server,Router B作为PPPoE Client工作在诊断模式,诊断时间间隔为200秒。
图2-15 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
[RouterA-Virtual-Template1] quit
# 在接口GigabitEthernet1/0/1上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/0/1] 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
[RouterB-Dialer1] quit
# 配置一个PPPoE会话,该会话对应Dialer bundle 1(Dialer bundle 1对应Dialer1接口)。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] pppoe-client dial-bundle-number 1
[RouterB-GigabitEthernet1/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 GE1/0/1 VA0 00e0-1400-4300 00e0-1500-4100 SESSION
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!