03-PPP配置
本章节下载: 03-PPP配置 (477.51 KB)
本文中的PPP仅服务于PPPoE和L2TP应用。有关PPPoE和L2TP的介绍,请参见“BRAS业务配置指导”中的“PPPoE”和“L2TP”。
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只在网络上传输用户名,并不传输用户密码(准确的讲,它不直接传输用户密码,传输的是用MD5算法将用户密码与一个随机报文ID一起计算的结果),因此它的安全性要比PAP高。
MSCHAP为三次握手协议,认证过程与CHAP类似,MSCHAP与CHAP的不同之处在于:MSCHAP支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。
MSCHAPv2为三次握手协议,认证过程与CHAP类似,MSCHAPv2与CHAP的不同之处在于:
· 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地址,则应先配置地址池,然后在ISP域下关联地址池,或者在接口下指定为Client端分配的IP地址池,最后再配置Server端的IP地址,开始进行IPCP协商。
当Client端配置了IP地址可协商属性后,Server端根据AAA认证结果(关于AAA的介绍请参见“BRAS业务配置指导”中的“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服务器地址协商。本设备仅支持作为Server端向Client端提供DNS服务器地址。
IPv4有两种动态地址分配协议,IPCP协议和DHCPv4协议。在IPv6网络中,PPP进行IPv6CP协商过程中,只协商出IPv6接口标识,不能协商出IPv6地址、IPv6 DNS服务器地址。所有认证接入用户都需要使用ND协议或DHCPv6协议分配IPv6全球单播地址和IPv6 DNS服务器地址等其它参数。
主机可以通过如下几种方式分配到IPv6全球单播地址:
· NDRA方式:主机通过ND协议中的RA报文获得IPv6地址前缀。主机采用RA报文中携带的前缀和IPv6CP协商的IPv6接口标识一起组合生成IPv6全球单播地址。RA报文中携带的IPv6地址前缀的来源按优先级由高到低分为以下几种:
a. AAA服务器通过Framed-IPv6-Prefix属性授权的IPv6前缀。
b. ISP域下授权的IPv6前缀。
c. ISP域下授权的ND前缀池中的前缀。
d. AAA服务器通过Framed-IPv6-Address属性授权的128位IPv6全球单播地址中的前缀。(若AAA服务器通过Framed-Interface-Id属性授权了接口ID,则忽略本步骤中的前缀,直接跳转到步骤f)
e. 本地用户视图下通过authorization-attribute ipv6命令授权的128位IPv6全球单播地址中的前缀。(若AAA服务器通过Framed-Interface-Id属性授权了接口ID,则忽略本步骤中的前缀,直接跳转到步骤f)
f. 接口下配置的RA前缀。
g. 接口下配置的IPv6全球单播地址的前缀。
IPv6CP协商的IPv6接口标识按优先级由高到低分为以下几种:
a. AAA服务器通过Framed-Interface-Id属性授权的接口ID。
b. AAA服务器通过Framed-IPv6-Address属性授权的128位IPv6全球单播地址中的接口ID。(若AAA服务器通过Framed-IPv6-Prefix属性授权了IPv6前缀、ISP域下授权了IPv6前缀,或者ISP域下授权了ND前缀池,则忽略本步骤中的接口ID,直接跳转到步骤d)
c. 本地用户视图下通过authorization-attribute ipv6命令授权的128位IPv6全球单播地址中的接口ID。(若AAA服务器通过Framed-IPv6-Prefix属性授权了IPv6前缀、ISP域下授权了IPv6前缀,或者ISP域下授权了ND前缀池,则忽略本步骤中的接口ID,直接跳转到步骤d)
d. ISP域下配置了ipv6cp assign-interface-id命令时,由设备自动为PPP用户生成的接口ID。
e. 用户自带的非0且和其它接口ID不冲突的接口ID。
f. 用户自带的接口ID无效时,由设备自动为PPP用户生成的接口ID。
关于ND协议的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。需要注意的是,AAA授权ND前缀池方式和IA_NA方式不能同时配置,二者只配置其中一种。
· DHCPv6(IA_NA)方式:主机通过DHCPv6协议申请IPv6全球单播地址。在服务器端可以通过AAA授权为每个主机分配不同的地址池,当授权了地址池后,DHCPv6在分配IPv6地址时会从地址池中获取IPv6地址分配给主机。如果AAA未授权地址池,DHCPv6会根据服务器端的IPv6地址查找匹配的地址池为主机分配地址。关于DHCPv6协议的详细介绍请参见“BRAS业务配置指导”中的“DHCPv6”。
在为用户授权了IPv6地址池的情况下,IA_NA还支持通过以下两种方式为PPP用户授权指定的128位IPv6全球单播地址。
¡ AAA服务器通过Framed-IPv6-Address属性授权的128位IPv6全球单播地址。
¡ 本地用户视图下通过authorization-attribute ipv6命令授权的128位IPv6全球单播地址。
需要注意的是,上述两种方式授权的128位IPv6全球单播地址必须是授权的IPv6地址池中的地址,否则不会使用上述两种方式授权的128位IPv6全球单播地址,而是采用IPv6地址池中地址随机分配给用户。
· DHCPv6(IA_PD)方式:Client端设备通过DHCPv6协议申请代理前缀,并使用申请到的代理前缀为下面的主机分配IPv6全球单播地址。代理前缀分配方式中地址池的选择原则和通过DHCPv6协议分配IPv6全球单播地址方式中地址池的选择原则一致。
根据组网不同,主机获取IPv6地址的方式如下:
· 当主机通过桥设备或者直连接入设备时,设备可以采用上述的NDRA方式或IA_NA方式直接为主机分配IPv6全球单播地址。
· 当主机通过路由器接入设备时,设备可以采用IA_PD方式为路由器分配IPv6前缀,路由器把这些IPv6前缀分配给主机来生成IPv6全球单播地址。
· NDRA+IA_PD、IA_NA+IA_PD可以根据实际组网需求进行组合使用,以满足多种地址分配方式的需求。
在IPv6网络中,IPv6 DNS服务器地址的分配有如下两种方式:
· 客户端通过ND协议中RA报文携带的DNS服务器选项获得IPv6 DNS服务器地址。RA报文中携带的DNS服务器选项的来源有两种:AAA授权的IPv6 DNS服务器地址、接口下通过ipv6 nd ra dns server命令配置的IPv6 DNS服务器地址。若AAA授权IPv6 DNS服务器地址与接口下配置的IPv6 DNS服务器地址同时存在,发送RA报文时会带上所有选项,并且AAA授权的IPv6 DNS服务器选项排在最前面;若AAA授权IPv6 DNS服务器地址与接口下配置的IPv6 DNS服务器地址存在冲突,则以AAA授权为准。关于ipv6 nd ra dns server命令的详细介绍请参见“三层技术-IP业务命令参考”中的“IPv6基础”。
· DHCPv6客户端向DHCPv6服务器申请IPv6 DNS服务器地址。
与PPP相关的协议规范有:
RFC 1661:The Point-to-Point Protocol (PPP)
PPP配置任务如下:
(1) 配置虚拟模板接口
¡ 创建虚拟模板接口
在PPPoE和L2TP应用环境中,需要配置虚拟模板接口。有关PPPoE和L2TP的相关介绍,请参见“BRAS业务配置指导”中的“PPPoE和L2TP”。
(2) 配置PPP认证
请选择以下一项任务进行配置:
¡ 配置PAP认证
¡ 配置CHAP认证
在网络安全要求较高的环境下,需要配置PPP认证。
(3) (可选)配置轮询功能
(4) (可选)配置PPP用户上行流量有更新时不做keepalive探测
(5) (可选)配置keepalive报文的快速应答功能
(6) (可选)配置PPP协商参数
¡ 配置BRAS设备接受对端用户使用自行配置的静态IP地址上线
(7) (可选)配置PPP协议的魔术字检查功能
(8) (可选)配置PPP报文的MRU检查功能
(9) (可选)配置PPP空用户名检查功能
(10) (可选)配置PPP用户攻击防御功能
(11) (可选)配置整机上线PPP会话数目的告警阈值
VT(Virtual Template,虚拟模板)接口是设备上手工创建的虚拟逻辑接口,它虚拟实现物理广域网接口上的PPP协议支持的相关功能。需要注意的是,必须将VT接口和具体的物理接口进行绑定,VT接口才能正常工作。
在PPPoE和L2TP应用中可借助VT接口来实现PPP协议的相关功能。有关PPPoE和L2TP的相关介绍,请参见“BRAS业务配置指导”中的“PPPoE和L2TP”。
(1) 进入系统视图。
system-view
(2) 创建虚拟模板接口并进入虚拟模板接口视图。
interface virtual-template number
(3) (可选)配置接口的描述信息。
description text
缺省情况下,接口的描述信息为“该接口的接口名 Interface”,比如:Virtual-Template1 Interface。
(4) (可选)配置接口的MTU值。
mtu size
不同的接口MTU取值范围可能存在不同,请以实际情况为准。
(5) (可选)配置接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行该命令前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 恢复当前接口的缺省配置。
default
PPP支持的认证方式包括:PAP、CHAP、MSCHAP、MSCHAPv2。用户可以同时配置多种认证方式,在LCP协商过程中,认证方根据用户配置的认证方式顺序逐一与被认证方进行协商,直到协商通过。如果协商过程中,被认证方回应的协商报文中携带了建议使用的认证方式,认证方查找配置中存在该认证方式,则直接使用该认证方式进行认证。
在认证方上,若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码。
不论是在本地还是AAA服务器上为被认证方配置的用户名和密码必须与被认证方上通过ppp pap local-user命令配置的用户名和密码相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface virtual-template interface-number
(3) 配置本地认证对端的方式为PAP。
ppp authentication-mode pap [ domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“BRAS业务配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface virtual-ppp interface-number
(3) 配置本地被对端以PAP方式认证时本地发送的PAP用户名和密码。
ppp pap local-user username password { cipher | simple } string
缺省情况下,被对端以PAP方式认证时,本地设备发送的用户名和密码均为空。
查看配置的密码信息时,无论采用明文或密文加密,密码都将按密文方式显示。
在认证方上,若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码,若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码。
不论是在本地还是AAA服务器上为被认证方配置的用户名和密码必须满足如下要求:
· 用户名必须与被认证方上通过ppp chap user命令配置的被认证方的用户名相同。
· 密码必须与被认证方上通过ppp chap password命令配置的密码相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface virtual-template interface-number
(3) 配置本地认证对端的方式为CHAP。
ppp authentication-mode chap [ domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“BRAS业务配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface virtual-ppp 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服务器上为被认证方配置的用户名和密码必须与被认证方上的配置相同。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface virtual-template interface-number
(3) 配置本地认证对端的方式为MSCHAP或MSCHAPv2。
ppp authentication-mode { ms-chap | ms-chap-v2 } [ domain { isp-name | default enable isp-name } ]
缺省情况下,PPP协议不进行认证。
(4) 配置本地AAA认证或者远程AAA认证。
具体配置请参见“BRAS业务配置指导”中的“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
缺省情况下,虚拟PPP接口发送keepalive报文的周期为10秒;虚拟模板接口发送keepalive报文周期为60秒。
(4) 配置接口在多少个keepalive周期内未收到keepalive报文的应答就拆除链路。
timer-hold retry retries
缺省情况下,虚拟PPP接口在5个keepalive周期内没有收到keepalive报文的应答就拆除链路;虚拟模板接口在3个keepalive周期内没有收到keepalive报文的应答就拆除链路。
如果配置的keepalive保活时间间隔(timer-hold seconds)较短或重传次数(timer-hold retry retries)较小,当网络发生拥塞时可能因收不到对端的保活应答报文而导致用户掉线。为避免keepalive报文加剧网络拥塞或导致用户频繁掉线,可配置本功能。
配置本功能后,在一个keepalive保活时间间隔内,如果用户上行流量有更新,设备将重置保活定时器重置,不对用户进行在线探测,否则,在保活定时器超时后,设备将发送keepalive报文对用户进行在线探测。例如:配置的timer-hold为10秒,若在第5秒时获取到用户上行流量有更新,则重置保活定时器,从而推迟发送keepalive报文的时间;如果在下次获取到上行流量有更新时保活定时器未超时(10秒),则继续重置保活定时器。
为平衡设备整体性能,确保设备以最佳状态运行,设备采用定时统计机制来统计用户流量更新情况。在大量用户在线的情况下,配置在一个keepalive保活时间间隔内,如果用户上行流量有更新,设备将重置保活定时器,不对用户进行在线探测时,建议适当调大keepalive保活时间间隔(timer-hold seconds),否则可能部分用户流量有更新,但因在一个探测的时间间隔内,设备来不及统计这部分用户流量更新情况导致设备认为这部分用户流量无更新从而对这部分用户发送探测报文。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 配置PPP用户上行流量有更新时不做keepalive探测。
ppp keepalive datacheck
缺省情况下,在一个keepalive保活时间间隔内,无论用户上行流量是否有更新,保活时间间隔超时后都会发送keepalive报文对用户进行在线探测。
设备收到PPP用户的keepalive请求报文后会上送CPU处理,流量较大时需要消耗较大的CPU资源。如果遭受攻击,易出现处理能力不足,产生拒绝服务,成为攻击者的目标。
开启keepalive报文的快速应答功能后,可以通过硬件识别keepalive请求报文并自动回复keepalive应答报文,从而减轻CPU的负担,避免成为拒绝服务攻击的目标。
仅下表所列单板支持本功能,并且仅对从以太网链路收到的keepalive报文进行快速应答。
表1-1 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1304S、CSPEX-1404X、CSPEX-1404S、CSPEX-1502X、CSPEX-1504X、CSPEX-1504S、CSPEX-1602X、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802XB、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G |
SPE单板 |
RX-SPE200、RX-SPE200-E |
(1) 进入系统视图。
system-view
(2) 开启keepalive报文的快速应答功能
(独立运行模式)
ppp keepalive fast-reply enable slot slot-number [ cpu cpu-number ]
(IRF模式)
ppp keepalive fast-reply enable chassis chassis-number slot slot-number [ cpu cpu-number ]
缺省情况下,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 virtual-ppp interface-number
(3) 为接口配置IP地址可协商属性。
ip address ppp-negotiate
缺省情况下,接口未配置IP地址可协商属性。
多次执行本命令和ip address命令,最后一次执行的命令生效。关于ip address命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IP地址”。
目前Server端为Client端分配IP地址支持以下几种方式:
· 从接口下指定的地址池中为Client端分配IP地址。
· 从ISP域下关联的地址池中为Client端分配IP地址。
· 从AAA服务器直接为Client端授权IP地址。
不需要进行PPP认证的PPP用户可以使用从接口下指定的地址池中为Client端分配IP地址。
需要进行PPP认证的PPP用户可以使用全部的三种方式。同时配置多种方式时,以AAA服务器直接授权的IP地址优先,其次是ISP域下关联的地址池,再然后是接口下指定为Client端分配的IP地址池。
当采用AAA服务器直接给Client端授权IP地址方式时,必须先在Server端上通过dhcp enable命令开启DHCP服务,再为Client端授权IP地址。有关dhcp enable命令的详细介绍,请参见“BRAS业务命令参考”中的“DHCP”。
(1) 进入系统视图。
system-view
(2) 配置DHCP功能。
¡ 如果Server端同时作为DHCP服务器,则在Server端上配置DHCP服务器、IP地址池相关内容。
¡ 如果Server端作为DHCP中继,则在Server端上配置DHCP中继相关内容(必须配置DHCP中继用户地址表项记录功能、DHCP中继地址池),并在远端DHCP服务器上配置IP地址池。
DHCP服务器和DHCP中继的具体配置介绍请参见“BRAS业务配置指导”中的“DHCP服务器”和“DHCP中继”。
(3) 进入接口视图。
interface virtual-template interface-number
(4) 使用IP地址池为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) 配置DHCP功能。
¡ 如果Server端同时作为DHCP服务器,则在Server端上配置DHCP服务器、IP地址池相关内容。
¡ 如果Server端作为DHCP中继,则在Server端上配置DHCP中继相关内容(必须配置DHCP中继用户地址表项记录功能、DHCP中继地址池),并在远端DHCP服务器上配置IP地址池。
DHCP服务器和DHCP中继的具体配置介绍请参见“BRAS业务配置指导”中的“DHCP服务器”和“DHCP中继”。
(3) 进入ISP域视图。
domain name isp-name
(4) 在ISP域下关联IP地址池或DHCP中继地址池为Client端分配IP地址。
authorization-attribute ip-pool pool-name
缺省情况下,ISP域下未关联IP地址池或DHCP中继地址池。
本命令的详细介绍请参见“BRAS业务命令参考”中的“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 virtual-template interface-number
(2) 取消对RA消息发布的抑制。
undo ipv6 nd ra halt
(3) 配置RA消息中的前缀信息。
ipv6 nd ra prefix { ipv6-prefix prefix-length | ipv6-prefix/prefix-length } [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * ]
RA报文中携带的IPv6地址前缀的来源有四种:AAA授权的IPv6前缀、AAA授权的ND前缀池中的前缀、本命令配置的RA前缀、接口下配置的IPv6全球单播地址的前缀。四种来源的优先级依次降低,AAA授权的IPv6前缀优先级最高。
需要注意的是,如果用户接入接口和该接口绑定的虚拟模板接口下同时配置了ipv6 nd ra prefix命令,则仅虚拟模板接口下配置的ipv6 nd ra prefix命令生效,用户接入接口下配置的ipv6 nd ra prefix命令配置不生效。
(4) 配置其他信息配置标志位为1,即主机通过有状态自动配置(例如DHCPv6服务器)获取除IPv6地址外的其他信息。
ipv6 nd autoconfig other-flag
也可通过在ISP域下配置本命令。ISP域和接口二者至少选择其中一个进行配置。
(5) 退回至系统视图
quit
(6) 进入用户接入接口视图。
interface interface-type interface-number
(7) 配置接口自动生成链路本地地址。
ipv6 address auto link-local
(8) 取消对RA消息发布的抑制。
undo ipv6 nd ra halt
(9) 开启DHCPv6 Server功能。
ipv6 dhcp select server
(10) 退回至系统视图
quit
(11) 创建ISP域并进入其视图。
domain name isp-name
(12) 配置当前ISP域下的为用户授权IPv6前缀。
authorization-attribute ipv6-prefix ipv6-prefix prefix-length
(1) 进入虚拟模板接口视图。
interface virtual-template interface-number
(2) 取消对RA消息发布的抑制。
undo ipv6 nd ra halt
(3) 配置被管理地址的配置标志位为1,即主机通过有状态自动配置(例如DHCPv6服务器)获取IPv6地址。
ipv6 nd autoconfig managed-address-flag
也可通过在ISP域下配置本命令。ISP域和接口二者至少选择其中一个进行配置。
(4) 配置其他信息配置标志位为1,即主机通过有状态自动配置(例如DHCPv6服务器)获取除IPv6地址外的其他信息。
ipv6 nd autoconfig other-flag
也可通过在ISP域下配置本命令。ISP域和接口二者至少选择其中一个进行配置。
(5) 退回至系统视图
quit
(6) 进入用户接入接口视图。
interface interface-type interface-number
(7) 配置接口自动生成链路本地地址。
ipv6 address auto link-local
(8) 取消对RA消息发布的抑制。
undo ipv6 nd ra halt
(9) 开启DHCPv6 Server功能。
ipv6 dhcp select server
(10) 退回至系统视图。
quit
(11) 配置IPv6地址池并在用户认证ISP下授权该IPv6地址池。
具体配置请参见“BRAS业务配置指导”中的“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) 创建并进入IPv6地址池。
具体配置请参见“BRAS业务配置指导”中的“DHCPv6”。
(8) 地址池引用前缀池,以便从前缀池中动态选择前缀分配给客户端。
prefix-pool prefix-pool-number [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] [ export-route [ preference preference | tag tag ] * ]
(9) 退回至系统视图
quit
(10) 创建ISP域并进入其视图。
domain name isp-name
(11) 配置当前ISP域下的用户授权属性。
authorization-attribute ipv6-pool pool-name
缺省情况下,PPPoE用户使用的IP地址必须是在用户上线过程中由BRAS设备(PPPoE server)动态分配或者由AAA服务器授权的IP地址,BRAS设备不支持用户使用自行配置的静态IP地址上线。
在某些组网中,如果用户希望使用自行配置的静态IP地址上线,可在BRAS设备上配置本功能。配置本功能后,BRAS设备允许接入用户使用自行配置的静态IP地址上线,待用户认证上线后,BRAS设备将基于用户的静态IP地址维护该用户的会话信息。
本功能仅适用于BRAS接入场景中的PPPoE用户。
为避免不同接入用户使用的IP地址冲突,请合理规划IP地址的使用,确保动态分配的IP地址中不包括接入用户使用的静态IP地址,并且每个接入用户使用的静态IP地址必须唯一,否则后上线的用户会因地址冲突导致该用户的IPv4协议栈或IPv6协议栈无法上线。
在IPv4组网中,使用本功能时,需要注意:
· 需要通过IP地址池将网关地址信息下发给地址管理(例如:对于普通IP地址池配置gateway-list命令时需要指定export-route参数),并在用户所属认证域中授权该IP地址池。
· 支持通过在授权的IP地址池中配置用户所需的DNS服务器地址。
在IPv6组网中,使用本功能时,需要注意:
· 对于IPv6静态用户的上线接口,不允许同时配置基于该接口的NDRA上线方式,如果同时配置了NDRA和IPv6静态用户两种上线方式,则仅NDRA方式生效。
· 为避免管理员误配置NDRA方式导致IPv6静态用户无法上线,建议在IPv6静态用户对应的VT接口或者用户所属认证域二者中至少选择其中一个要配置ipv6 nd autoconfig managed-address-flag命令以禁止IPv6静态用户采用NDRA方式上线。
· 对于IPv6静态用户的上线接口,如果同时配置了基于该接口的IA_NA上线方式,由于部分终端会先发起IA_NA方式获取地址,在终端获取到IA_NA地址后,终端配置的静态地址会失效。因此,建议在IPv6静态用户上线接口配置undo ipv6 dhcp select命令禁止IPv6静态用户采用IA_NA方式上线。(缺省配置)
· 用户的IPv6 DNS服务器地址必须通过手工方式静态设置,不支持通过DHCPv6等其它方式获取。
仅一体化组网中支持本功能,转发与控制分离组网不支持。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置BRAS设备接受对端用户使用自行配置的静态IP地址上线。
ppp accept remote-ip-address
缺省情况下,BRAS设备不接受对端用户使用自行配置的静态IP地址上线。
(4) 配置BRAS设备接受对端用户使用自行配置的静态IPv6全球单播地址上线。
ppp accept remote-ipv6-address
缺省情况下,BRAS设备不接受对端用户使用自行配置的静态IPv6全球单播地址上线。
开启接口的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链路建立过程中的LCP协商阶段会进行Magic-Number(魔术字)的协商,协商完成后本端和对端均会在本地存储彼此的魔术字。
本端发送Echo-Request报文的时候会携带自己的魔术字,在链路两端都开启本功能的情况下,对端收到Echo-Request报文后会取出报文中的魔术字与本地存储的对端魔术字进行对比,如果二者相同,则认为链路处于正常状态,并回应携带自己魔术字的Echo-Reply报文。本端收到Echo-Reply报文后同样取出报文中的魔术字进行检查。
在链路的任何一端,下列任意一种情况发生都将断开链路,并重新进行LCP协商。
· 在keepalive报文的快速应答功能处于开启状态的情况下:
¡ 累计收到5个Echo-Request报文中的魔术字都检查失败。
¡ 连续收到5个Echo-Reply报文中的魔术字都检查失败。
· 在keepalive报文的快速应答功能处于关闭状态的情况下:
¡ 连续收到5个Echo-Request报文中的魔术字都检查失败。
¡ 连续收到5个Echo-Reply报文中的魔术字都检查失败。
只有开启本功能的一端才会对收到的Echo-Request和Echo-Reply报文中的魔术字进行检查。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启PPP协议的魔术字检查功能。
ppp magic-number-check
缺省情况下,PPP协议的魔术字检查功能处于关闭状态。
在PPP链路建立过程中的LCP协商阶段会进行MRU(Maximum-Receive-Unit,最大接收单元)值协商,如果链路两端接口的MTU值不同,PPP将采用较小的MTU值作为链路的MRU值。
缺省情况下,当本端收到对端发送的PPP报文的MTU值大于协商的MRU值时,对报文不做检查按正常报文处理。开启本功能后,当本端收到对端发送的PPP报文的MTU值大于协商的MRU值时,则直接丢弃该报文。
在对安全性要求较高的网络环境中需要开启本功能,以防止伪对端发送大量超过协商MRU值的PPP报文对设备进行攻击。
(1) 进入系统视图。
system-view
(2) 开启PPP报文的MRU检查功能。
ppp mru-check enable
缺省情况下,PPP报文的MRU检查功能处于关闭状态。
用户名的格式为“userid@isp-name”。用户名为空,是指userid和ISP域名均为空。如果userid为空,ISP域名不为空,则按用户名非空进行处理。
缺省情况下,PPP用户请求上线时如果未携带用户名(即用户名为空),对于PPPoE用户,将采用请求报文中的用户MAC地址作为用户名;对于L2TP用户,将采用请求报文中的calling number作为用户名。
当网络环境需要严格检查用户名合法性时,可配置本功能。配置本功能后,当设备收到未携带用户名的PPPoE或L2TP用户的上线请求时,不会采用请求报文中的用户MAC地址或calling number作为用户名向AAA进行认证,而是直接返回给用户认证失败。
当设备采用请求报文中的用户MAC地址或calling number作为用户名向AAA进行认证时,将保持信息的原始性,不会对其内容和格式进行任何修改。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 配置PPP用户请求上线时必须带用户名,否则上线失败。
ppp username check
缺省情况下,PPP用户请求上线时可以不带用户名。
开启PPP用户静默功能后,当某PPP用户在检测周期内连续认证失败达次数达到允许的最大值时,将被静默一段时间,在静默周期内设备直接丢弃来自此PPP用户的报文,以降低非法用户使用穷举法试探合法用户密码的成功率,同时避免设备持续向认证服务器转发该PPP用户的认证报文而对设备性能造成影响。静默期后,如果设备再次收到该PPP用户的报文,则依然可以对其进行认证处理。
本功能根据用户名和ISP域信息来唯一标识一个静默用户。
对于用户名相同但属于不同认证域的PPP用户,设备将会对其分别进行认证失败统计,并分别进行静默。
(1) 进入系统视图。
system-view
(2) 开启PPP用户静默功能。
ppp authentication chasten auth-failure auth-period blocking-period
缺省情况下,PPP用户在60秒内连续认证失败次数达到6次时,将被静默300秒。
PPP除了用户名的静默功能外,还可以使用基于用户MAC地址的静默功能;当某请求上线的PPP用户的MAC地址在检测周期内已连续认证失败的次数达到允许的最大值时,将被静默一段时间,在静默周期内设备不再将此用户的认证请求上送,以降低非法用户使用穷举法试探合法用户密码的成功率,同时避免设备持续向认证服务器转发该PPP用户的认证报文而对设备性能造成影响。静默期后,如果设备再次收到该MAC地址的报文,则依然可以对其进行认证处理。
相对于基于用户名的防攻击功能,基于MAC地址的防攻击功能可以有效应对自动变化用户名、一个账号多个session等复杂情况,并且二者可以组合使用,从不同的角度对PPP用户进行攻击防御。
本功能根据用户MAC地址、内外层VLAN ID和用户接入接口信息来唯一标识一个静默用户。
对于MAC地址相同但属于不同VLAN或不同入接口的PPP用户,设备将会对其分别进行认证失败统计,并分别进行静默。
(1) 进入系统视图。
system-view
(2) 开启基于MAC地址的PPP用户静默功能。
ppp authentication chasten per-mac [ multi-sessions ] auth-failure auth-period blocking-period
缺省情况下,PPP用户在60秒内连续认证失败次数达到6次时,将被静默300秒。
当每个MAC能创建PPP会话的最大数目大于1时,如果要基于用户MAC地址对PPP用户进行静默,则命令中必须指定multi-sessions参数,否则静默功能对该类PPP用户不生效。
整机上线PPP会话数目,是指整个设备上线的PPP会话的总数目。(独立运行模式)
整机上线PPP会话数目,是指整个IRF系统上线的PPP会话的总数目。(IRF模式)
可通过本命令分别配置PPP会话数的上限、下限告警阀值,使得PPP会话数目大于或小于某个设定值时能够自动触发告警,便于管理员及时了解现网的在线用户情况。管理员可通过display access-user命令查看当前在线接入PPP用户总数。
用户会话数目告警功能只对占用会话资源的PPPoE用户会话进行统计。目前PPPoE单栈用户占用一个会话资源,双栈用户也占用一个会话资源。
假定整机允许上线的PPP会话的最大数目为a,上限告警阈值为b,下限告警为c,则:
· 当在线PPP会话数目超过上限a×b或低于下限a×c时,都将输出对应警告信息。
· 当在线PPP会话数目恢复到正常数值范围后,输出恢复信息。
为避免特殊情况下在线PPP会话数目在临界区反复变化导致频繁输出告警信息和恢复信息,当在线PPP会话数目从上限或下限恢复时,系统内部有一个缓冲区,缓冲区大小为在线PPP会话数目上下限差值的10%,假定为d,d=a×(b-c)÷10,仅当在线PPP会话数目恢复到小于a×b-d或大于a×c+d时才会输出恢复信息。
例如,假定a为1000,b为80%,c为20%,d=a×(b-c)÷10=1000×(80%-20%)÷10=1000×60%÷10=600÷10=60,则:
· 当在线PPP会话数目超过上限a×b=1000×80%=800时,输出上限告警信息。当在线PPP会话数目恢复到小于a×b-d=800-60=740时,输出恢复信息。
· 当在线PPP会话数目低于下限a×c=1000×20%=200时,输出下限告警信息。当在线PPP会话数目恢复到大于a×c+d=200+60=260时,输出恢复信息。
输出的上限告警信息和恢复信息均包含日志信息和Trap告警信息。需要注意的是,为确保Trap告警信息可以正常输出到NMS主机,除了需要正确配置SNMP告警功能外,还需要配置snmp-agent trap enable user-warning-threshold命令。
配置上限告警阈值必须大于下限告警阈值。
(1) 进入系统视图。
system-view
(2) 配置整机上线PPP会话数目的告警阈值。
ppp session-threshold { lower-limit lower-limit-value | upper-limit upper-limit-value }
缺省情况下,整机上线PPP会话数目的上限告警阈值为100,下限告警阈值为0。
(3) 开启整机接入用户数的Trap告警功能。
snmp-agent trap enable user-warning-threshold
缺省情况下,整机接入用户数的Trap告警功能处于关闭状态。
本命令的详细介绍请参见“BRAS业务命令参考”中的“UCM”。
在完成上述配置后,在任意视图下执行display命令可以显示PPP配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除相应接口的统计信息。
表1-2 PPP显示和维护
操作 |
命令 |
显示虚拟模板接口的相关信息 |
display interface [ virtual-template [ interface-number ] ] [ brief [ description | down ] ] |
显示基于MAC地址的PPP用户静默功能检测到的用户信息 |
display ppp chasten per-mac { auth-failed | blocked } [ mac mac-address ] [ interface interface-type interface-number ] |
显示PPP用户静默功能检测到的用户信息 |
display ppp chasten user { auth-failed | blocked } [ username user-name ] |
显示PPP用户静默功能检测到的用户统计信息 |
display ppp chasten statistics |
显示PPP用户探测报文的丢包率统计信息 |
(独立运行模式) display ppp keepalive packet-loss-ratio [ interface interface-type interface-number [ s-vlan svlan-id ] ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display ppp keepalive packet-loss-ratio [ interface interface-type interface-number [ s-vlan svlan-id ] ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
显示PPP的协商报文统计信息 |
(独立运行模式) display ppp packet statistics [ slot slot-number [ cpu cpu-number ] ] (IRF模式) display ppp packet statistics [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
解除静默用户的静默状态 |
reset ppp chasten blocked-user [ username user-name ] |
解除基于MAC地址被静默PPP用户的静默状态 |
reset ppp chasten per-mac blocked [ mac mac-address [ s-vlan vlan-id [ c-vlan vlan-id ] ] ] [ interface interface-type interface-number ] |
清除设备上PPP用户探测报文的丢包率统计信息 |
(独立运行模式) reset ppp keepalive packet-loss-ratio [ interface interface-type interface-number ] [ slot slot-number [ cpu cpu-number ] ] (IRF模式) reset ppp keepalive packet-loss-ratio [ interface interface-type interface-number ] [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
清除PPP的协商报文统计信息 |
(独立运行模式) reset ppp packet statistics [ slot slot-number [ cpu cpu-number ] ] (IRF模式) reset ppp packet statistics [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!