目录

简介

开始使用前

规则

先决条件

使用的组件

背景理论

配置

网络图

配置

验证

程序

故障排除

故障排除步骤

故障排除命令

常见问题

相关信息

简介

本文档提供在宽带有线网络中使用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地址，请执行以下步骤。

1. 从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

2. 要识别成功的呼叫方，请从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

3. 要验证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客户端正在使用的虚拟模板接口编号。

1. 从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

2. 要显示已使用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

3. 要显示当前VPDN域，请发出show vpdn domain命令。

LAC#show vpdn domain

Tunnel VPDN Group

------ ----------

domain:surf.org2 (L2TP)

故障排除

故障排除步骤

使用以下说明排除配置故障。

1. 通过发出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

2. 检查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

3. 确保可以从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

4. 如果在启动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终端功能。

相关信息

- PPPoE会话限制

- 以太网PPP

- 在ATM的PPPoE

- Cisco - Cisco UAC 6400的PPPoE基线架构

- Cisco CMTS上的以太网端接点对点协议

- RFC 2516

- 技术支持 - Cisco Systems