本文档提供在宽带有线网络中使用Cisco uBR7100电缆调制解调器终端系统(CMTS)作为本地接入集中器(LAC)的以太网点对点协议(PPPoE)终端的示例配置。 在本文档中,PPPoE会话由Cisco 1600路由器作为PPPoE客户端发起,并通过安全的第二层隧道协议(L2TP)隧道连接将PPP流量传输到L2TP网络服务器(LNS)。 LNS路由器从Cisco CMTS终止L2TP隧道,并可能将流量转发到公司网络。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
本文档的读者应熟悉RFC 2516 ,该协议描述了PPPoE的规则以及有线数据服务接口规范(DOCSIS)协议。本文档不介绍如何设置物理宽带电缆网络。在尝试配置PPPoE解决方案之前,DOCSIS兼容电缆调制解调器必须在线并在桥接模式下运行。有关排除CMS故障的详细信息,请参阅排除uBR电缆调制解调器未联机故障。
本文档中的信息基于以下软件和硬件版本。
PPPoE终端功能仅在思科uBR7100系列和思科uBR7246VXR通用宽带路由器(uBR)上受支持。
Cisco CMTS路由器必须运行Cisco IOS® 12.2(4)BC1a版或更高版本。此外,要支持PPPoE终止功能,软件映像名称必须包括IP+功能集(软件映像名称中必须显示字母“i”和“s”)。
要支持捆绑电缆接口上的PPPoE端接,Cisco CMTS路由器必须运行Cisco IOS版本12.2(8)BC2或更高版本。
客户端软件必须支持PPPoE终端协议。如果计算机操作系统不包括这种支持,则用户可以使用客户端软件,如WinPoet。本文档使用Cisco 1600作为PPPoE客户端。
本实验设置中的信息基于以下软件和硬件版本。
Cisco uBR7111 CMTS运行Cisco IOS版本uBR7100-ik8s-mz.122-11.BC1。
Cisco 1600路由器运行Cisco IOS版本Cisco 1600-sy-mz.122-11.T8。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
PPPoE能够通过简单的桥接访问设备将主机网络连接到远程访问集中器。PPPoE允许直接连接到电缆接口。在Cisco uBR7100和uBR7200系列路由器的电缆接口上支持PPPoE,使电缆调制解调器后的客户端设备(CPE)能够使用PPP作为获取其IP地址的机制,并将其用于所有后续数据流量,类似于拨号PPP客户端。在PPP拨号会话中,PPPoE会话通过身份验证,PPPoE客户端和服务器(可以是Cisco CMTS路由器或家庭网关)之间协商IP地址。使用此模型时,每台主机都使用自己的PPP堆栈。因此,访问控制、计费和服务类型可以按用户完成,而不是按站点完成。服务提供商可支持同一CM后基于PPPoE客户端和基于动态主机配置协议(DHCP)的主机。
PPPoE有两个不同的阶段,一个是发现阶段,另一个是PPP会话阶段。当主机希望启动PPPoE会话时,它必须首先执行发现以识别对等体的以太网MAC地址并建立PPPoE SESSION_ID。虽然PPP定义了点对点关系,但发现本质上是客户端 — 服务器关系。在发现过程中,主机(客户端)发现访问集中器(服务器)。 根据网络拓扑,主机可以与多个接入集中器通信。发现阶段允许主机发现所有接入集中器,然后选择一个。当发现成功完成时,主机和所选接入集中器都具有将用于构建以太网点对点连接的信息。一旦PPPoE会话开始,PPP数据将像任何其他PPP封装一样发送。
本部分提供有关如何配置本文档所述功能的信息。
注:要查找有关本文档中使用的命令的其他信息,请使用命令查找工具(仅注册客户)。
本文档使用下图所示的网络设置。
本文档使用如下所示的配置。
Cisco 1600路由器(PPPoE客户端) |
---|
PPPoE_client#show running-config Building configuration... Current configuration : 1099 bytes ! version 12.2 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname PPPoE_client ! no logging console enable password cisco ! username LAC password 0 cisco !--- Cmts-user name/password sent to LNS to create the L2TP tunnel. username LNS password 0 cisco !--- Lns-user name/password used by LNS to authenticate tunnel creation. username user@surf.org !--- Specifies a username and password for each user to be granted PPPoE access. !--- This can be configured on the RADIUS authentication servers. ip subnet-zero no ip domain lookup ip domain name surf.org ! vpdn enable ! vpdn-group 1 request-dialin protocol pppoe ! ! ! ! interface Ethernet0 no ip address pppoe enable pppoe-client dial-pool-number 1 ! interface Virtual-Template1 no ip address ip mtu 1492 no peer default ip address ! interface Serial0 no ip address shutdown no fair-queue ! interface Serial1 no ip address shutdown ! interface Dialer1 mtu 1492 ip address negotiated ip nat outside encapsulation ppp dialer pool 1 ppp chap hostname user@surf.org ppp chap password 0 cisco ! ip nat inside source list 1 interface Dialer1 overload ip classless ip route 0.0.0.0 0.0.0.0 Dialer1 no ip http server ! ! access-list 1 permit any ! ! line con 0 line vty 0 4 password cisco login ! end |
思科uBR7100 CMTS(LAC) |
---|
LAC#show running-config Building configuration... Current configuration : 2442 bytes ! version 12.2 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname "LAC" ! no logging console enable password cisco ! !--- Cmts-user name/password sent to LNS to create the L2TP tunnel. username LAC password 0 cisco !--- Lns-user name/password used by LNS to authenticate tunnel creation. username LNS password 0 cisco !--- Specifies a username and password for each user to be granted PPPoE access. !--- This can be configured on the RADIUS authentication servers. username user@surf.org no cable qos permission create no cable qos permission update cable qos permission modems cable time-server ! cable config-file platinum.cm service-class 1 max-upstream 128 service-class 1 guaranteed-upstream 10 service-class 1 max-downstream 10000 service-class 1 max-burst 1600 cpe max 10 timestamp ! ip subnet-zero ! ! no ip domain lookup ! ip dhcp pool pppoe network 10.1.4.0 255.255.255.0 bootfile platinum.cm next-server 10.1.4.1 default-router 10.1.4.1 option 7 ip 10.1.4.1 option 4 ip 10.1.4.1 option 2 hex ffff.8f80 lease 7 0 10 ! ip dhcp pool pppoe_clients network 172.16.29.0 255.255.255.224 next-server 172.16.29.1 default-router 172.16.29.1 domain-name surf.org lease 7 0 10 ! !--- Enables Virtual Private Dial-Up Networking (VPDN). vpdn enable vpdn logging !--- VPDN group 1 configures the router to accept PPPoE connections. !--- Specifies the virtual template used for the virtual interfaces that are created !--- for each PPPoE session. ! vpdn-group 1 accept-dialin protocol pppoe virtual-template 1 !--- VPDN group 2 configures the group to be used for the L2TP tunnel to the LNS. !--- PPPoE sessions will be initiated from clients using the domain surf.org. vpdn-group 2 request-dialin protocol l2tp domain surf.org initiate-to ip 1.1.1.8 local name LAC !--- Disables authentication for creation of L2TP tunnel. no l2tp tunnel authentication ! ! ! ! interface FastEthernet0/0 ip address 2.2.2.2 255.255.255.0 duplex auto speed auto ! interface FastEthernet0/1 ip address 1.1.1.6 255.255.255.0 ip broadcast-address 1.1.1.255 no ip route-cache no ip mroute-cache duplex auto speed 10 ! interface Cable1/0 ip address 172.16.29.1 255.255.255.224 secondary ip address 10.1.4.1 255.255.255.0 cable downstream annex B cable downstream modulation 64qam cable downstream interleave-depth 32 cable downstream frequency 471000000 cable downstream channel-id 0 no cable downstream rf-shutdown cable downstream rf-power 51 cable upstream 0 frequency 32000000 cable upstream 0 power-level 0 no cable upstream 0 shutdown cable dhcp-giaddr policy !--- pppoe enable must be configured on the cable !--- interface accepting PPPoE sessions. !--- This is not necessary on subinterfaces. pppoe enable ! interface Virtual-Template1 ip unnumbered FastEthernet0/1 ip mtu 1492 ppp authentication chap ! ip classless no ip http server ! ! cdp run ! snmp-server community private RW snmp-server enable traps tty alias exec scm show cable modem ! line con 0 line aux 0 line vty 0 4 password cisco login line vty 5 15 login ! end |
Cisco 2500(LNS) |
---|
hostname "LNS" ! ! !--- Lns-user name/password for the LNS itself. username LNS password 0 cisco !--- Cmts-user name/password for the Cisco CMTS. username LAC password 0 cisco !--- Username and password for the PPPoE client. !--- This can be configured on the RADIUS authentication servers. username user@surf.org password 0 cisco ! vpdn enable ! !--- Creates a VPDN group and starts VPDN group configuration mode. vpdn-group 1 accept-dialin !--- Configures VPDN group for L2TP protocol so that it !--- can access the PPPoE server. protocol l2tp !--- Specifies the virtual-template number to be used when !--- configuring a PPPoE session. virtual-template 1 !--- This group terminates L2TP tunnels from the specified CMTS hostname. terminate-from hostname LAC !--- This is the local hostname of the LNS. local name LNS !--- Disables authentication for creation of L2TP tunnel. no l2tp tunnel authentication ! ! ! interface Virtual-Template1 ip unnumbered FastEthernet0/1 ip mtu 1492 !--- Surf is used as the pool name, and !--- the router will use an address from the 100-net. !--- If a test cannot be found, it will search for the pool with the name default. peer default ip address pool surf ppp authentication chap ! ip local pool surf 100.0.0.1 100.0.0.10 |
本部分所提供的信息可用于确认您的配置是否正常工作。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
要验证是否从LNS池分发IP地址,请执行以下步骤。
从LNS发出show ip local pool命令。检查命令输出。
LNS#show ip local pool Pool Begin End Free In use surf 100.0.0.1 100.0.0.10 9 1
要识别成功的呼叫方,请从LNS发出show caller ip命令。
LNS#show caller ip Line User IP Address Local Number Remote Number <-> Vi29 user@surf.org 100.0.0.1 - - in
要验证LNS上的VPDN会话,请发出show vpdn session命令。
LNS#show vpdn session L2TP Session Information Total tunnels 1 sessions 1 LocID RemID TunID Intf Username State Last Chg Fastswitch 30 299 23629 Vi29 user@surf.org est 00:16:03 enabled %No active L2F tunnels %No active PPTP tunnels %No active PPPoE tunnels
使用以下步骤验证PPPoE客户端正在使用的虚拟模板接口编号。
从LAC发出show vpdn session命令。检查命令输出。
LAC# show vpdn session L2TP Session Information Total tunnels 1 sessions 1 LocID RemID TunID Intf Username State Last Chg Fastswitch 299 30 26280 Vi1 user@surf.org est 00:31:19 enabled %No active L2F tunnels %No active PPTP tunnels PPPoE Session Information Total tunnels 1 sessions 1 PPPoE Session Information SID RemMAC LocMAC Intf VASt OIntf VLAN/VP/VC 1 0030.9413.0556 0008.a328.831c Vi1 UP Ca1/0
要显示已使用PPPoE向Cisco CMTS注册的用户,请发出show interface cable modem命令。
LAC#show interface cable 1/0 modem 0 SID Priv bits Type State IP address method MAC address 1 00 modem up 10.1.4.2 dhcp 0010.9526.2f57 2 00 modem up 10.1.4.3 dhcp 0007.0e03.a7e5 2 00 host unknown 172.16.29.2 static 0007.0e03.a7e4 3 00 modem up 10.1.4.4 dhcp 0007.0e02.c893 3 00 host unknown pppoe 0030.9413.0556 4 00 modem up 10.1.4.5 dhcp 0007.0e03.5075
要显示当前VPDN域,请发出show vpdn domain命令。
LAC#show vpdn domain Tunnel VPDN Group ------ ---------- domain:surf.org2 (L2TP)
使用以下说明排除配置故障。
通过发出show ip interface brief命令检查LAC上的接口状态,查看状态。
如果任何接口都处于关闭状态,请检查物理电缆并确保接口未管理性关闭。
LAC#show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 2.2.2.2 YES NVRAM up up FastEthernet0/1 1.1.1.6 YES NVRAM up up Cable1/0 10.1.4.1 YES NVRAM up up Virtual-Access1 1.1.1.6 YES TFTP up up Virtual-Template1 1.1.1.6 YES unset down down
检查PPPoE_client上的接口,以验证拨号器接口是up,且具有来自LNS池的IP地址。
PPPoE_client#show ip interface brief Interface IP-Address OK? Method Status Protocol Dialer1 100.0.0.1 YES BOOTP up up Ethernet0 unassigned YES NVRAM up up Serial0 unassigned YES NVRAM up up Serial1 unassigned YES NVRAM up up Virtual-Access1 unassigned YES unset up up
确保可以从PPPoE客户端ping LNS。
PPPoE_client#ping 1.1.1.8 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.8, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/12/16 ms
如果在启动L2TP时遇到问题,请尝试在VPDN组下的LNS上配置lcp renegotiation on-mismatch命令。
LNS#config t Enter configuration commands, one per line. End with CNTL/Z. LNS(config)#vpdn-group 1 LNS(config-vpdn)#lcp renegotiation on-mismatch
注意:PPP启动时,LAC代理链路控制协议(LCP)。当LNS开始看到转发的PPP时,它会查看LCP,如果它不是它与客户端本身协商的LCP,它会抱怨。lcp renegotiation on-mismatch命令强制LNS与客户端重新协商LCP。不过,并非所有客户端都会重新协商LCP,大多数客户会重新协商。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
注意:在发出debug命令之前,请参阅有关Debug命令的重要信息。
debug ppp negotiation — 在LNS上发出此命令可让您查看PPP协商事务,以确定出错时的问题或阶段并制定解决方案。但是,您必须了解debug ppp negotiation输出的内容。了解debug ppp negotiation输出提供了读取PPP并排除故障的综合方法。
debug vpdn 12x-packet errors — 发出此命令显示阻止隧道建立或正常运行的L2F和L2TP协议错误
debug vpdn 12x-packet events — 在LNS上发出此命令可显示隧道建立或关闭过程中的L2TP事件。
debug vpdn packet [control | data] [detail] — 在LNS或LAC上发出此命令可显示特定于协议的数据包报头信息,如序列号(如果有)、标志和长度。
debug vpdn event [protocol | flow-control] — 在LNS或LAC上发出此命令可显示L2TP协议中的VPN错误和基本事件,以及与流量控制相关的错误,其中远程对等体接收窗口的值配置为大于零。
debug ppp {chap | pap} — 发出此命令显示内置于PPP中的质询握手身份验证协议(CHAP)和密码身份验证协议(PAP)。
debug ip udp — 在LNS上发出此命令将检查输出,以查看是否从pppoe主机接收数据包。
debug aaa per-user — 从LNS发出此命令显示用户进行身份验证时应用于每个用户的属性。
debug radius — 发出此命令显示当用户使用RADIUS服务器进行身份验证时关联的信息。
问:Cisco CMTS是否支持PPPoE转发?
答:否。Cisco CMTS路由器不支持PPPoE转发,PPPoE转发从传入接口接收PPPoE数据包,并在传出接口上将其转发出去。当为MxU桥接模式(仅在Cisco IOS版本12.1 EC上支持)配置时,Cisco uBR7100系列路由器会自动转发PPPoE流量,但这是桥接配置的结果,而不是任何PPPoE支持的结果。为了提供明确性,任何Cisco CMTS都不支持PPPoE转发。
问:我能否在同一DOCSIS工厂同时拥有PPPoE客户端和常规动态主机配置协议(DHCP)客户端?
是的。PPPoE终端功能支持同一CM后的PPPoE客户端和DHCP客户端同时使用。用户可以使用PPPoE进行其初始登录到有线网络,然后使用DHCP允许其他PC和其他主机获取网络访问的IP地址。
问:Cisco uBR7200VXR CMTS平台上是否同时支持NPE-300和NPE-400的PPPoE?
是的。但是,NPE-300处理器在2001年8月15日达到了寿命终止的里程碑。
问:Cisco uBR10k CMTS平台是否支持PPPoE?
答:否。PPPoE终端功能仅在使用Cisco IOS版本12.2(4)BC1a或更高版本的Cisco uBR7100系列路由器和Cisco uBR7246VXR路由器上受支持。Cisco uBR10012路由器不支持它。
问:在Cisco CMTS平台上可以运行多少个PPPoE会话?
答: uBR平台从cisco 7200平台继承IDB限制10000,该平台支持4000个PPPoE会话,NPE-225和NPE-300,而8000个PPPoE会话支持NPE-400。uBR7100平台没有模块化NPE,支持4000个PPPoE会话。这些是理论上的限制。您必须考虑主用、同时的PPPoE会话的最大数量较少,具体取决于处理器卡上的内存量、使用的电缆接口卡类型、每个用户消耗的带宽以及路由器的配置。
问:EC系列支持哪个版本的Cisco IOS?
答:使用Cisco IOS 12.1 EC版时,任何Cisco CMTS路由器都不支持PPPoE终端功能。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
04-Oct-2005 |
初始版本 |