14-PPP配置
本章节下载: 14-PPP配置 (384.95 KB)
PPP(Point-to-Point Protocol,点对点协议)是一种点对点的链路层协议。它能够提供用户认证,易于扩充。
PPP定义了一整套协议,包括:
· 链路控制协议(Link Control Protocol,LCP):用来建立、拆除和监控数据链路。
· 网络控制协议(Network Control Protocol,NCP):用来协商在数据链路上所传输的网络层报文的一些属性和类型。
· 认证协议:用来对用户进行认证,包括PAP(Password Authentication Protocol,密码认证协议)和CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议)。
PPP链路建立过程如图1-1所示:
(1) PPP初始状态为不活动(Dead)状态,当物理层Up后,PPP会进入链路建立(Establish)阶段。
(2) PPP在Establish阶段主要进行LCP协商。LCP协商内容包括:Authentication-Protocol(认证协议类型)、MRU(Maximum-Receive-Unit,最大接收单元)、Magic-Number(魔术字)、PFC(Protocol-Field-Compression,协议字段压缩)、ACFC(Address-and-Control-Field-Compression,地址控制字段压缩)等选项。如果LCP协商失败,LCP会上报Fail事件,PPP回到Dead状态;如果LCP协商成功,LCP进入Opened状态,LCP会上报Up事件,表示链路已经建立(此时对于网络层而言PPP链路还未建立,还不能够在上面成功传输网络层报文)。
(3) 如果配置了认证,则进入Authenticate阶段,开始PAP或CHAP认证。如果认证失败,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。
PAP为两次握手协议,它通过用户名和密码来对用户进行认证。
PAP在网络上以明文的方式传递用户名和密码,认证报文如果在传输过程中被截获,便有可能对网络安全造成威胁。因此,它适用于对网络安全要求相对较低的环境。
CHAP为三次握手协议。
CHAP认证过程分为两种方式:认证方配置了用户名、认证方未配置用户名。推荐使用认证方配置用户名的方式,这样被认证方可以对认证方的身份进行确认。
CHAP只在网络上传输用户名,并不传输用户密码(准确的讲,它不直接传输用户密码,传输的是用MD5算法将用户密码与一个随机报文ID一起计算的结果),因此它的安全性要比PAP高。
在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来解析域名。
在IPv6网络中,PPP进行IPv6CP协商过程中,只协商出IPv6接口标识,不能协商出IPv6地址、IPv6 DNS服务器地址。
PPP进行IPv6CP协商过程中,只协商出IPv6接口标识,不能直接协商出IPv6地址。
客户端可以通过如下三种方式分配到IPv6全球单播地址:
· 方式1:客户端通过ND协议中的RA报文获得IPv6地址前缀。客户端采用RA报文中携带的前缀和IPv6CP协商的IPv6接口标识一起组合生成IPv6全球单播地址。RA报文中携带的IPv6地址前缀的来源有三种:AAA授权的IPv6前缀、接口下配置的RA前缀、接口下配置的IPv6全球单播地址的前缀。三种来源的优先级依次降低,AAA授权的优先级最高。关于ND协议的详细介绍请参见“网络互通配置指导”中的“IPv6基础”。
· 方式2:客户端通过DHCPv6协议申请IPv6全球单播地址。在服务器端可以通过AAA授权为每个客户端分配不同的地址池,当授权了地址池后,DHCPv6在分配IPv6地址时会从地址池中获取IPv6地址分配给客户端。如果AAA未授权地址池,DHCPv6会根据服务器端的IPv6地址查找匹配的地址池为客户端分配地址。关于DHCPv6协议的详细介绍请参见“网络互通配置指导”中的“DHCPv6”。
· 方式3:客户端通过DHCPv6协议申请代理前缀,客户端通过代理前缀为下面的主机分配IPv6全球单播地址。代理前缀分配方式中地址池的选择原则和通过DHCPv6协议分配IPv6全球单播地址方式中地址池的选择原则一致。
根据组网不同,主机获取IPv6地址的方式如下:
· 当主机通过桥设备或者直连接入设备时,设备可以采用上述的方式1或方式2直接为主机分配IPv6全球单播地址。
· 当主机通过路由器接入设备时,设备可以采用方式3为路由器分配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 IPHC压缩功能
在低速链路上,每个语音报文中报文头消耗大部分的带宽。为了减少报文头对带宽的消耗,可以在PPP链路上使用IPHC压缩功能,对报文头进行压缩。
(5) (可选)配置PPP用户的nas-port-type属性
(6) (可选)配置PPP计费统计功能
PPP支持的认证方式包括:PAP、CHAP。用户可以同时配置多种认证方式,在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 } password
缺省情况下,未配置进行CHAP认证时采用的密码。
查看配置的密码信息时,无论采用明文或密文加密,密码都将按密文方式显示。
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报文被延迟的时间超过接口的这个限制,链路就会被认为发生故障而被关闭。
在MP应用中,仅子通道支持轮询功能,主通道不支持。在主通道上即使配置轮询功能也不会生效。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口发送keepalive报文的周期。
timer-hold seconds
缺省情况下,接口发送keepalive报文的周期为10秒。
(4) 配置接口在多少个keepalive周期内未收到keepalive报文的应答就拆除链路。
timer-hold retry retry
缺省情况下,接口在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) 配置协商超时时间间隔。
ppp timer negotiate seconds
缺省情况下,协商超时时间间隔为3秒。
(4) (可选)配置LCP协商的延迟时间。
ppp lcp delay milliseconds
缺省情况下,接口物理层UP后,PPP立即进行LCP协商。
目前Server端为Client端分配IP地址支持以下三种方式:
· 在接口下指定为Client端分配的IP地址。
· 从接口下指定的地址池(支持PPP地址池和DHCP地址池)中为Client端分配IP地址。
· 从ISP域下关联的地址池(支持PPP地址池和DHCP地址池)中为Client端分配IP地址。
不需要进行PPP认证的PPP用户可以使用在接口下指定为Client端分配的IP地址和从接口下指定的地址池中为Client端分配IP地址两种地址分配方式。同时配置这两种方式,最后一次的配置生效。
需要进行PPP认证的PPP用户可以使用全部的三种方式。同时配置多种方式时,以ISP域下关联的地址池优先,然后是接口下指定为Client端分配的IP地址或者地址池(接口下同时配置这两种方式时,最后一次的配置生效)。
如果用户配置了名称相同的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 gateway ip-address
缺省情况下,未为PPP地址池配置网关地址。
(4) (可选)配置PPP地址池路由。
ppp ip-pool route ip-address { mask-length | mask }
缺省情况下,未配置PPP地址池路由。
需要保证配置的PPP地址池路由网段覆盖PPP地址池网段范围。
(5) 进入接口视图。
interface interface-type interface-number
(6) 使用PPP地址池为Client端分配IP地址。
remote address pool pool-name
缺省情况下,接口不为Client端分配IP地址。
(7) 配置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中继的具体配置介绍请参见“网络互通配置指导”中的“DHCP服务器”和“DHCP中继”。
(3) 进入接口视图。
interface interface-type interface-number
(4) 使用DHCP地址池为Client端分配IP地址。
remote address pool pool-name
缺省情况下,接口不为Client端分配IP地址。
(5) (可选)配置使用PPP用户名作为DHCP客户端ID。
remote address dhcp client-identifier username
缺省情况下,未配置使用PPP用户名作为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 gateway ip-address
缺省情况下,未为PPP地址池配置网关地址。
(4) (可选)配置PPP地址池路由。
ppp ip-pool route ip-address { mask-length | mask }
缺省情况下,未配置PPP地址池路由。
用户需要保证配置的PPP地址池路由网段覆盖PPP地址池网段范围。
(5) 进入ISP域视图。
domain isp-name
(6) 在ISP域下关联PPP地址池为Client端分配IP地址。
authorization-attribute ip-pool pool-name
缺省情况下,ISP域下未关联PPP地址池。
本命令的详细介绍请参见“用户接入与认证命令参考”中的“AAA”。
(7) 退回系统视图。
quit
(8) 进入接口视图。
interface interface-type interface-number
(9) 配置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中继的具体配置介绍请参见“网络互通配置指导”中的“DHCP服务器”和“DHCP中继”。
(3) 进入ISP域视图。
domain 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 username
缺省情况下,未配置PPP用户作为DHCP客户端时使用的DHCP客户端ID。
当使用PPP用户名作为DHCP客户端ID时,请确保各个上线用户分别使用不同的PPP用户名上线。
(8) 配置Server端的IP地址。
ip address ip-address
缺省情况下,接口未配置IP地址。
开启接口的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网段检查功能处于关闭状态。
(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服务器地址。
IPHC(IP Header Compression,IP报文头压缩)协议主要应用于低速链路上的语音通信。
在低速链路上,每个语音报文中报文头消耗大部分的带宽。为了减少报文头对带宽的消耗,可以在PPP链路上使用IPHC压缩功能,对报文头进行压缩。
IPHC压缩分为如下两种:
· RTP头压缩:对报文中的RTP/UDP/IP头(长度共40字节)进行压缩。
· TCP头压缩:对报文中的TCP/IP头(长度共40字节)进行压缩。
用户必须在链路的两端同时开启IPHC压缩功能,该功能才生效。
只有在开启IPHC压缩功能后,才能配置接口上允许进行RTP头/TCP头压缩的最大连接数,并且需要对接口依次进行shutdown和undo shutdown操作后,配置才能生效。在关闭IPHC压缩功能后,配置将被清除。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启PPP IPHC压缩功能。
ppp compression iphc enable [ nonstandard ]
缺省情况下,IPHC压缩功能处于关闭状态。
与非H3C设备互通时需要配置nonstandard参数。
配置nonstandard参数后,仅支持RTP头压缩,不支持TCP头压缩。
(4) 配置接口上允许进行RTP头压缩的最大连接数。
ppp compression iphc rtp-connections number
缺省情况下,接口上允许进行RTP头压缩的最大连接数为16。
(5) 配置接口上允许进行TCP头压缩的最大连接数。
ppp compression iphc tcp-connections number
缺省情况下,接口上允许进行TCP头压缩的最大连接数为16。
本特性用来配置RADIUS认证计费时所携带的nas-port-type属性。关于nas-port-type属性的详细介绍请参见RFC 2865。
本特性配置后仅对新接入的用户生效,对当前已经存在用户无影响。
(1) 进入系统视图。
system-view
(2) 进入虚拟模板接口视图。
interface virtual-template number
(3) 配置接口的nas-port-type属性。
nas-port-type { ethernet | virtual }
缺省情况下,nas-port-type属性由PPP用户的业务类型和承载链路类型决定:
¡ 如果是PPPoE业务,nas-port-type属性为ethernet。
¡ 如果是L2TP业务,nas-port-type属性为virtual。
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计费统计功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示PPP配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除相应接口的统计信息。
表1-1 PPP显示和维护
操作 |
命令 |
显示PPP接入用户的信息 |
display ppp access-user { interface interface-type interface-number [ count ] | ip-address ipv4-address | ipv6-address ipv6-address | username user-name | user-type { lac | lns | pppoa | pppoe } [ count ] } |
显示PPP地址池的信息 |
display ip pool [ pool-name | group group-name ] |
显示IPHC压缩的统计信息 |
display ppp compression iphc { rtp | tcp } [ interface interface-type interface-number ] |
清除IPHC压缩的统计信息 |
reset ppp compression iphc [ rtp | tcp ] [ interface interface-type interface-number ] |
强制PPP用户下线 |
reset ppp access-user { ip-address ipv4-address | ipv6-address ipv6-address | username user-name } |
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目前支持以下接口类型:
· 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 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会话的最大数目,不要超过整机PPPoE的最大会话数(整机PPPoE的最大会话数由设备的缺省规格或授权的License规格决定),否则会有部分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 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的传输格式为字符串格式。
在完成上述配置后,在任意视图下执行display命令可以显示PPPoE Server配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令,可在PPPoE Server端清除PPPoE会话。
表2-1 PPPoE Server显示和维护
操作 |
命令 |
显示PPPoE会话的数据报文统计信息 |
display pppoe-server session packet [ interface interface-type interface-number ] |
显示PPPoE会话的摘要信息 |
display pppoe-server session summary [ interface interface-type interface-number ] |
显示被扼制的用户信息 |
display pppoe-server throttled-mac [ interface interface-type interface-number ] |
显示VA池信息 |
display pppoe-server va-pool |
清除PPPoE会话 |
reset pppoe-server { all | interface interface-type interface-number | virtual-template number } |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!