01-PPP配置
本章节下载: 01-PPP配置 (816.67 KB)
1.5.4 IP地址协商举例一(在接口下指定为Client端分配的IP地址)
1.5.5 IP地址协商举例二(从接口下指定的PPP地址池中分配IP地址)
1.5.6 IP地址协商举例三(从ISP域下关联的PPP地址池中分配IP地址)
2.4.5 利用ADSL Modem将局域网接入Internet
2.4.6 PPPoE Server通过本地DHCP服务器为用户分配IP地址配置举例
2.4.7 PPPoE Server通过远端DHCP服务器为用户分配IP地址配置举例
2.4.8 PPPoE Server为接入用户授权地址池和VPN配置举例
· ICG2000D/3000S/3000F/3000F-DP/5000G/5000T路由器使用集中式命令行,ICG 6000路由器使用分布式命令行。
· 本特性仅在路由器上安装了SAE、AS、ASE、BS、E1、E1-F、T1、T1-F、POS、CPOS、CE3、CT3或AM接口模块时支持。
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的详细介绍请参考RFC 1661。
PPP提供了在其链路上进行安全认证的手段,使得在PPP链路上实施AAA变的切实可行。将PPP与AAA结合,可在PPP链路上对对端用户进行认证、计费。
PPP支持如下认证方式:PAP、CHAP、MSCHAP、MSCHAPv2。
(1) PAP认证
PAP为两次握手协议,它通过用户名和密码来对用户进行认证。
PAP在网络上以明文的方式传递用户名和密码,认证报文如果在传输过程中被截获,便有可能对网络安全造成威胁。因此,它适用于对网络安全要求相对较低的环境。
(2) CHAP认证
CHAP为三次握手协议。
CHAP认证过程分为两种方式:认证方配置了用户名、认证方没有配置用户名。推荐使用认证方配置用户名的方式,这样被认证方可以对认证方的身份进行确认。
CHAP只在网络上传输用户名,并不传输用户密码(准确的讲,它不直接传输用户密码,传输的是用MD5算法将用户密码与一个随机报文ID一起计算的结果),因此它的安全性要比PAP高。
(3) MSCHAP认证
MSCHAP为三次握手协议,认证过程与CHAP类似,MSCHAP与CHAP的不同之处在于:
· MSCHAP采用的加密算法是0x80。
· MSCHAP支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。
(4) MSCHAPv2认证
MSCHAPv2为三次握手协议,认证过程与CHAP类似,MSCHAPv2与CHAP的不同之处在于:
· MSCHAPv2采用的加密算法是0x81。
· MSCHAPv2通过报文捎带的方式实现了认证方和被认证方的双向认证。
· MSCHAPv2支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。
· MSCHAPv2支持修改密码机制。被认证方由于密码过期导致认证失败时,被认证方会将用户输入的新密码信息发回认证方,认证方根据新密码信息重新进行认证。
在IPv4网络中,PPP进行IPCP协商过程中可以进行IP地址、DNS服务器地址的协商。
(1) IP地址协商
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地址。
(2) DNS服务器地址协商
设备在进行IPCP协商的过程中可以进行DNS服务器地址协商。设备既可以作为Client端接收其它设备分配的DNS服务器地址,也可以作为Server端向其它设备提供DNS服务器地址。通常情况下:
· 当主机与设备通过PPP协议相连时,设备应配置为Server端,为对端主机指定DNS服务器地址,这样主机就可以通过域名直接访问Internet;
· 当设备通过PPP协议连接运营商的接入服务器时,设备应配置为Client端,被动接收或主动请求接入服务器指定DNS服务器地址,这样设备就可以使用接入服务器分配的DNS来解析域名。
在IPv6网络中,PPP进行IPv6CP协商过程中,只协商出IPv6接口标识,不能协商出IPv6地址、IPv6 DNS服务器地址。
(1) IPv6地址分配
PPP进行IPv6CP协商过程中,只协商出IPv6接口标识,不能直接协商出IPv6地址。
客户端可以通过如下三种方式分配到IPv6全球单播地址:
· 方式1:客户端通过ND协议中的RA报文获得IPv6地址前缀。客户端采用RA报文中携带的前缀和IPv6CP协商的IPv6接口标识一起组合生成IPv6全球单播地址。RA报文中携带的IPv6地址前缀的来源有三种:AAA授权的IPv6前缀、接口下配置的RA前缀、接口下配置的IPv6全球单播地址的前缀。三种来源的优先级依次降低,AAA授权的优先级最高。关于ND协议的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
· 方式2:客户端通过DHCPv6协议申请IPv6全球单播地址。在服务器端可以通过AAA授权为每个客户端分配不同的地址池,当授权了地址池后,DHCPv6在分配IPv6地址时会从地址池中获取IPv6地址分配给客户端。如果AAA未授权地址池,DHCPv6会根据服务器端的IPv6地址查找匹配的地址池为客户端分配地址。关于DHCPv6协议的详细介绍请参见“三层技术-IP业务配置指导”中的“DHCPv6”。
· 方式3:客户端通过DHCPv6协议申请代理前缀,客户端通过代理前缀为下面的主机分配IPv6全球单播地址。代理前缀分配方式中地址池的选择原则和通过DHCPv6协议分配IPv6全球单播地址方式中地址池的选择原则一致。
根据组网不同,主机获取IPv6地址的方式如下:
· 当主机通过桥设备或者直连接入设备时,设备可以采用上述的方式1或方式2直接为主机分配IPv6全球单播地址。
· 当主机通过路由器接入设备时,设备可以采用方式3为路由器分配IPv6前缀,路由器把这些IPv6前缀分配给主机来生成IPv6全球单播地址。
(2) IPv6 DNS服务器地址分配
在IPv6网络中,IPv6 DNS服务器地址的分配有如下两种方式:
· AAA授权IPv6 DNS服务器地址,通过ND协议中的RA报文将此IPv6 DNS服务器地址分配给主机。
· DHCPv6客户端向DHCPv6服务器申请IPv6 DNS服务器地址。
MP是MultiLink PPP的缩写,是基于增加带宽的考虑,将多个PPP通道捆绑成一条逻辑链路使用而产生的。MP会将报文分片(小于最小分片包长时不分片)后,从MP链路下的多个PPP通道发送到对端,对端将这些分片组装起来传递给网络层处理。
MP主要是增加带宽的作用,除此之外,MP还有负载分担的作用,这里的负载分担是链路层的负载分担;负载分担从另外一个角度解释就有了备份的作用。同时,MP的分片可以起到减小传输时延的作用,特别是在一些低速链路上。
综上所述,MP的作用主要有以下几个:
· 增加带宽
· 负载分担
· 备份
· 利用分片降低时延
MP能在任何支持PPP封装的接口下工作,如串口、ISDN的BRI/PRI接口等,也包括支持PPPoX(PPPoE、PPPoA等)的虚拟接口,建议用户将同一类的接口捆绑使用,不要将不同类的接口捆绑使用。
表1-1 PPP配置任务简介
配置任务 |
说明 |
详细配置 |
配置接口封装PPP协议 |
必选 |
|
配置PPP认证方式 |
可选 |
|
配置轮询功能 |
可选 |
|
配置PPP协商参数 |
可选 |
|
配置PPP IPHC压缩功能 |
可选 |
|
配置PPP链路质量监测功能 |
可选 |
|
配置PPP计费统计功能 |
可选 |
|
配置PPP用户的nas-port-type属性 |
可选 |
表1-2 配置接口封装PPP协议
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口封装的链路层协议为PPP |
link-protocol ppp |
缺省情况下,除以太网接口、VLAN接口、ATM接口外,其它接口封装的链路层协议均为PPP |
PPP支持如下认证方式:PAP、CHAP、MSCHAP、MSCHAPv2。用户可以同时配置多种认证方式,在LCP协商过程中,认证方根据用户配置的认证方式顺序逐一与被认证方进行协商,直到协商通过。如果协商过程中,被认证方回应的协商报文中携带了建议使用的认证方式,认证方查找配置中存在该认证方式,则直接使用该认证方式进行认证。
(1) 配置认证方
表1-3 配置认证方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地认证对端的方式为PAP |
ppp authentication-mode pap [ [ call-in ] domain { isp-name | default enable isp-name } ] |
缺省情况下,PPP协议不进行认证 |
配置本地AAA认证或者远程AAA认证 |
请参见“安全配置指导”中的“AAA” · 若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码 · 若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码 |
为被认证方配置的用户名和密码必须与被认证方上的配置一致 |
(2) 配置被认证方
表1-4 配置被认证方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地被对端以PAP方式认证时本地发送的PAP用户名和密码 |
ppp pap local-user username password { cipher | simple } string |
缺省情况下,被对端以PAP方式认证时,本地设备发送的用户名和密码均为空 查看加密方式时,无论采用明文或密文加密,默认显示密文方式 |
CHAP认证分为两种:认证方配置了用户名和认证方没有配置用户名。
(1) 认证方配置了用户名
· 配置认证方
表1-5 配置认证方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地认证对端的方式为CHAP |
ppp authentication-mode chap [ [ call-in ] domain { isp-name | default enable isp-name } ] |
缺省情况下,PPP协议不进行认证 |
配置采用CHAP认证时认证方的用户名 |
ppp chap user username |
缺省情况下,CHAP认证的用户名为空 在被认证方上为认证方配置的用户名必须跟此处配置的一致 |
配置本地AAA认证或者远程AAA认证 |
请参见“安全配置指导”中的“AAA” · 若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码 · 若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码 |
为被认证方配置的用户名必须与被认证方上的配置一致 认证方用户的密码和被认证方用户的密码要配置成相同的 |
· 配置被认证方
表1-6 配置被认证方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置采用CHAP认证时被认证方的用户名 |
ppp chap user username |
缺省情况下,CHAP认证的用户名为空 在认证方上为被认证方配置的用户名必须跟此处配置的一致 |
配置本地AAA认证或者远程AAA认证 |
请参见“安全配置指导”中的“AAA” · 若采用本地AAA认证,则被认证方必须为认证方配置本地用户的用户名和密码 · 若采用远程AAA认证,则远程AAA服务器上需要配置认证方的用户名和密码 |
为认证方配置的用户名必须与认证方上的配置一致 认证方用户的密码和被认证方用户的密码要配置成相同的 |
(2) 认证方没有配置用户名
· 配置认证方
表1-7 配置认证方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地认证对端的方式为CHAP |
ppp authentication-mode chap [ [ call-in ] domain { isp-name | default enable isp-name } ] |
缺省情况下,PPP协议不进行认证 |
配置本地AAA认证或者远程AAA认证 |
请参见“安全配置指导”中的“AAA” · 若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码 · 若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码 |
为被认证方配置的用户名必须与被认证方上的配置一致 为被认证方配置的密码必须与被认证方上配置的CHAP认证密码一致 |
· 配置被认证方
表1-8 配置被认证方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置采用CHAP认证时被认证方的用户名 |
ppp chap user username |
缺省情况下,CHAP认证的用户名为空 在认证方上为被认证方配置的用户名必须跟此处配置的一致 |
设置CHAP认证密码 |
ppp chap password { cipher | simple } password |
缺省情况下,没有配置进行CHAP认证时采用的密码 在认证方上为被认证方配置的密码必须跟此处配置的一致 查看加密方式时,无论采用明文或密文加密,默认显示密文方式 |
与CHAP认证相同,MSCHAP和MSCHAPv2认证也分为两种:认证方配置了用户名和认证方没有配置用户名。
配置MSCHAP或MSCHAPv2认证时需注意:
· 设备只能作为MSCHAP和MSCHAPv2的认证方来对其它设备进行认证。
· L2TP环境下仅支持MSCHAP认证,不支持MSCHAPv2认证。
· MSCHAPv2认证只有在RADIUS认证的方式下,才能支持修改密码机制。
· MSCHAPv2认证时不支持为PPP用户配置认证方式为none。
表1-9 配置MSCHAP或MSCHAPv2认证的认证方(认证方配置了用户名)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地认证对端的方式为MSCHAP或MSCHAPv2 |
ppp authentication-mode { ms-chap | ms-chap-v2 } [ [ call-in ] domain { isp-name | default enable isp-name } ] |
缺省情况下,PPP协议不进行认证 |
配置采用MSCHAP或MSCHAPv2认证时认证方的用户名 |
ppp chap user username |
在被认证方上为认证方配置的用户名必须跟此处配置的一致 |
配置本地AAA认证或者远程AAA认证 |
请参见“安全配置指导”中的“AAA” · 若采用本地AAA认证,则认证方必须为被认证方配置本地用户的用户名和密码 · 若采用远程AAA认证,则远程AAA服务器上需要配置被认证方的用户名和密码 |
为被认证方配置的用户名和密码必须与被认证方上的配置一致 |
表1-10 配置MSCHAP或MSCHAPv2认证的认证方(认证方没有配置用户名)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地认证对端的方式为MSCHAP或MSCHAPv2 |
ppp authentication-mode { ms-chap | ms-chap-v2 } [ [ call-in ] domain { isp-name | default enable isp-name } ] |
缺省情况下,PPP协议不进行认证 |
配置本地AAA认证或者远程AAA认证 |
请参见“安全配置指导”中的“AAA” · 若采用本地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-11 配置轮询功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口发送keepalive报文的周期 |
timer-hold seconds |
缺省情况下,接口发送keepalive报文的周期为10秒 |
配置接口在多少个keepalive周期内没有收到keepalive报文的应答就拆除链路 |
timer-hold retry retry |
缺省情况下,接口在5个keepalive周期内没有收到keepalive报文的应答就拆除链路 |
可以配置的PPP协商参数包括:
· 协商超时时间间隔
· 协商IP地址
· 协商接口IP网段
· 协商DNS服务器地址
· 协商ACCM(Async-Control-Character-Map,异步控制字符映射表)
· 协商ACFC(Address-and-Control-Field-Compression,地址控制字段压缩)
· 协商PFC(Protocol-Field-Compression,协议字段压缩)
在PPP协商过程中,如果在这个时间间隔内没有收到对端的应答报文,则PPP将会重发前一次发送的报文。超时时间间隔的取值范围为1~10秒。
在PPP链路两端设备对LCP协商报文的处理速度差异较大的情况下,为避免因一端无法及时处理对端发送的LCP协商报文而导致对端重传,可在对协商报文处理速度较快的设备上配置LCP协商的延迟时间。配置LCP协商的延迟时间后,当接口物理层UP时PPP将在延迟时间超时后才会主动进行LCP协商;如果在延迟时间内本端设备收到对端设备发送的LCP协商报文,则本端设备将不再等待延迟时间超时,而是直接进行LCP协商。
表1-12 配置协商超时时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置协商超时时间间隔 |
ppp timer negotiate seconds |
缺省情况下,协商超时时间间隔为3秒 |
(可选)配置LCP协商的延迟时间 |
ppp lcp delay milliseconds |
缺省情况下,接口物理层UP后,PPP立即进行LCP协商 |
(1) 配置Client端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
为接口配置IP地址可协商属性 |
ip address ppp-negotiate |
缺省情况下,接口没有配置IP地址可协商属性 多次执行本命令和ip address命令,最后一次执行的命令生效。关于ip address命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“IP地址” |
(2) 配置Server端
在下列三种Server端分配IP地址的方式下Server端需要进行配置:
· 在接口下指定为Client端分配的IP地址。
· 从接口下指定的地址池中分配IP地址。
· 从ISP域下关联的地址池中分配IP地址。
这三种方式中,不同PPP用户可以采用的方式如下:
· 不需要进行PPP认证的PPP用户可以使用两种方式:在接口下指定为Client端分配的IP地址和从接口下指定的地址池中分配IP地址。同时配置这两种方式,最后一次的配置生效。
· 需要进行PPP认证的PPP用户可以使用全部的三种方式。用户可以同时配置多种方式。同时配置多种方式时,以ISP域下关联的地址池优先,然后是接口下指定为Client端分配的IP地址或者地址池(接口下的这两种方式同时配置时,最后一次的配置生效)。
PPP可以使用两类地址池为对端分配IP地址:PPP地址池、DHCP地址池,优先采用PPP地址池。如果用户配置了名称相同的PPP地址池和DHCP地址池,并采用该名称的地址池来分配IP地址,则系统只会使用PPP地址池来分配IP地址。需要注意的是,当通过PPP地址池给用户分配IP地址时,请确保PPP地址池中不包含该PPP地址池的网关地址。
表1-14 配置Server端(在接口下指定为Client端分配的IP地址)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口为Client端分配的IP地址 |
remote address ip-address |
缺省情况下,接口不为Client端分配IP地址 |
配置Server端的IP地址 |
ip address ip-address |
缺省情况下,接口没有配置IP地址 |
表1-15 配置Server端(从接口下指定的PPP地址池中分配IP地址)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置PPP地址池 |
ip pool pool-name start-ip-address [ end-ip-address ] [ group group-name ] |
缺省情况下,没有配置PPP地址池 |
(可选)配置PPP地址池的网关地址 |
ip pool pool-name gateway ip-address [ vpn-instance vpn-instance-name ] |
缺省情况下,没有为PPP地址池配置网关地址 |
(可选)配置PPP地址池路由 |
ppp ip-pool route ip-address { mask-length | mask } [ vpn-instance vpn-instance-name ] |
缺省情况下,没有配置PPP地址池路由 用户需要保证配置的PPP地址池路由网段覆盖PPP地址池网段范围 |
进入接口视图 |
interface interface-type interface-number |
- |
使用PPP地址池为Client端分配IP地址 |
remote address pool pool-name |
缺省情况下,接口不为Client端分配IP地址 |
配置Server端的IP地址 |
ip address ip-address |
缺省情况下,接口没有配置IP地址 |
表1-16 配置Server端(从接口下指定的DHCP地址池中分配IP地址)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP功能 |
· 如果Server端同时作为DHCP服务器,则在Server端上配置DHCP服务器、DHCP地址池相关内容 · 如果Server端作为DHCP中继,则在Server端上配置DHCP中继相关内容(必须配置DHCP中继用户地址表项记录功能、DHCP中继地址池),并在远端DHCP服务器上配置DHCP地址池 |
DHCP的具体配置介绍请参见“三层技术-IP业务配置指导”中的“DHCP” |
进入接口视图 |
interface interface-type interface-number |
- |
使用DHCP地址池为Client端分配IP地址 |
remote address pool pool-name |
缺省情况下,接口不为Client端分配IP地址 |
配置Server端的IP地址 |
ip address ip-address |
缺省情况下,接口没有配置IP地址 |
表1-17 配置Server端(从ISP域下关联的PPP地址池中分配IP地址)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置PPP地址池 |
ip pool pool-name start-ip-address [ end-ip-address ] group group-name |
缺省情况下,没有配置PPP地址池 |
(可选)配置PPP地址池的网关地址 |
ip pool pool-name gateway ip-address [ vpn-instance vpn-instance-name ] |
缺省情况下,没有为PPP地址池配置网关地址 |
(可选)配置PPP地址池路由 |
ppp ip-pool route ip-address { mask-length | mask } [ vpn-instance vpn-instance-name ] |
缺省情况下,没有配置PPP地址池路由 用户需要保证配置的PPP地址池路由网段覆盖PPP地址池网段范围 |
进入ISP域视图 |
domain isp-name |
- |
在ISP域下关联PPP地址池为Client端分配IP地址 |
authorization-attribute ip-pool pool-name |
缺省情况下,ISP域下没有关联PPP地址池 本命令的详细介绍请参见“安全命令参考”中的“AAA” |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Server端的IP地址 |
ip address ip-address |
缺省情况下,接口没有配置IP地址 |
表1-18 配置Server端(从ISP域下关联的DHCP地址池中分配IP地址)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DHCP功能 |
· 如果Server端同时作为DHCP服务器,则在Server端上配置DHCP服务器、DHCP地址池相关内容 · 如果Server端作为DHCP中继,则在Server端上配置DHCP中继相关内容(必须配置DHCP中继用户地址表项记录功能、DHCP中继地址池),并在远端DHCP服务器上配置DHCP地址池 |
DHCP的具体配置介绍请参见“三层技术-IP业务配置指导”中的“DHCP” |
进入ISP域视图 |
domain isp-name |
- |
在ISP域下关联DHCP地址池为Client端分配IP地址 |
authorization-attribute ip-pool pool-name |
缺省情况下,ISP域下没有关联DHCP地址池 本命令的详细介绍请参见“安全命令参考”中的“AAA” |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Server端的IP地址 |
ip address ip-address |
缺省情况下,接口没有配置IP地址 |
使能接口的IP网段检查功能后,当IPCP协商时,本地会检查对端的IP地址与本端接口的IP地址是否在同一网段,如果不在同一网段,则IPCP协商失败。
如果接口的IP网段检查功能处于关闭状态,则在IPCP协商阶段不进行接口IP网段检查。
表1-19 配置接口IP网段检查
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能接口的IP网段检查功能 |
ppp ipcp remote-address match |
缺省情况下,接口的IP网段检查功能处于关闭状态 |
(1) 配置Client端
正常情况下,Client端配置了ppp ipcp dns request命令,Server端才会为本端指定DNS服务器地址。但是有一些特殊的设备,Client端并未请求,Server端却要强制为Client端指定DNS服务器地址,从而导致协商不通过,为了适应这种情况,Client端可以配置ppp ipcp dns admit-any命令。
表1-20 配置Client端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置设备主动请求对端指定DNS服务器地址 |
ppp ipcp dns request |
缺省情况下,禁止设备主动向对端请求DNS服务器地址 |
配置设备可以被动地接收对端指定的DNS服务器地址,即设备不发送DNS请求,也能接收对端设备分配的DNS服务器地址 |
ppp ipcp dns admit-any |
缺省情况下,设备不会被动地接收对端设备指定的DNS服务器的IP地址 在配置了ppp ipcp dns request命令的情况下不用配置本命令 |
(2) 配置Server端
表1-21 配置Server端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置设备为对端设备指定DNS服务器地址 |
ppp ipcp dns primary-dns-address [ secondary-dns-address ] |
缺省情况下,设备不为对端设备指定DNS服务器的IP地址 收到Client端的请求后,Server端才会为对端指定DNS服务器地址 |
在异步链路上需要使用到异步控制字符,如果在载荷中存在与异步控制字符相同的字符,则需要进行字符转义,避免异步链路将载荷当成异步控制字符处理。每个异步控制字符的长度为1字节,转义后长度就变为2字节,转义后的异步控制字符占用的带宽增加了,将减少有效载荷。
ACCM协商选项用来和对端协商哪些异步控制字符需要转义,哪些异步控制字符不需要转义的。ACCM字段长32比特,每个比特从左到右按1、2、3、…、32进行编号,每个比特编号对应一个具有相同值的异步控制字符。如果这个比特的值为0,那么对应的异步控制字符不需要进行转义;如果这个比特的值为1,那么对应的异步控制字符就需要进行转义。例如,当19比特的值为0时,对应的19号异步控制字符(DC3,Control-S)将被直接发送,不需要进行转义。
ACCM协商在LCP协商阶段进行。当ACCM协商通过后,对端发送报文时将按照此异步控制字符映射表进行异步控制字符转义。
缺省情况下,ACCM字段的值为0x000A0000。在低速链路上,为了减少异步控制字符占用的带宽,增加有效载荷,建议将ACCM协商选项的值配置为0x0,即不进行转义。
表1-22 配置ACCM协商
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置ACCM字段的值 |
ppp accm hex-number |
缺省情况下,ACCM字段的值为0x000A0000 ACCM协商选项只有在异步链路上才会生效 |
缺省情况下,PPP报文中的地址字段的值固定为0xFF,控制字段的值固定为0x03,既然这两个字段的值是固定的,就可以对这两个字段进行压缩。
ACFC协商选项字段用来通知对端,本端可以接收地址和控制字段被压缩的报文。
ACFC协商在LCP协商阶段进行,当协商通过后,对于发送的非LCP报文将进行地址控制字段压缩,不再添加地址控制字段,以增加链路的有效载荷;对于LCP报文不进行地址控制字段压缩,以确保LCP协商过程顺利进行。
建议在低速链路上配置本功能。
(1) 配置本地发送ACFC协商请求
表1-23 配置本地发送ACFC协商请求
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地发送ACFC协商请求,即LCP协商时本地发送的协商请求携带ACFC协商选项 |
ppp acfc local-request |
缺省情况下,LCP协商时本地发送的协商请求不携带ACFC协商选项 |
(2) 配置拒绝对端的ACFC协商请求
表1-24 配置拒绝对端的ACFC协商请求
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置拒绝对端的ACFC协商请求,即LCP协商时拒绝对端携带的ACFC协商选项 |
ppp acfc remote-reject |
缺省情况下,接受对端的ACFC协商请求,即LCP协商时接受对端携带的ACFC协商选项,并且发送的报文进行地址控制字段压缩 |
缺省情况下,PPP报文中的协议字段长度为2字节,然而,目前典型的协议字段取值都小于256,所以可以压缩成一个字节来区分协议类型。
PFC协商选项字段用来通知对端,本端可以接收协议字段被压缩成一个字节的报文。
PFC协商在LCP协商阶段进行,当协商通过后,对于发送的非LCP报文将进行协议字段压缩,如果协议字段的头8比特为全零,则不添加此8比特,以增加链路的有效载荷;对于LCP报文不进行协议字段压缩,以确保LCP协商过程顺利进行。
建议在低速链路上配置本功能。
(1) 配置本地发送PFC协商请求
表1-25 配置本地发送PFC协商请求
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地发送PFC协商请求,即LCP协商时本地发送的协商请求携带PFC协商选项 |
ppp pfc local-request |
缺省情况下,LCP协商时本地发送的协商请求不携带PFC协商选项 |
(2) 配置拒绝对端的PFC协商请求
表1-26 配置拒绝对端的PFC协商请求
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置拒绝对端的PFC协商请求,即LCP协商时拒绝对端携带的PFC协商选项 |
ppp pfc remote-reject |
缺省情况下,接受对端的PFC协商请求,即LCP协商时接受对端携带的PFC协商选项,并且发送的报文进行协议字段压缩 |
IPHC(IP Header Compression,IP报文头压缩)协议主要应用于低速链路上的语音通信。
在低速链路上,每个语音报文中报文头消耗大部分的带宽。比如,G.729编码20ms打包时长PPP链路,每秒传送1000/20=50个语音报文,每个语音报文中都包含46字节的报文头(6字节PPP头、20字节IP头、8字节UDP头、12字节RTP头),这样每一路语音数据所占的带宽为:(6+20+8+12)*8*50+8000(语音净荷所占带宽)=26.4kbps,传送RTP/UDP/IP头所花的带宽开销还是很大的,为(20+8+12)*8*50=16kbps,占语音数据总带宽的百分比为16k/26.4k=60.1%,网络带宽利用率很差。为了减少报文头对带宽的消耗,可以在PPP链路上使用IPHC压缩功能,对报文头进行压缩。
IPHC压缩分为如下两种:
· RTP头压缩:对报文中的RTP/UDP/IP头(长度共40字节)进行压缩。
· TCP头压缩:对报文中的TCP/IP头(长度共40字节)进行压缩。
IPHC压缩机制的总体思想是:在一次连接过程中,IP头、UDP头、RTP头以及TCP头中的一些字段是固定不变的,还有一些字段是有规律变化的,这样在压缩端和解压端分别维护一个压缩表项和解压缩表项来保存固定不变的字段和有规律变化的字段,在传输过程中,压缩端不需要发送完整的报文头,只发送报文头中有变化的信息,减少了报文头信息的长度,从而降低了报文头所占的带宽。
(1) 在压缩过程中,压缩端会将变化的字段编码到报文中;对于有规律变化的字段,其二次差分值为零时则不需要携带,其二次差分值不为零时,则其标志位置1,并将其一次差分值和标志位字段编码到报文中。
(2) 在解压过程中,解压端跟据解压缩表项还原固定不变的字段,对于有规律变化的字段,若其标志位为0,则按其变化规律做相应计算还原;若其标志位为1,则根据报文中携带的该字段的一次差分值和解压缩表项中该字段的信息进行计算还原。
举例说明:在压缩TCP头时,Destination Port为固定不变的字段,在报文中不用携带;URG为变化的字段,在报文中携带;Sequence Number为有规律变化的字段(一般情况下是每次增加1),压缩端首先计算被压缩报文的Sequence Number字段和压缩表项中的Sequence Number字段的差值,即一次差分值,如果一次差分值为1,那么其二次差分值为1-1=0,则这个字段就不用携带,解压端会自动加1还原;如果其一次差分值不为1,比如为2,那么二次差分值就为2-1=1,这时就会置位Sequence Number的标志位,并将一次差分值2编码到报文中,解压端会在解压缩表项中的Sequence Number字段上加2还原。
配置本功能时需要注意:
· 用户必须在链路的两端同时开启IPHC压缩功能,该功能才生效。
· 在虚拟模板接口、Dialer接口、ISDN接口上开启/关闭IPHC压缩功能时,配置不会立即生效,只有对此接口或者其绑定的物理接口进行shutdown/undo shutdown操作后,配置才能生效。
· 只有在开启IPHC压缩功能后,才能配置接口上允许进行RTP头/TCP头压缩的最大连接数,并且需要对接口进行shutdown/undo shutdown操作后,配置才能生效。在关闭IPHC压缩功能后,配置将被清除。
表1-27 配置PPP IPHC压缩功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启PPP IPHC压缩功能 |
ppp compression iphc enable [ nonstandard ] |
缺省情况下,IPHC压缩功能处于关闭状态 与友商设备互通时需要配置nonstandard参数 配置nonstandard参数后,仅支持RTP头压缩,不支持TCP头压缩 |
配置接口上允许进行RTP头压缩的最大连接数 |
ppp compression iphc rtp-connections number |
缺省情况下,接口上允许进行RTP头压缩的最大连接数为16 |
配置接口上允许进行TCP头压缩的最大连接数 |
ppp compression iphc tcp-connections number |
缺省情况下,接口上允许进行TCP头压缩的最大连接数为16 |
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-28 配置PPP链路质量监测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启PPP链路质量监测功能 |
ppp lqm close-percentage close-percentage [ resume-percentage resume-percentage ] |
缺省情况下,PPP链路质量监测功能处于关闭状态 |
开启当监测到链路质量低的时候向对端发送LCP echo报文增加检测流量的功能 |
ppp lqm lcp-echo [ packet size ] [ interval interval ] |
缺省情况下,当监测到链路质量低的时候向对端发送LCP echo报文增加检测流量的功能处于关闭状态 |
PPP协议可以为每条PPP链路提供基于流量的计费统计功能,具体统计内容包括出入两个方向上流经本链路的报文数和字节数。AAA可以获取这些流量统计信息用于计费控制。关于AAA计费的详细介绍请参见“安全配置指导”中的“AAA”。
表1-29 配置PPP计费统计功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启PPP计费统计功能 |
ppp account-statistics enable [ acl { acl-number | name acl-name } ] |
缺省情况下,PPP计费统计功能处于关闭状态 |
本特性用来配置RADIUS认证计费时所携带的nas-port-type属性。关于nas-port-type属性的详细介绍请参见RFC 2865。
表1-30 配置PPP用户的nas-port-type属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚拟模板接口视图 |
interface virtual-template number |
- |
配置接口的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属性为xdsl,否则nas-port-type属性为ethernet · 如果是PPPoA业务,nas-port-type属性为xdsl · 如果是L2TP业务,nas-port-type属性为virtual |
不支持跨业务板进行MP捆绑。
MP的配置主要有两种方式,一种是通过虚拟模板(Virtual Template,VT)接口,一种是通过MP-group接口。
(1) 通过虚拟模板接口配置MP
VT是用于配置一个VA(Virtual Access,虚拟访问)接口的模板。将多个PPP链路捆绑成MP链路之后,需要创建一个VA接口与对端交换数据。此时,系统将选择一个VT,以便动态地创建一个VA接口。
虚拟模板接口配置方式可以与认证相结合,可以根据对端的用户名找到指定的虚拟模板接口,从而利用模板上的配置,创建相应的捆绑(Bundle),以对应一条MP链路。
由一个虚拟模板接口可以派生出若干个捆绑,每个捆绑对应一条MP链路。从网络层看来,这若干条MP链路会形成一个点对多点的网络拓扑。系统可以根据接口接收到的认证用户名或终端标识符来进行MP捆绑,并以此来区分虚模板接口下的多个捆绑(对应多条MP链路)。
系统支持3种绑定方式:
· authentication:根据PPP的认证用户名进行MP捆绑,每个认证用户名对应一个捆绑。认证用户名是指PPP链路进行PAP、CHAP、MSCHAP或MSCHAPv2认证时所接收到的对端用户名。
· descriptor:根据PPP的终端描述符进行MP捆绑,每个终端描述符对应一个捆绑。终端标识符是用来唯一标识一台设备的标志,是指进行LCP协商时所接收到的对端终端标识符。
· both:同时根据PPP的认证用户名和终端描述符进行MP捆绑。
(2) 通过MP-group接口配置MP
MP-group接口是MP的专用接口,不支持其它应用,也不能利用对端的用户名来指定捆绑,同时也不能派生多个捆绑。与虚拟模板接口配置方式相比,MP-group接口配置方式更加快速高效、配置简单、容易理解。
表1-31 MP配置任务简介
配置任务 |
说明 |
详细配置 |
通过虚拟模板接口配置MP |
二者必选其一 |
|
通过MP-group接口配置MP |
||
配置MP短序协商方式 |
可选 |
|
配置MP Endpoint选项 |
可选 |
|
配置链路分片与交叉 |
可选 |
通过虚拟模板接口配置MP时,又可以细分为两种配置方式:
· 将物理接口与虚拟模板接口直接关联:使用命令ppp mp virtual-template直接将链路绑定到指定的虚拟模板接口上,这时可以配置认证也可以不配置认证。如果不配置认证,系统将通过对端的终端描述符捆绑出MP链路;如果配置了认证,系统将通过用户名和/或对端的终端描述符捆绑出MP链路。
· 将用户名与虚拟模板接口关联:根据认证通过后的用户名查找相关联的虚拟模板接口,然后根据用户名和对端终端描述符捆绑出MP链路。这种方式需在要绑定的接口下配置ppp mp及双向认证(PAP、CHAP、MSCHAP或MSCHAPv2),否则链路协商不通。
配置时需要注意:
· 配置ppp mp命令和ppp mp virtual-template命令,最后一次执行的命令生效。即同一个接口只能采用一种配置方式。
· 对于需要绑在一起的接口,必须采用同样的配置方式。
· 实际使用中也可以配置单向认证,即一端直接将物理接口绑定到虚拟模板接口,另一端则通过用户名查找虚拟模板接口。
· 不推荐使用同一个虚拟模板接口配置多种业务(如MP、L2TP、PPPoE等)。
表1-32 通过虚拟模板接口配置MP
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建虚拟模板接口并进入指定的虚拟模板接口视图 |
interface virtual-template number |
如果指定的虚拟模板接口已经创建,则该命令用来直接进入虚拟模板接口视图 |
|
(可选)配置接口的描述信息 |
description text |
缺省情况下,接口的描述信息为“该接口的接口名 Interface”,比如:Virtual-Template1 Interface |
|
配置接口发送keepalive报文的周期 |
timer-hold seconds |
缺省情况下,接口发送keepalive报文的周期为10秒 |
|
配置接口在多少个keepalive周期内没有收到keepalive报文的应答就拆除链路 |
timer-hold retry retry |
缺省情况下,接口在5个keepalive周期内没有收到keepalive报文的应答就拆除链路 |
|
配置接口的MTU值 |
mtu size |
缺省情况下,接口的MTU值为1500字节 |
|
配置接口的期望带宽 |
bandwidth bandwidth-value |
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps) |
|
(可选)配置转发当前虚拟模板接口下VA接口流量的主用slot(分布式设备-独立运行模式/集中式设备-IRF模式) |
service slot slot-number |
缺省情况下,未配置指定转发当前虚拟模板接口下VA接口流量的主用slot |
|
(可选)配置转发当前虚拟模板接口下VA接口流量的主用slot(分布式设备-IRF模式) |
service chassis chassis-number slot slot-number |
缺省情况下,未配置指定转发当前虚拟模板接口下VA接口流量的主用slot |
|
(可选)配置转发当前虚拟模板接口下VA接口流量的备用slot(分布式设备-独立运行模式/集中式设备-IRF模式) |
service standby slot slot-number |
缺省情况下,未配置转发当前虚拟模板接口下VA接口流量的备用slot |
|
(可选)配置转发当前虚拟模板接口下VA接口流量的备用slot(分布式设备-IRF模式) |
service standby chassis chassis-number slot slot-number |
缺省情况下,未配置转发当前虚拟模板接口下VA接口流量的备用slot |
|
(可选)恢复接口的缺省配置 |
default |
- |
|
退回系统视图 |
quit |
- |
|
将物理接口或用户名与虚拟模板接口关联 (二者选其一) |
将物理接口与虚拟模板接口关联 |
interface interface-type interface-number |
- |
配置接口所要绑定的虚拟模板接口号,并使接口工作在MP方式: ppp mp virtual-template number |
缺省情况下,接口没有MP绑定,工作在普通PPP方式下 |
||
PPP认证对MP连接的建立没有影响 |
|||
将用户名与虚拟模板接口关联 |
建立虚拟模板接口与MP用户的对应关系: ppp mp user username bind virtual-template number |
缺省情况下,虚拟模板接口与MP用户不进行绑定 |
|
interface interface-type interface-number |
- |
||
配置封装PPP的接口工作在MP方式: ppp mp |
缺省情况下,封装PPP的接口工作在普通PPP方式下 |
||
- |
|||
配置MP的其它参数 |
请参见“表1-33” |
|
表1-33 配置MP的其它参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MP虚拟模板接口或者Dialer接口视图 |
interface { dialer | virtual-template } number |
关于在Dialer接口下配置MP参数的详细介绍,请参见“二层技术-广域网接入配置指导”中的“DDR” |
配置MP捆绑的条件 |
ppp mp binding-mode { authentication | both | descriptor } |
缺省情况下,同时根据PPP的认证用户名和终端标识符进行MP捆绑 |
(可选)配置MP最大捆绑链路数 |
ppp mp max-bind max-bind-num |
缺省情况下,最大捆绑链路数为16 |
(可选)配置MP最小捆绑链路数 |
ppp mp min-bind min-bind-num |
缺省情况下,最小捆绑链路数为0,即MP拨号将依赖流量检测 本命令只能在Dialer接口下进行配置 ppp mp min-bind命令配置的最小捆绑链路数应该小于等于ppp mp max-bind命令配置的最大捆绑链路数 |
配置对MP报文进行分片的最小报文长度 |
ppp mp min-fragment size |
缺省情况下,对MP报文进行分片的最小报文长度为128字节 |
配置MP排序窗口的大小 |
ppp mp sort-buffer-size size |
缺省情况下,MP排序窗口大小系数为1 |
(可选)配置MP等待期望分片报文的时间 |
ppp mp timer lost-fragment seconds |
缺省情况下,MP等待期望分片报文的时间为30秒 |
(可选)关闭MP报文分片功能 |
ppp mp fragment disable |
缺省情况下,MP报文分片功能处于开启状态 配置ppp mp fragment disable命令后,接口的ppp mp lfi enable、ppp mp min-fragment命令不再起作用 |
表1-34 通过MP-group接口配置MP
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建MP-group接口并进入指定的MP-group接口视图 |
interface mp-group mp-number |
如果指定的MP-group接口已经创建,则该命令用来直接进入MP-group接口视图 |
(可选)配置MP最大捆绑链路数 |
ppp mp max-bind max-bind-num |
缺省情况下,最大捆绑链路数为16 本配置不能立即生效,必须对所有已捆绑的物理接口依次执行shutdown和undo shutdown之后改变才会生效 |
配置对MP报文进行分片的最小报文长度 |
ppp mp min-fragment size |
缺省情况下,对MP报文进行分片的最小报文长度为128字节 |
配置MP排序窗口的大小 |
ppp mp sort-buffer-size size |
缺省情况下,MP排序窗口大小系数为1 |
(可选)配置MP等待期望分片报文的时间 |
ppp mp timer lost-fragment seconds |
缺省情况下,MP不启动等待期望分片报文的定时器 |
(可选)关闭MP报文分片功能 |
ppp mp fragment disable |
缺省情况下,MP报文分片功能处于开启状态 配置ppp mp fragment disable命令后,接口的ppp mp lfi enable、ppp mp min-fragment命令不再起作用 |
(可选)配置接口的描述信息 |
description text |
缺省情况下,接口的描述信息为“该接口的接口名 Interface”,比如:MP-group3 Interface |
配置轮询时间间隔 |
timer-hold period |
缺省情况下,轮询时间间隔为10秒 |
配置接口的MTU值 |
mtu size |
缺省情况下,接口的MTU值为1500字节 |
配置接口的期望带宽 |
bandwidth bandwidth-value |
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps) |
(可选)恢复接口的缺省配置 |
default |
- |
打开接口 |
undo shutdown |
缺省情况下,接口处于打开状态 |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
将接口加入指定的MP-group接口,使接口工作在MP方式 |
ppp mp mp-group mp-number |
缺省情况下,接口工作在普通PPP方式 |
MP捆绑组在收发报文时默认使用长序方式(长序、短序是指报文序号的长短)。
配置本功能时需要注意:
· 如果本端接收使用短序,则需要在协商LCP的过程添加短序请求,请求对端发送短序,协商通过后,对端使用短序发送。
· 如果本端发送使用短序,则需要对端发出短序协商请求,协商通过后,本端使用短序发送。
· MP捆绑组使用的长短序方式由第一条加入该捆绑组中的子通道决定,后续加入捆绑组的子通道配置不能更改MP捆绑组的长短序方式。
· 如果想使用MP短序协商,对于拨号MP,建议在Dialer接口及ISDN的D信道下均配置该命令;对于普通MP,建议在所有的MP子通道下配置该命令。配置该命令会导致PPP重协商。
表1-35 配置MP短序协商方式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
触发MP短序协商,协商成功后本端接收方向将使用短序 |
ppp mp short-sequence |
缺省情况下,不触发短序协商,使用长序 |
在MP的LCP协商过程会协商Endpoint选项(终端描述符)值:
· 在通过虚拟模板接口配置MP时,会根据Endpoint选项值来进行MP捆绑。缺省情况下,接口发送报文中携带的Endpoint选项内容为设备名称。如果网络中存在相同的设备名称,导致无法区分MP捆绑时,用户可以修改接口发送报文中携带的Endpoint选项的内容。
· 在通过MP-group接口配置MP时,不需要根据Endpoint选项值进行MP捆绑。当使用ppp mp mp-group命令将接口加入指定MP-group后,接口发送报文中携带的Endpoint选项内容缺省为MP-group的接口名称,如果用户配置了Endpoint选项内容,则携带用户配置的值。
由于Endpoint选项内容最长为20字节,如果内容超过20个字节,则截取前20个字节作为Endpoint选项内容。
表1-36 配置MP Endpoint选项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置当前接口在MP应用时,LCP协商的Endpoint选项内容 |
ppp mp endpoint endpoint |
- |
在低速串行链路上,实时交互式通信(如Telnet和VoIP)往往会由于大型分组的发送而导致阻塞延迟。例如,在大报文被调度而等待发送时收到语音报文,语音报文需要等该大报文被传输完毕后才能被调度。对于交互式语音等实时应用而言,大报文导致的这种阻塞延迟太长了,对端将听到断断续续的话音。交互式语音要求端到端的延迟不大于100~150ms。
一个1500bytes(即通常MTU的大小)的报文需要花费215ms穿过56kbps的链路,这超过了人所能忍受的延迟限制。为了在相对低速的链路上限制实时报文的延迟时间,例如56kbps Frame Relay或64kbps ISDN B通道,需要一种方法将大报文进行分片,将小报文和大报文的分片一起加入到队列。
LFI(Link Fragmentation and Interleaving,链路分片与交叉)将大型数据帧分割成小型帧,与其它小片的报文一起发送,从而减少在低速链路上的延迟和抖动。被分割的数据帧在目的地被重组。
图1-2描述了LFI的处理过程。大报文和小的语音报文一起到达某个接口,将大报文分割成小的分片,如果在接口配置了WFQ(Weighted Fair Queuing,加权公平队列),语音包与这些小的分片一起交叉放入WFQ。
图1-2 LFI的处理过程
使能LFI功能后,LFI最大分片大小由LFI分片的最大时延(通过ppp mp lfi delay-per-frag命令配置)和LFI分片的最大字节数(通过ppp mp lfi size-per-frag命令配置)决定:
· 如果配置了LFI分片的最大字节数,LFI最大分片大小就是该最大字节数。
· 如果配置了LFI分片的最大时延,LFI最大分片大小通过接口的期望带宽和配置的最大时延计算得出:LFI最大分片大小=(接口的期望带宽×最大时延)÷8。
表1-37 配置链路分片与交叉
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚拟模板接口视图、MP-group接口视图或Dialer接口视图 |
Interface { dialer | mp-group | virtual-template } mp-number |
- |
开启LFI功能 |
ppp mp lfi enable |
缺省情况下,LFI功能处于关闭状态 关闭LFI功能会同时删除用户配置的LFI分片的最大时延或LFI分片的最大字节数 |
配置传输一个LFI分片的最大时延 |
ppp mp lfi delay-per-frag time |
二者选其一 缺省情况下,传输一个LFI分片的最大时延为10ms,LFI分片的大小由ppp mp lfi delay-per-frag的配置来决定 |
配置LFI分片的最大字节数 |
ppp mp lfi size-per-frag size |
在完成上述配置后,在任意视图下执行display命令可以显示PPP和MP配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除相应接口的统计信息。
表1-38 PPP和MP显示和维护
操作 |
命令 |
显示PPP接入用户的信息 |
display ppp access-user { interface interface-type interface-number [ count ] | ip-address ip-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 ] |
显示虚拟模板接口的相关信息 |
display interface [ virtual-template [ interface-number ] ] [ brief [ description | down ] ] |
显示虚拟访问接口的相关信息 |
display interface [ virtual-access [ interface-number ] ] [ brief [ description | down ] ] |
显示MP-group接口的相关信息 |
display interface [ mp-group [ interface-number ] ] [ brief [ description | down ] ] |
显示MP的相关信息 |
display ppp mp [ interface interface-type interface-number ] |
清除IPHC压缩的统计信息 |
reset ppp compression iphc [ rtp | tcp ] [ interface interface-type interface-number ] |
强制PPP用户下线 |
reset ppp access-user { ip-address ip-address [ vpn-instance ipv4-vpn-instance-name ] | ipv6-address ipv6-address [ vpn-instance ipv6-vpn-instance-name ] | username user-name } |
清除VA接口的统计信息 |
reset counters interface [ virtual-access [ interface-number ] ] |
清除MP-group接口的统计信息 |
reset counters interface [ mp-group [ interface-number ] ] |
如图1-3所示,Router A和Router B之间用接口Serial2/1/0互连,要求Router A用PAP方式认证Router B,Router B不需要对Router A进行认证。
图1-3 配置PAP单向认证组网图
(1) 配置Router A
# 为Router B创建本地用户。
<RouterA> system-view
[RouterA] local-user userb class network
# 设置本地用户的密码。
[RouterA-luser-network-userb] password simple passb
# 设置本地用户的服务类型为PPP。
[RouterA-luser-network-userb] service-type ppp
[RouterA-luser-network-userb] quit
# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] link-protocol ppp
# 配置本地认证Router B的方式为PAP。
[RouterA-Serial2/1/0] ppp authentication-mode pap domain system
# 配置接口的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
[RouterA-Serial2/1/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system
[RouterA-isp-system] authentication ppp local
(2) 配置Router B
# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
<RouterB> system-view
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] link-protocol ppp
# 配置本地被Router A以PAP方式认证时Router B发送的PAP用户名和密码。
[RouterB-Serial2/1/0] ppp pap local-user userb password simple passb
# 配置接口的IP地址。
[RouterB-Serial2/1/0] ip address 200.1.1.2 16
通过display interface serial命令,查看接口Serial2/1/0的信息,发现接口的物理层和链路层的状态都是up状态,并且PPP的LCP和IPCP都是opened状态,说明链路的PPP协商已经成功,并且Router A和Router B可以互相ping通对方。
[RouterB-Serial2/1/0] display interface serial 2/1/0
Serial2/1/0
Current state: UP
Line protocol state: UP
Description: Serial2/1/0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds, retry times: 5
Internet address: 200.1.1.2/16 (primary)
Link layer protocol: PPP
LCP: opened, IPCP: opened
…略…
[RouterB-Serial2/1/0] ping 200.1.1.1
Ping 200.1.1.1 (200.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 200.1.1.1: icmp_seq=0 ttl=128 time=3.197 ms
56 bytes from 200.1.1.1: icmp_seq=1 ttl=128 time=2.594 ms
56 bytes from 200.1.1.1: icmp_seq=2 ttl=128 time=2.739 ms
56 bytes from 200.1.1.1: icmp_seq=3 ttl=128 time=1.738 ms
56 bytes from 200.1.1.1: icmp_seq=4 ttl=128 time=1.744 ms
--- Ping statistics for 200.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.738/2.402/3.197/0.576 ms
如图1-4所示,Router A和Router B之间用接口Serial2/1/0互连,要求Router A和Router B用PAP方式相互认证对方。
图1-4 配置PAP双向认证组网图
(1) 配置Router A
# 为Router B创建本地用户。
<RouterA> system-view
[RouterA] local-user userb class network
# 设置本地用户的密码。
[RouterA-luser-network-userb] password simple passb
# 设置本地用户的服务类型为PPP。
[RouterA-luser-network-userb] service-type ppp
[RouterA-luser-network-userb] quit
# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] link-protocol ppp
# 配置本地认证Router B的方式为PAP。
[RouterA-Serial2/1/0] ppp authentication-mode pap domain system
# 配置本地被Router B以PAP方式认证时Router A发送的PAP用户名和密码。
[RouterA-Serial2/1/0] ppp pap local-user usera password simple passa
# 配置接口的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
[RouterA-Serial2/1/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system
[RouterA-isp-system] authentication ppp local
(2) 配置Router B
# 为Router A创建本地用户。
<RouterB> system-view
[RouterB] local-user usera class network
# 设置本地用户的密码。
[RouterB-luser-network-usera] password simple passa
# 设置本地用户的服务类型为PPP。
[RouterB-luser-network-usera] service-type ppp
[RouterB-luser-network-usera] quit
# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] link-protocol ppp
# 配置本地认证Router A的方式为PAP。
[RouterB-Serial2/1/0] ppp authentication-mode pap domain system
# 配置本地被Router A以PAP方式认证时Router B发送的PAP用户名和密码。
[RouterB-Serial2/1/0] ppp pap local-user userb password simple passb
# 配置接口的IP地址。
[RouterB-Serial2/1/0] ip address 200.1.1.2 16
[RouterB-Serial2/1/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterB] domain system
[RouterB-isp-system] authentication ppp local
通过display interface serial命令,查看接口Serial2/1/0的信息,发现接口的物理层和链路层的状态都是up状态,并且PPP的LCP和IPCP都是opened状态,说明链路的PPP协商已经成功,并且Router A和Router B可以互相ping通对方。
[RouterB-isp-system] display interface serial 2/1/0
Serial2/1/0
Current state: UP
Line protocol state: UP
Description: Serial2/1/0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds, retry times: 5
Internet address: 200.1.1.2/16 (primary)
Link layer protocol: PPP
LCP opened, IPCP opened
…略…
[RouterB-isp-system] ping 200.1.1.1
Ping 200.1.1.1 (200.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 200.1.1.1: icmp_seq=0 ttl=128 time=3.197 ms
56 bytes from 200.1.1.1: icmp_seq=1 ttl=128 time=2.594 ms
56 bytes from 200.1.1.1: icmp_seq=2 ttl=128 time=2.739 ms
56 bytes from 200.1.1.1: icmp_seq=3 ttl=128 time=1.738 ms
56 bytes from 200.1.1.1: icmp_seq=4 ttl=128 time=1.744 ms
--- Ping statistics for 200.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.738/2.402/3.197/0.576 ms
在图1-3中,要求设备Router A用CHAP方式认证设备Router B。
图1-5 配置CHAP单向认证组网图
(1) 配置Router A
# 为Router B创建本地用户。
<RouterA> system-view
[RouterA] local-user userb class network
# 设置本地用户的密码。
[RouterA-luser-network-userb] password simple hello
# 设置本地用户的服务类型为PPP。
[RouterA-luser-network-userb] service-type ppp
[RouterA-luser-network-userb] quit
# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] link-protocol ppp
# 配置采用CHAP认证时Router A的用户名。
[RouterA-Serial2/1/0] ppp chap user usera
# 配置本地认证Router B的方式为CHAP。
[RouterA-Serial2/1/0] ppp authentication-mode chap domain system
# 配置接口的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
[RouterA-Serial2/1/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system
[RouterA-isp-system] authentication ppp local
(2) 配置Router B
# 为Router A创建本地用户。
<RouterB> system-view
[RouterB] local-user usera class network
# 设置本地用户的密码。
[RouterB-luser-network-usera] password simple hello
# 设置本地用户的服务类型为PPP。
[RouterB-luser-network-usera] service-type ppp
[RouterB-luser-network-usera] quit
# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] link-protocol ppp
# 配置采用CHAP认证时Router B的用户名。
[RouterB-Serial2/1/0] ppp chap user userb
# 配置接口的IP地址。
[RouterB-Serial2/1/0] ip address 200.1.1.2 16
(1) 配置Router A
# 为Router B创建本地用户。
<RouterA> system-view
[RouterA] local-user userb class network
# 设置本地用户的密码。
[RouterA-luser-network-userb] password simple hello
# 设置本地用户的服务类型为PPP。
[RouterA-luser-network-userb] service-type ppp
[RouterA-luser-network-userb] quit
# 配置本地认证Router B的方式为CHAP。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] ppp authentication-mode chap domain system
# 配置接口的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
[RouterA-Serial2/1/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system
[RouterA-isp-system] authentication ppp local
(2) 配置Router B
# 配置采用CHAP认证时Router B的用户名。
<RouterB> system-view
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] ppp chap user userb
# 设置缺省的CHAP认证密码。
[RouterB-Serial2/1/0] ppp chap password simple hello
# 配置接口的IP地址。
[RouterB-Serial2/1/0] ip address 200.1.1.2 16
通过display interface serial命令,查看接口Serial2/1/0的信息,发现接口的物理层和链路层的状态都是up状态,并且PPP的LCP和IPCP都是opened状态,说明链路的PPP协商已经成功,并且Router A和Router B可以互相ping通对方。
[RouterB-Serial2/1/0] display interface serial 2/1/0
Serial2/1/0
Current state: UP
Line protocol state: UP
Description: Serial2/1/0 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds, retry times: 5
Internet address: 200.1.1.2/16 (primary)
Link layer protocol: PPP
LCP opened, IPCP opened
…略…
[RouterB-Serial2/1/0] ping 200.1.1.1
Ping 200.1.1.1 (200.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 200.1.1.1: icmp_seq=0 ttl=128 time=3.197 ms
56 bytes from 200.1.1.1: icmp_seq=1 ttl=128 time=2.594 ms
56 bytes from 200.1.1.1: icmp_seq=2 ttl=128 time=2.739 ms
56 bytes from 200.1.1.1: icmp_seq=3 ttl=128 time=1.738 ms
56 bytes from 200.1.1.1: icmp_seq=4 ttl=128 time=1.744 ms
--- Ping statistics for 200.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.738/2.402/3.197/0.576 ms
Router A通过PPP协商,为Router B的接口Serial2/1/0分配IP地址。
要求Router A用接口下指定的IP地址为Router B分配IP地址。
图1-6 配置IP地址协商组网图
(1) 配置Router A
# 配置接口Serial2/1/0为Router B的接口分配的IP地址。
<RouterA> system-view
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] remote address 200.1.1.10
# 配置接口Serial2/1/0的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
(2) 配置Router B
# 配置接口Serial2/1/0通过协商获取IP地址。
<RouterB> system-view
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] ip address ppp-negotiate
配置完成后,查看设备Router B的接口Serial2/1/0的概要信息,可见接口Serial2/1/0通过PPP协商获取的IP地址为200.1.1.10。
[RouterB-Serial2/1/0] display interface serial 2/1/0 brief
Brief information on interfaces in route mode:
Link: ADM - administratively down; Stby - standby
Protocol: (s) - spoofing
Interface Link Protocol Primary IP Description
Ser2/1/0 UP UP 200.1.1.10
在Router B上可以Ping通Router A的Serial2/1/0接口。
[RouterB-Serial2/1/0] ping 200.1.1.1
Ping 200.1.1.1 (200.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 200.1.1.1: icmp_seq=0 ttl=128 time=3.197 ms
56 bytes from 200.1.1.1: icmp_seq=1 ttl=128 time=2.594 ms
56 bytes from 200.1.1.1: icmp_seq=2 ttl=128 time=2.739 ms
56 bytes from 200.1.1.1: icmp_seq=3 ttl=128 time=1.738 ms
56 bytes from 200.1.1.1: icmp_seq=4 ttl=128 time=1.744 ms
--- Ping statistics for 200.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.738/2.402/3.197/0.576 ms
Router A通过PPP协商,为Router B的接口Serial2/1/0分配IP地址。
要求Router A从接口下指定的PPP地址池中分配IP地址。
图1-7 配置IP地址协商组网图
(1) 配置Router A
# 配置PPP地址池aaa,IP地址范围为200.1.1.10到200.1.1.20,PPP地址池所在的组为AAA。
<RouterA> system-view
[RouterA] ip pool aaa 200.1.1.10 200.1.1.20 group AAA
# 配置PPP地址池路由。
[RouterA] ppp ip-pool route 200.1.1.1 24
# 配置接口Serial2/1/0使用PPP地址池为Router B的接口分配IP地址。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] remote address pool aaa
# 配置接口Serial2/1/0的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
(2) 配置Router B
# 配置接口Serial2/1/0通过协商获取IP地址。
<RouterB> system-view
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] ip address ppp-negotiate
配置完成后,查看设备Router B的接口Serial2/1/0的概要信息,可见接口Serial2/1/0通过PPP协商获取的IP地址为200.1.1.10。
[RouterB-Serial2/1/0] display interface serial 2/1/0 brief
Brief information on interfaces in route mode:
Link: ADM - administratively down; Stby - standby
Protocol: (s) - spoofing
Interface Link Protocol Primary IP Description
Ser2/1/0 UP UP 200.1.1.10
在Router B上可以Ping通Router A的Serial2/1/0接口。
[RouterB-Serial2/1/0] ping 200.1.1.1
Ping 200.1.1.1 (200.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 200.1.1.1: icmp_seq=0 ttl=128 time=3.197 ms
56 bytes from 200.1.1.1: icmp_seq=1 ttl=128 time=2.594 ms
56 bytes from 200.1.1.1: icmp_seq=2 ttl=128 time=2.739 ms
56 bytes from 200.1.1.1: icmp_seq=3 ttl=128 time=1.738 ms
56 bytes from 200.1.1.1: icmp_seq=4 ttl=128 time=1.744 ms
--- Ping statistics for 200.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.738/2.402/3.197/0.576 ms
在Router A上可以看到PPP地址池中已分配一个地址。
[RouterA-Serial2/1/0] display ip pool aaa
Group name: AAA
Pool name Start IP address End IP address Free In use
aaa 200.1.1.10 200.1.1.20 10 1
In use IP addresses:
IP address Interface
200.1.1.10 Ser2/1/0
Router A通过PPP协商,为Router B的接口Serial2/1/0分配IP地址。
要求Router A从ISP域下关联的PPP地址池中分配IP地址。
图1-8 配置IP地址协商组网图
(1) 配置Router A
# 配置PPP地址池aaa,IP地址范围为200.1.1.10到200.1.1.20,PPP地址池所在的组为AAA。
<RouterA> system-view
[RouterA] ip pool aaa 200.1.1.10 200.1.1.20 group AAA
# 配置PPP地址池路由。
[RouterA] ppp ip-pool route 200.1.1.1 24
# 为Router B创建本地用户。
[RouterA] local-user userb class network
# 设置本地用户的密码。
[RouterA-luser-network-userb] password simple 123
# 设置本地用户的服务类型为PPP。
[RouterA-luser-network-userb] service-type ppp
[RouterA-luser-network-userb] quit
# 创建ISP域,并在ISP域下关联PPP地址池。
[RouterA] domain bbb
[RouterA-isp-bbb] authorization-attribute ip-pool aaa
[RouterA-isp-bbb] quit
# 配置接口Serial2/1/0在ISP域bbb中采用PAP方式认证Router B。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] ppp authentication-mode pap domain bbb
# 配置接口Serial2/1/0的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16
(2) 配置Router B
# 配置本地被Router A以PAP方式认证时Router B发送的PAP用户名和密码。
<RouterB> system-view
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] ppp pap local-user userb password simple 123
# 配置接口Serial2/1/0通过协商获取IP地址。
[RouterB-Serial2/1/0] ip address ppp-negotiate
配置完成后,查看设备Router B的接口Serial2/1/0的概要信息,可见接口Serial2/1/0通过PPP协商获取的IP地址为200.1.1.10。
[RouterB-Serial2/1/0] display interface serial 2/1/0 brief
Brief information on interfaces in route mode:
Link: ADM - administratively down; Stby - standby
Protocol: (s) - spoofing
Interface Link Protocol Primary IP Description
Ser2/1/0 UP UP 200.1.1.10
在Router B上可以Ping通Router A的Serial2/1/0接口。
[RouterB-Serial2/1/0] ping 200.1.1.1
Ping 200.1.1.1 (200.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 200.1.1.1: icmp_seq=0 ttl=128 time=3.197 ms
56 bytes from 200.1.1.1: icmp_seq=1 ttl=128 time=2.594 ms
56 bytes from 200.1.1.1: icmp_seq=2 ttl=128 time=2.739 ms
56 bytes from 200.1.1.1: icmp_seq=3 ttl=128 time=1.738 ms
56 bytes from 200.1.1.1: icmp_seq=4 ttl=128 time=1.744 ms
--- Ping statistics for 200.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.738/2.402/3.197/0.576 ms
在Router A上可以看到PPP地址池中已分配一个地址。
[RouterA-Serial2/1/0] display ip pool aaa
Group name: AAA
Pool name Start IP address End IP address Free In use
aaa 200.1.1.10 200.1.1.20 10 1
In use IP addresses:
IP address Interface
200.1.1.10 Ser2/1/0
设备Router A和Router B的Serial2/1/1和Serial2/1/0分别对应连接。
采用三种MP绑定方式,第一种是将链路直接绑定到VT上;第二种是按用户名查找VT,第三种是将链路绑定到MP-group接口。
(1) 配置Router A
# 创建虚拟模板接口,配置相应的IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ip address 8.1.1.1 24
[RouterA-Virtual-Template1] quit
# 配置串口Serial2/1/1。
[RouterA] interface serial 2/1/1
[RouterA-Serial2/1/1] link-protocol ppp
[RouterA-Serial2/1/1] ppp mp virtual-template 1
[RouterA-Serial2/1/1] quit
# 配置串口Serial2/1/0。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] link-protocol ppp
[RouterA-Serial2/1/0] ppp mp virtual-template 1
[RouterA-Serial2/1/0] quit
(2) 配置Router B
# 创建虚拟模板接口,配置相应的IP地址。
<RouterB> system-view
[RouterB] interface virtual-template 1
[RouterB-Virtual-Template1] ip address 8.1.1.2 24
[RouterB-Virtual-Template1] quit
# 配置串口Serial2/1/1。
[RouterB] interface serial 2/1/1
[RouterB-Serial2/1/1] link-protocol ppp
[RouterB-Serial2/1/1] ppp mp virtual-template 1
[RouterB-Serial2/1/1] quit
# 配置串口Serial2/1/0。
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] link-protocol ppp
[RouterB-Serial2/1/0] ppp mp virtual-template 1
[RouterB-Serial2/1/0] quit
(3) 在Router A上查看绑定结果
# 查看MP的相关信息。
[RouterA] display ppp mp
----------------------Slot2----------------------
Template: Virtual-Template1
max-bind: 16, fragment: enabled, min-fragment: 128
Master link: Virtual-Access0, Active members: 2, Bundle H3C
Peer's endPoint descriptor: H3C
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2013/01/10 07:13:10:723
0 lost fragments, 0 reordered, 0 unassigned, 0 interleaved
Sequence: 0 (rcv)/0 (sent)
Active member channels: 2 members
Serial2/1/1 Up-Time:2013/01/10 07:13:10:724
Serial2/1/0 Up-Time:2013/01/10 07:13:11:945
# 查看VA状态。
[RouterA] display interface virtual-access
Virtual-Access0
Current state: UP
Line protocol state: UP
Description: Virtual-Access0 Interface
Bandwidth: 128kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds,retry times: 5
Internet address: 8.1.1.1/24 (primary)
Link layer protocol: PPP
LCP: opened, MP: opened, IPCP: opened
Physical: MP, baudrate: 128000 bps
Main interface: Virtual-Template1
Output queue - Urgent queuing: Size/Length/Discards 0/1024/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 2 packets, 80 bytes, 0 drops
Output: 2 packets, 24 bytes, 0 drops
(4) 在Router B上ping对端IP地址8.1.1.1
[RouterB] ping 8.1.1.1
Ping 8.1.1.1 (8.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 8.1.1.1: icmp_seq=0 ttl=255 time=4.000 ms
56 bytes from 8.1.1.1: icmp_seq=1 ttl=255 time=0.000 ms
56 bytes from 8.1.1.1: icmp_seq=2 ttl=255 time=0.000 ms
56 bytes from 8.1.1.1: icmp_seq=3 ttl=255 time=0.000 ms
56 bytes from 8.1.1.1: icmp_seq=4 ttl=255 time=1.000 ms
--- Ping statistics for 8.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/1.000/4.000/1.549 ms
(1) 配置Router A
# 配置对端设备Router B在Router A上的用户名和密码。
<RouterA> system-view
[RouterA] local-user usera class network
[RouterA-luser-network-usera] password simple aaa
[RouterA-luser-network-usera] service-type ppp
[RouterA-luser-network-usera] quit
[RouterA] local-user userb class network
[RouterA-luser-network-userb] password simple bbb
[RouterA-luser-network-userb] service-type ppp
[RouterA-luser-network-userb] quit
# 指定用户对应的VT。
[RouterA] ppp mp user usera bind virtual-template 1
[RouterA] ppp mp user userb bind virtual-template 1
# 创建VT,配置相应的IP地址。
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ip address 8.1.1.1 24
[RouterA-Virtual-Template1] ppp mp binding-mode authentication
[RouterA-Virtual-Template1] quit
# 配置串口Serial2/1/1。
[RouterA] interface serial 2/1/1
[RouterA-Serial2/1/1] link-protocol ppp
[RouterA-Serial2/1/1] ppp authentication-mode pap
[RouterA-Serial2/1/1] ppp pap local-user userc password simple ccc
[RouterA-Serial2/1/1] ppp mp
[RouterA-Serial2/1/1] quit
# 配置串口Serial2/1/0。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] link-protocol ppp
[RouterA-Serial2/1/0] ppp authentication-mode pap
[RouterA-Serial2/1/0] ppp pap local-user userd password simple ddd
[RouterA-Serial2/1/0] ppp mp
[RouterA-Serial2/1/0] quit
(2) 配置Router B
# 配置对端设备Router A在Router B上的用户名和密码。
<RouterB> system-view
[RouterB] local-user userc class network
[RouterB-luser-network-userc] password simple ccc
[RouterB-luser-network-userc] service-type ppp
[RouterB-luser-network-userc] quit
[RouterB] local-user userd class network
[RouterB-luser-network-userd] password simple ddd
[RouterB-luser-network-userd] service-type ppp
[RouterB-luser-network-userd] quit
# 指定用户对应的VT。
[RouterB] ppp mp user userc bind virtual-template 1
[RouterB] ppp mp user userd bind virtual-template 1
# 创建VT,配置相应的IP地址。
[RouterB] interface virtual-template 1
[RouterB-Virtual-Template1] ip address 8.1.1.2 24
[RouterB-Virtual-Template1] ppp mp binding-mode authentication
[RouterB-Virtual-Template1] quit
# 配置串口Serial2/1/1。
[RouterB] interface serial 2/1/1
[RouterB-Serial2/1/1] link-protocol ppp
[RouterB-Serial2/1/1] ppp authentication-mode pap
[RouterB-Serial2/1/1] ppp pap local-user usera password simple aaa
[RouterB-Serial2/1/1] ppp mp
[RouterB-Serial2/1/1] quit
# 配置串口Serial2/1/0。
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] link-protocol ppp
[RouterB-Serial2/1/0] ppp authentication-mode pap
[RouterB-Serial2/1/0] ppp pap local-user userb password simple bbb
[RouterB-Serial2/1/0] ppp mp
[RouterB-Serial2/1/0] quit
(3) 在Router A上查看绑定效果
# 查看MP的相关信息。
[RouterA] display ppp mp
----------------------Slot2----------------------
Template: Virtual-Template1
max-bind: 16, fragment: enabled, min-fragment: 128
Master link: Virtual-Access0, Active members: 1, Bundle usera
Peer's endPoint descriptor: H3C
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2013/01/10 08:02:34:881
0 lost fragments, 0 reordered, 0 unassigned, 0 interleaved
Sequence: 0 (rcv)/0 (sent)
Active member channels: 1 members
Serial2/1/1 Up-Time:2013/01/10 08:02:34:881
Master link: Virtual-Access1, Active members: 1, Bundle userb
Peer's endPoint descriptor: H3C
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2013/01/10 08:06:26:633
0 lost fragments, 0 reordered, 0 unassigned, 0 interleaved
Sequence: 0 (rcv)/0 (sent)
Active member channels: 1 members
Serial2/1/0 Up-Time:2013/01/10 08:06:26:634
(4) 在Router B上查看绑定效果
# 查看MP的相关信息。
[RouterB] display ppp mp
Template: Virtual-Template1
max-bind: 16, fragment: enabled, min-fragment: 128
Master link: Virtual-Access2, Active members: 1, Bundle userc
Peer's endPoint descriptor: H3C
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2013/01/10 12:31:13:391
0 lost fragments, 0 reordered, 0 unassigned, 0 interleaved
Sequence: 0 (rcv)/0 (sent)
Active member channels: 1 members
Serial2/1/1 Up-Time:2013/01/10 12:31:13:392
Master link: Virtual-Access3, Active members: 1, Bundle userd
Peer's endPoint descriptor: H3C
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2013/01/10 12:35:05:88
0 lost fragments, 0 reordered, 0 unassigned, 0 interleaved
Sequence: 0 (rcv)/0 (sent)
Active member channels: 1 members
Serial2/1/0 Up-Time:2013/01/10 12:35:05:89
# 查看VA状态。
[RouterB] display interface virtual-access
Virtual-Access2
Current state: UP
Line protocol state: UP
Description: Virtual-Access2 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds,retry times: 5
Internet address: 8.1.1.2/24 (primary)
Link layer protocol: PPP
LCP: opened, MP: opened, IPCP: opened
Physical: MP, baudrate: 64000 bps
Main interface: Virtual-Template1
Output queue - Urgent queuing: Size/Length/Discards 0/1024/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 2 packets, 80 bytes, 0 drops
Output: 2 packets, 24 bytes, 0 drops
Virtual-Access3
Current state: UP
Line protocol state: UP
Description: Virtual-Access3 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds,retry times: 5
Internet address: 8.1.1.2/24 (primary)
Link layer protocol: PPP
LCP: opened, MP: opened, IPCP: opened
Physical: MP, baudrate: 64000 bps
Main interface: Virtual-Template1
Output queue - Urgent queuing: Size/Length/Discards 0/100/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 2 packets, 80 bytes, 0 drops
Output: 2 packets, 24 bytes, 0 drops
# 在Router B上ping对端IP地址8.1.1.1。
[RouterB] ping 8.1.1.1
Ping 8.1.1.1 (8.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 8.1.1.1: icmp_seq=0 ttl=255 time=0.000 ms
56 bytes from 8.1.1.1: icmp_seq=1 ttl=255 time=0.000 ms
56 bytes from 8.1.1.1: icmp_seq=2 ttl=255 time=1.000 ms
56 bytes from 8.1.1.1: icmp_seq=3 ttl=255 time=1.000 ms
56 bytes from 8.1.1.1: icmp_seq=4 ttl=255 time=0.000 ms
--- Ping statistics for 8.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/0.400/1.000/0.490 ms
(1) 配置Router A
# 创建MP-group接口,配置相应的IP地址。
<RouterA> system-view
[RouterA] interface mp-group 2/0/0
[RouterA-MP-group2/0/0] ip address 1.1.1.1 24
# 配置串口Serial2/1/1。
[RouterA-MP-group2/0/0] quit
[RouterA] interface serial 2/1/1
[RouterA-Serial2/1/1] link-protocol ppp
[RouterA-Serial2/1/1] ppp mp mp-group 2/0/0
[RouterA-Serial2/1/1] shutdown
[RouterA-Serial2/1/1] undo shutdown
[RouterA-Serial2/1/1] quit
# 配置串口Serial2/1/0。
[RouterA] interface serial 2/1/0
[RouterA-Serial2/1/0] link-protocol ppp
[RouterA-Serial2/1/0] ppp mp mp-group 2/0/0
[RouterA-Serial2/1/0] shutdown
[RouterA-Serial2/1/0] undo shutdown
[RouterA-Serial2/1/0] quit
(2) 配置Router B
# 创建MP-group接口,配置相应的IP地址。
[RouterB] interface mp-group 2/0/0
[RouterB-Mp-group2/0/0] ip address 1.1.1.2 24
[RouterB-Mp-group2/0/0] quit
# 配置串口Serial2/1/1。
[RouterB] interface serial 2/1/1
[RouterB-Serial2/1/1] link-protocol ppp
[RouterB-Serial2/1/1] ppp mp mp-group 2/0/0
[RouterB-Serial2/1/1] shutdown
[RouterB-Serial2/1/1] undo shutdown
[RouterB-Serial2/1/1] quit
# 配置串口Serial2/1/0。
[RouterB] interface serial 2/1/0
[RouterB-Serial2/1/0] link-protocol ppp
[RouterB-Serial2/1/0] ppp mp mp-group 2/0/0
[RouterB-Serial2/1/0] shutdown
[RouterB-Serial2/1/0] undo shutdown
[RouterB-Serial2/1/0] quit
(3) 在Router A上查看绑定效果
# 查看MP的相关信息。
[RouterA] display ppp mp
----------------------Slot2----------------------
Template: MP-group2/0/0
max-bind: 16, fragment: enabled, min-fragment: 128
Master link: MP-group2/0/0, Active members: 2, Bundle Multilink
Peer's endPoint descriptor: MP-group2/0/0
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2012/11/04 09:03:16:612
0 lost fragments, 0 reordered, 0 unassigned, 0 interleaved
Sequence: 0 (rcvd)/0 (sent)
Active member channels: 2 members
Serial2/1/0 Up-Time:2012/11/04 09:03:16:613
Serial2/1/1 Up-Time:2012/11/04 09:03:42:945
# 查看MP-group2/0/0接口的相关信息。
[RouterA] display interface mp-group 2/0/0
MP-group2/0/0
Current state: UP
Line protocol state: UP
Description: MP-group2/0/0 Interface
Bandwidth: 2048kbps
Maximum transmission unit: 1500
Hold timer: 10 seconds,retry times: 5
Internet address: 1.1.1.1/24 (primary)
Link layer protocol: PPP
LCP: opened, MP: opened, IPCP: opened
Physical: MP, baudrate: 2048000 bps
Output queue - Urgent queuing: Size/Length/Discards 0/100/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 2 packets, 80 bytes, 0 drops
Output: 2 packets, 24 bytes, 0 drops
# 在RouterA上ping对端IP地址。
[RouterA] ping 1.1.1.2
Ping 1.1.1.2 (1.1.1.2): 56 data bytes, press CTRL_C to break
56 bytes from 1.1.1.2: icmp_seq=0 ttl=255 time=4.000 ms
56 bytes from 1.1.1.2: icmp_seq=1 ttl=255 time=1.000 ms
56 bytes from 1.1.1.2: icmp_seq=2 ttl=255 time=0.000 ms
56 bytes from 1.1.1.2: icmp_seq=3 ttl=255 time=7.000 ms
56 bytes from 1.1.1.2: icmp_seq=4 ttl=255 time=1.000 ms
--- Ping statistics for 1.1.1.2 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/2.600/7.000/2.577 ms
设备在IRF模式下不支持本特性。
PPPoE(Point-to-Point Protocol over Ethernet,在以太网上承载PPP协议)的提出,解决了PPP无法应用于以太网的问题,是对PPP协议的扩展。
PPPoE描述了在以太网上建立PPPoE会话及封装PPP报文的方法。要求通信双方建立的是点到点关系,而不是在以太网中所出现的点到多点关系。
PPPoE利用以太网将大量主机组成网络,然后通过一个远端接入设备为以太网上的主机提供互联网接入服务,并对接入的每台主机实现控制、认证、计费功能。由于很好地结合了以太网的经济性及PPP良好的可扩展性与管理控制功能,PPPoE被广泛应用于小区接入组网等环境中。
PPPoE协议将PPP报文封装在以太网帧之内,在以太网上提供点对点的连接。
关于PPPoE的详细介绍,可以参考RFC 2516。
PPPoE使用Client/Server模型。PPPoE Client向PPPoE Server发起连接请求,两者之间会话协商通过后,就建立PPPoE会话,此后PPPoE Server向PPPoE Client提供接入控制、认证、计费等功能。
根据PPPoE会话的起点所在位置的不同,有两种组网结构:
· 第一种方式是在两台路由器之间建立PPPoE会话,所有主机通过同一个PPPoE会话传送数据,主机上不用安装PPPoE客户端拨号软件,一般是一个企业共用一个账号接入网络(图中PPPoE Client位于企业/公司内部,PPPoE Server是运营商的设备)。
图2-1 PPPoE组网结构图1
· 第二种方式是将PPPoE会话建立在Host和运营商的路由器之间,为每一个Host建立一个PPPoE会话,每个Host都是PPPoE Client,每个Host使用一个帐号,方便运营商对用户进行计费和控制。Host上必须安装PPPoE客户端拨号软件。
图2-2 PPPoE组网结构图2
设备作为PPPoE Server时,配置过程请参见“2.2.1 配置PPPoE Server。
设备作为PPPoE Client时,配置过程请参见“2.2.2 配置PPPoE Client。
表2-1 配置PPPoE会话
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建虚拟模板接口并进入指定的虚拟模板接口视图 |
interface virtual-template number |
如果指定的虚拟模板接口已经创建,则该命令用来直接进入虚拟模板接口视图 |
设置PPP的工作参数(包括:认证方式、IP地址获取方式,用户还可以设置为PPP对端分配的IP地址或使用地址池为PPP对端分配IP地址) |
如果配置认证,PPPoE Server需作为认证方 |
|
开启PPPoE应用的MRU检测功能 |
ppp lcp echo mru verify [ minimum value ] |
PPPoE应用的MRU检测功能处于关闭状态 |
退回系统视图 |
quit |
- |
进入三层以太网接口视图/三层以太网子接口视图/三层VE接口视图/三层VE子接口视图/VLAN接口视图/三层聚合接口视图/三层聚合子接口视图/VE-L3VPN接口视图/VE-L3VPN子接口视图/EFM接口视图/EFM子接口视图 |
interface interface-type interface-number |
- |
在接口上启用PPPoE Server协议,将该接口与指定的虚拟模板接口绑定 |
pppoe-server bind virtual-template number |
缺省情况下,接口上的PPPoE Server协议处于关闭状态 |
(可选)配置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暂不支持该功能) |
(可选)使能对PPP最大负载TAG的支持,并指定最大负载的范围 |
pppoe-server tag ppp-max-payload [ minimum minvalue maximum maxvalue ] |
缺省情况下,不支持PPP最大负载TAG |
(可选)配置PPPoE Server的Service Name |
pppoe-server tag service-name name |
缺省情况下,PPPoE Server的Service Name为空 |
(可选)配置用户接入响应延迟时间 |
pppoe-server access-delay delay-time |
缺省情况下,对用户接入响应不延迟 |
退回系统视图 |
quit |
- |
配置PPPoE Server对PPP用户进行认证、授权、计费 |
相关内容请参见“安全配置指导”中的“AAA” |
- |
系统创建PPPoE会话时,需同时满足如下限制,若其中任何一项不满足,则无法创建会话:
· 接口下每个用户所能创建PPPoE会话的最大数目限制
· 接口下每个VLAN所能创建PPPoE会话的最大数目限制
· 接口上所能创建PPPoE会话的最大数目限制
· 单板所能创建PPPoE会话的最大数目限制(分布式设备-独立运行模式)
· 系统所能创建PPPoE会话的最大数目限制(集中式设备-独立运行模式)
本功能配置后仅对新创建的PPPoE会话有效,对已经创建的PPPoE会话无效,即不会导致已经上线的用户下线。
建议配置系统所能创建PPPoE会话的最大数目,不要超过整机PPPoE的最大会话数(整机PPPoE的最大会话数由设备的缺省规格或授权的License规格决定),否则会有部分PPPoE用户因为整机最大用户数已达到而无法上线。(集中式设备-独立运行模式)
建议设备上配置的所有单板/成员设备所能创建PPPoE会话的最大数目之和,不要超过整机PPPoE的最大会话数(整机PPPoE的最大会话数由设备的缺省规格或授权的License规格决定),否则会有部分PPPoE用户因为整机最大用户数已达到而无法上线。(分布式设备-独立运行模式)
表2-2 限制创建PPPoE会话的数目
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入三层以太网接口视图/三层以太网子接口视图/三层VE接口视图/三层VE子接口视图/VLAN接口视图/三层聚合接口视图/三层聚合子接口视图/VE-L3VPN接口视图/VE-L3VPN子接口视图/EFM接口视图/EFM子接口视图 |
interface interface-type interface-number |
该接口为启用PPPoE Server协议的接口 |
配置接口上所能创建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会话 |
退回系统视图 |
quit |
- |
配置系统所能创建PPPoE会话的最大数目(集中式设备-独立运行模式) |
pppoe-server session-limit total number |
缺省情况下,不限制系统所能创建PPPoE会话的数目 |
配置单板所能创建PPPoE会话的最大数目(分布式设备-独立运行模式) |
pppoe-server session-limit slot slot-number total number |
缺省情况下,不限制单板所能创建PPPoE会话的数目 |
设备可以限制特定接口下每个用户(每个用户通过MAC地址进行标识)创建会话的速度。如果用户建立会话的速度达到门限值,即在监视时间段内该用户的会话请求数目超过配置的允许数目,则扼制该用户的会话请求,即在监视时间段内该用户的超出允许数目的请求都会被丢弃,并输出对应的Log信息。如果扼制时间配置为0,表示不扼制会话请求,但仍然会输出Log信息。
· 监视表:监视各用户在监视时间周期内创建的会话数。监视表的规格为8K。当监视表达到规格时,对新用户的会话请求不进行监视和扼制,正常建立会话。监视表项的老化时间为配置的session-request-period值,老化后对用户重新监视。
· 扼制表:当某用户建立会话的速度超过门限值时,会将该用户的信息加入扼制表,扼制该用户的会话请求。扼制表规格为8K。当扼制表达到规格时,对新用户的会话请求只进行监视和发送Log信息,但不触发扼制。扼制表项的老化时间为配置的blocking-period值,老化后对用户重新监视。
修改本功能的配置后,系统将删除已记录的监视表和扼制表,重新开始监视每个用户的会话请求。
表2-3 限制用户创建PPPoE会话的速度
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入三层以太网接口视图/三层以太网子接口视图/三层VE接口视图/三层VE子接口视图/VLAN接口视图/三层聚合接口视图/三层聚合子接口视图/VE-L3VPN接口视图/VE-L3VPN子接口视图/EFM接口视图/EFM子接口视图 |
interface interface-type interface-number |
该接口为启用PPPoE Server协议的接口 |
配置接口允许每个用户创建会话的速度 |
pppoe-server throttle per-mac session-requests session-request-period blocking-period |
缺省情况下,不限制会话建立的速度 |
显示被扼制的用户信息(集中式设备-独立运行模式) |
display pppoe-server throttled-mac [ interface interface-type interface-number ] |
display命令可以在任意视图执行 |
在含有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属性的内容。
表2-4 配置PPPoE会话的NAS-PORT-ID属性相关参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入三层以太网接口视图/三层以太网子接口视图/三层VE接口视图/三层VE子接口视图/VLAN接口视图/三层聚合接口视图/三层聚合子接口视图/VE-L3VPN接口视图/VE-L3VPN子接口视图/EFM接口视图/EFM子接口视图 |
interface interface-type interface-number |
该接口为启用PPPoE Server协议的接口 |
配置上传给RADIUS服务器的NAS-PORT-ID属性中包含的内容 |
pppoe-server access-line-id content { all [ separator ] | circuit-id | remote-id } |
缺省情况下,上传给RADIUS服务器的NAS-PORT-ID属性中仅包含circuit-id |
配置在NAS-PORT-ID属性中自动插入BAS信息 |
pppoe-server access-line-id bas-info [ cn-163 ] |
缺省情况下,在NAS-PORT-ID属性中不自动插入BAS信息 |
配置设备信任接收到的报文中的接入线路ID的内容 |
pppoe-server access-line-id trust |
缺省情况下,设备不信任接收到的报文中的接入线路ID的内容 |
配置接入线路ID中circuit-id的解析格式 |
pppoe-server access-line-id circuirt-id parse-mode { cn-telecom | tr-101 } |
缺省情况下,接入线路ID中circuit-id的解析格式为TR-101格式 |
配置接入线路ID中circuit-id的传输格式 |
pppoe-server access-line-id circuit-id trans-format { ascii | hex } |
缺省情况下,接入线路ID中circuit-id的传输格式为字符串格式 |
配置接入线路ID中remote-id的传输格式 |
pppoe-server access-line-id remote-id trans-format { ascii | hex } |
缺省情况下,接入线路ID中remote-id的传输格式为字符串格式 |
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池不生效。
· 系统可能由于资源不足不能创建用户指定容量的VA池,用户可以通过display pppoe-server va-pool命令查看实际可用的VA池的容量以及VA池的状态。
· 删除VA池时,如果已有在线用户使用该VA池中的VA接口,不会导致这些用户下线。
表2-5 配置VA池
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置VA池(集中式设备-独立运行模式) |
pppoe-server virtual-template template-number va-pool va-volume |
缺省情况下,不存在VA池 |
配置VA池(分布式设备-独立运行模式) |
pppoe-server virtual-template template-number [ slot slot-number ] va-pool va-volume |
缺省情况下,不存在VA池 |
在用户视图下执行reset pppoe-server命令,可在PPPoE Server端清除PPPoE会话。
表2-6 清除PPPoE会话
操作 |
命令 |
说明 |
清除PPPoE会话 |
reset pppoe-server { all | interface interface-type interface-number | virtual-template number } |
- |
PPPoE Client的配置包括配置拨号接口和配置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会话之前,需要先配置一个Dialer接口,并在接口上使能共享DDR。每个PPPoE会话唯一对应一个Dialer bundle,而每个Dialer bundle又唯一对应一个Dialer接口。这样就相当于通过一个Dialer接口可以创建一个PPPoE会话。
关于拨号接口、Dialer接口、共享DDR、Dialer bundle的详细介绍和相关配置,请参见“二层技术-广域网接入配置指导”中的“DDR”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建拨号访问组,并配置拨号控制规则 |
dialer-group group-number rule { ip | ipv6 } { deny | permit | acl { acl-number | name acl-name } } |
缺省情况下,不存在拨号访问组 |
创建Dialer接口,并进入该Dialer接口视图 |
interface dialer number |
- |
配置接口IP地址 |
ip address { address mask | ppp-negotiate } |
缺省情况下,接口没有配置IP地址 |
使能共享DDR |
dialer bundle enable |
缺省情况下,接口上不使能任何类型的DDR |
配置该拨号接口关联的拨号访问组,将该接口与拨号控制规则关联起来 |
dialer-group group-number |
缺省情况下,接口不与任何拨号访问组相关联 |
配置链路空闲时间 |
dialer timer idle idle [ in | in-out ] |
缺省情况下,链路空闲时间为120秒 当idle配置为0时,PPPoE会话工作在永久在线模式下,否则工作在按需拨号模式下 |
配置DDR应用工作在诊断模式 |
dialer diagnose [ interval interval ] |
缺省情况下,工作在非诊断模式 当工作在诊断模式时,链路空闲时间无效 |
配置DDR自动拨号的间隔时间 |
dialer timer autodial autodial-interval |
缺省情况下,DDR自动拨号的间隔时间为300秒 当工作在永久在线模式或者诊断模式情况下,链路断开后将启动自动拨号定时器,等待自动拨号定时器超时后再重新发起呼叫 为了在链路断开时可以尽快自动重新拨号,建议将自动拨号的时间间隔配置的小一些 |
配置Dialer接口的MTU值 |
mtu size |
缺省情况下,Dialer接口的MTU值为1500字节 对于PPPoE Client应用的Dialer接口,应修改其MTU值,保证分片后的报文加上2个字节的PPP头和6个字节的PPPoE头之后的总长度不超过对应PPPoE会话所在接口的MTU值 |
表2-8 配置PPPoE会话
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入三层以太网接口视图/三层以太网子接口视图/三层虚拟以太网接口视图/三层虚拟以太网子接口视图/VLAN接口视图/三层聚合接口视图/三层聚合子接口视图 |
interface interface-type interface-number |
- |
建立一个PPPoE会话,并且指定该会话所对应的Dialer bundle |
pppoe-client dial-bundle-number number [ no-hostuniq ] |
缺省情况下,没有配置PPPoE会话 该Dialer bundle的序号number与Dialer接口的编号相同 |
当PPPoE会话工作在永久在线模式时,如果使用reset pppoe-client命令复位PPPoE会话,设备会在自动拨号定时器超时后自动重新建立PPPoE会话。
当PPPoE会话工作在按需拨号模式时,如果使用reset pppoe-client命令复位PPPoE会话,设备会在有数据需要传送时,才重新建立PPPoE会话。
表2-9 复位PPPoE会话
操作 |
命令 |
说明 |
复位PPPoE会话 |
reset pppoe-client { all | dial-bundle-number number } |
请在用户视图下进行该操作 |
在完成上述配置后,在任意视图下执行display命令可以显示PPPoE Server配置后的运行情况,通过查看显示信息验证配置的效果。
表2-10 PPPoE Server显示和维护
操作 |
命令 |
显示PPPoE会话的摘要信息(集中式设备-独立运行模式) |
display pppoe-server session summary [ interface interface-type interface-number ] |
显示PPPoE会话的摘要信息(分布式设备-独立运行模式) |
display pppoe-server session summary { slot slot-number | interface interface-type interface-number } |
显示PPPoE会话的数据报文统计信息(集中式设备-独立运行模式) |
display pppoe-server session packet [ interface interface-type interface-number ] |
显示PPPoE会话的数据报文统计信息(分布式设备-独立运行模式) |
display pppoe-server session packet { slot slot-number | interface interface-type interface-number } |
显示被扼制的用户信息(集中式设备-独立运行模式) |
display pppoe-server throttled-mac [ interface interface-type interface-number ] |
显示被扼制的用户信息(分布式设备-独立运行模式) |
display pppoe-server throttled-mac { slot slot-number | interface interface-type interface-number } |
显示VA池信息 |
display pppoe-server va-pool |
在完成上述配置后,在任意视图下执行display命令可以显示PPPoE Client配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除PPPoE会话的协议报文统计信息。
表2-11 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-3 PPPoE Server配置组网图
# 创建一个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地址。
[Router] interface virtual-template 1
[Router-Virtual-Template1] ppp authentication-mode chap domain system
[Router-Virtual-Template1] ppp chap user user1
[Router-Virtual-Template1] remote address pool 1
[Router-Virtual-Template1] ip address 1.1.1.1 255.0.0.0
[Router-Virtual-Template1] quit
# 配置PPP地址池,包含9个可分配的IP地址。
[Router] ip pool 1 1.1.1.2 1.1.1.10
# 在接口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 system
[Router-isp-system] authentication ppp local
[Router-isp-system] quit
以太网上各主机安装PPPoE客户端软件后,配置好用户名和密码(此处为user1和pass1)就能使用PPPoE协议,通过设备Router接入到Internet。
Router A和Router B之间通过各自的GigabitEthernet1/0/1接口相连,其中Router A作为PPPoE Server,Router B作为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
# 配置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-5 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-6 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
# 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
· 局域网内的计算机通过Router A访问Internet,Router A通过ADSL Modem采用永久在线的方式接入DSLAM。
· ADSL帐户的用户名为user1,密码为123456。
· Router B作为PPPoE Server通过ATM2/4/0接口连接至DSLAM,提供RADIUS认证、授权、计费功能。
· 在Router A上使能PPPoE Client功能,局域网内的主机不用安装PPPoE客户端软件即可访问Internet。
图2-7 利用ADSL将局域网接入Internet组网图
(1) 配置Router A作为PPPoE Client
# 配置拨号访问组1以及对应的拨号访问控制条件。
<RouterA> system-view
[RouterA] dialer-group 1 rule ip permit
# 在Dialer1接口上使能共享DDR。
[RouterA] interface dialer 1
[RouterA-Dialer1] dialer bundle enable
# 将Dialer1接口与拨号访问组1关联。
[RouterA-Dialer1] dialer-group 1
# 配置Dialer1接口通过协商获取IP地址。
[RouterA-Dialer1] ip address ppp-negotiate
# 配置PPPoE Client工作在永久在线模式。
[RouterA-Dialer1] dialer timer idle 0
# 配置本地被Router B以PAP方式认证时Router A发送的PAP用户名和密码。
[RouterA-Dialer1] ppp pap local-user user1 password simple 123456
[RouterA-Dialer1] quit
# 配置PPPoE会话。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-client dial-bundle-number 1
[RouterA-GigabitEthernet1/0/1] quit
# 配置局域网接口的IP地址。
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ip address 192.168.1.1 255.255.255.0
[RouterA-GigabitEthernet1/0/2] quit
# 配置缺省路由。
[RouterA] ip route-static 0.0.0.0 0 dialer 1
如果局域网内计算机使用的IP地址为私有地址,还需要在设备上配置NAT(Network Address Translation,网络地址转换)。NAT的相关内容请参见“三层技术-IP业务配置指导”中的“NAT”。
(2) 配置Router B作为PPPoE Server
# 配置虚拟模板参数,采用PAP认证对端,配置本端IP地址,并使用PPP地址池为对端分配IP地址。
<RouterB> system-view
[RouterB] interface virtual-template 1
[RouterB-Virtual-Template1] ppp authentication-mode pap domain system
[RouterB-Virtual-Template1] remote address pool 1
[RouterB-Virtual-Template1] ip address 1.1.1.1 255.0.0.0
[RouterB-Virtual-Template1] quit
# 配置PPP地址池,包含9个可分配的IP地址。
[RouterB] ip pool 1 1.1.1.2 1.1.1.10
# 在Virtual-Ethernet接口上使能PPPoE Server。
[RouterB] interface virtual-ethernet 2/0/0
[RouterB-Virtual-Ethernet2/0/0] mac-address 0001-0000-0001
[RouterB-Virtual-Ethernet2/0/0] pppoe-server bind virtual-template 1
[RouterB-Virtual-Ethernet2/0/0] quit
# 对ATM接口进行配置。
[RouterB] interface atm 2/4/0.1
[RouterB-ATM2/4/0.1] pvc to_adsl_a 0/60
[RouterB-ATM2/4/0.1-pvc-to_adsl_a-0/60] map bridge virtual-ethernet 2/0/0
[RouterB-ATM2/4/0.1-pvc-to_adsl_a-0/60] quit
[RouterB-Atm2/4/0.1] quit
# 在系统缺省的ISP域system下,配置域用户使用RADIUS认证/授权/计费方案。
[RouterB] domain system
[RouterB-isp-system] authentication ppp radius-scheme cams
[RouterB-isp-system] authorization ppp radius-scheme cams
[RouterB-isp-system] accounting ppp radius-scheme cams
[RouterB-isp-system] quit
# 配置RADIUS方案以及RADIUS认证/授权/计费服务器的IP地址和端口号。
[RouterB] radius scheme cams
[RouterB-radius-cams] primary authentication 11.110.91.146 1812
[RouterB-radius-cams] primary accounting 11.110.91.146 1813
# 配置与RADIUS服务器交互报文时使用的认证、计费共享密钥为明文expert。
[RouterB-radius-cams] key authentication simple expert
[RouterB-radius-cams] key accounting simple expert
[RouterB-radius-cams] quit
(3) 配置RADIUS服务器
在RADIUS服务器上配置认证与计费的共享密钥expert。
在RADIUS服务器上增加一个PPPoE用户,用户名为user1,密码为123456。
具体配置过程请参考实际使用的RADIUS服务器的用户手册。
配置完成后,Router A就可以与远端的Router B建立PPPoE会话。
[RouterA] display pppoe-client session summary
Bundle ID Interface VA RemoteMAC LocalMAC State
1 1 GE1/0/1 VA0 0001-0000-0001 00e0-1500-4100 SESSION
Host A、Host B、Host C可以访问Internet,比如通过IE打开网页等。
Host和Router之间通过以太网接口相连,Host通过PPPoE接入Router,Router作为PPPoE Server通过DHCPv4协议为Host分配IP地址。
图2-8 配置PPPoE Server通过本地DHCP服务器为用户分配IP地址组网图
# 配置虚拟模板接口10的参数,采用PAP认证对端,使用DHCP地址池pool1为用户分配IP地址。
<Router> system-view
[Router] interface virtual-template 10
[Router-Virtual-Template10] ppp authentication-mode pap
[Router-Virtual-Template10] remote address pool pool1
[Router-Virtual-Template10] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] pppoe-server bind virtual-template 10
[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] 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
配置完成后,当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-9 PPPoE Server通过远端DHCP服务器为用户分配IP地址组网图
(1) 配置Router A(PPPoE Server)
# 配置虚拟模板接口10的参数,采用PAP认证对端,使用DHCP地址池pool1为用户分配IP地址。
<RouterA> system-view
[RouterA] interface virtual-template 10
[RouterA-Virtual-Template10] ppp authentication-mode pap
[RouterA-Virtual-Template10] remote address pool pool1
[RouterA-Virtual-Template10] quit
# 在GigabitEthernet1/0/1接口上启用PPPoE Server协议,将该以太网接口与虚拟模板接口10绑定。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pppoe-server bind virtual-template 10
[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
(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] 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 VA1 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 0030-3065-302e-3030- Dec 30 11:28:18 2016 Auto(C)
3030-2e30-3030-312d-
6666-6666-6666-6666
· 采用RADIUS作为认证、授权和计费服务器。
· RADIUS服务器为PPPoE接入用户授权的PPP地址池和VPN实例分别为pool1、vpn1。
· vpn1中的用户在服务器授权的PPP地址池pool1中获取IP地址。
图2-10 PPPoE Server为接入用户授权地址池和VPN配置组网图
启动PPPoE功能之前,需要首先配置MPLS L3VPN功能,通过为两端的VPN 1指定匹配的VPN Target,确保两端的VPN 1之间可以互通。本例仅介绍连接客户端的PE 1上接入认证的相关配置,其它配置请参考“MPLS配置指导”中的“MPLS L3VPN”。
(1) 配置RADIUS服务器
下面以Linux系统下的Free RADIUS服务器为例,说明RADIUS 服务器的基本配置。
# 配置RADIUS客户端信息。
在clients.conf文件中增加如下信息:
client 10.1.1.1/24 {
secret = radius
shortname = sr88
}
以上信息表示:RADIUS客户端的IP地址为10.1.1.1,共享密钥为字符串radius。
# 配置合法用户信息。
在users文件中增加如下信息:
user1 Auth-Type == CHAP,User-Password := pass1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IPv6-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
# 创建vpn实例vpn1。
[RouterA] ip vpn-instance vpn1
# 创建名为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 dm1
# 配置ISP域使用的RADIUS方案rs1。
[RouterA-isp-dm1] authentication ppp radius-scheme rs1
[RouterA-isp-dm1] authorization ppp radius-scheme rs1
[RouterA-isp-dm1] accounting ppp radius-scheme rs1
[RouterA-isp-dm1] quit
用户认证通过后,在Host A上可以Ping通对端VPN1中的CE。
# 在Router A上可以看到PPP地址池pool1中已为PPPoE Client分配了一个地址。
[RouterA] display ip pool pool1
Group name: 1
Pool name Start IP address End IP address Free In use
pool1 1.1.1.2 1.1.1.10 8 1
In use IP addresses:
IP address Interface
1.1.1.2 VA0
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!