目錄

簡介

開始之前

慣例

必要條件

採用元件

背景理論

設定

網路圖表

組態

驗證

程式

疑難排解

疑難排解程序

疑難排解指令

常見問題

相關資訊

簡介

本檔案將提供使用Cisco uBR7100纜線資料機終端系統(CMTS)作為本機存取集中器(LAC)的寬頻纜線網路中的乙太網路點對點通訊協定(PPPoE)終端組態範例。 在本文檔中，PPPoE會話由作為PPPoE客戶端的Cisco 1600路由器啟動，並通過安全第二層隧道協定(L2TP)隧道連線將PPP流量傳輸到L2TP網路伺服器(LNS)。 LNS路由器終止來自Cisco CMTS的L2TP隧道，並可以將流量轉發到公司網路。

開始之前

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

必要條件

閱讀本檔案者應熟悉RFC 2516 ，其中說明規管PPPoE的規則，以及有線電纜資料服務介面規範(DOCSIS)通訊協定。本文檔不介紹如何設定物理寬頻電纜網路。在嘗試配置PPPoE解決方案之前，符合DOCSIS的電纜數據機必須線上且以橋接模式運行。有關CMS故障排除的詳細資訊，請參閱排除uBR纜線資料機無法聯機故障。

採用元件

本檔案中的資訊是根據以下軟體和硬體版本。

- 只有Cisco uBR7100系列和Cisco uBR7246VXR通用寬頻路由器(uBR)支援PPPoE終端功能。

- 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允許直接連線到電纜介面。思科uBR7100和uBR7200系列路由器的電纜介面支援PPPoE，使電纜數據機後的客戶端裝置(CPE)能夠使用PPP作為獲取其IP地址的機制，並將其用於所有後續資料流量，類似於撥號PPP客戶端。在PPP撥號會話中，PPPoE會話經過身份驗證，IP地址在PPPoE客戶端和伺服器（可能是Cisco CMTS路由器或家庭網關）之間協商。使用此模式時，每個主機都使用自己的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

Cisco 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以檢視介面狀態。

如果任何介面處於down狀態，請檢查物理電纜，並確保介面未處於管理性關閉狀態。

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-group下的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 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 [控制 |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資料包，並在傳出介面將其轉發出去。Cisco uBR7100系列路由器在配置為MxU橋接模式（僅在Cisco IOS版本12.1 EC上支援）時自動轉發PPPoE流量，但是這是橋接配置的結果，而不是由於任何PPPoE支援。為清楚起見，任何Cisco CMTS都不支援PPPoE轉發。

問：我是否可以在同一個DOCSIS裝置上同時擁有PPPoE客戶端和常規動態主機配置協定(DHCP)客戶端？

A.是。PPPoE終止功能支援在同一個CM後面同時使用PPPoE客戶端和DHCP客戶端。使用者可以使用PPPoE進行有線網路的初始登入，然後使用DHCP允許其其它PC和其它主機獲取用於網路訪問的IP地址。

問：Cisco uBR7200VXR CMTS平台上的NPE-300和NPE-400是否都支援PPPoE?

A.是。但是，NPE-300處理器於2001年8月15日達到壽命終止里程碑。

問：Cisco uBR10k CMTS平台是否支援PPPoE?

答不。只有使用Cisco IOS版本12.2(4)BC1a或更高版本的Cisco uBR7100系列路由器和Cisco uBR7246VXR路由器支援PPPoE終止功能。Cisco uBR10012路由器不支援該功能。

問：在Cisco CMTS平台上可以運行多少個PPPoE會話？

A. uBR平台繼承了cisco 7200平台的IDB限製為10000，該平台支援具有NPE-225和NPE-300的4000 PPPoE會話，而NPE-400支援8000 PPPoE會話。沒有模組化NPE的uBR7100平台支援400 PPPoE會話。這些都是理論上的侷限。您必須考慮活動併發PPPoE會話的最大數量是否更少，具體取決於處理器卡上的記憶體量、使用的纜線介面卡型別、每個使用者使用的頻寬以及路由器的配置。

問：EC系列支援哪種版本的Cisco IOS的PPPoE終止？

A.使用Cisco IOS版本12.1 EC時，任何Cisco CMTS路由器都不支援PPPoE終端功能。

相關資訊

- PPPoE作業階段限制

- 使用乙太網路的PPP

- ATM上的PPPoE

- Cisco - Cisco UAC 6400的PPPoE基線架構

- Cisco CMTS上的乙太網點對點協定終止

- RFC 2516

- 技術支援 - Cisco Systems