PPP協商涉及多個步驟,例如連結控制通訊協定(LCP)協商、驗證和網路控制通訊協定(NCP)協商。如果兩端無法就正確的引數達成一致,則連線終止。一旦鏈路建立,雙方使用在LCP協商期間確定的身份驗證協定相互進行身份驗證。在開始NCP協商之前,身份驗證必須成功。
PPP支援兩種身份驗證協定:密碼驗證通訊協定(PAP)和質詢握手驗證通訊協定(CHAP)。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本文件沒有特定先決條件。
本檔案中的資訊是根據以下軟體和硬體版本。
Cisco IOS®軟體版本11.2或更高版本
PAP身份驗證包括雙向握手,使用者名稱和密碼以明文形式通過鏈路傳送;因此,PAP身份驗證不能提供任何防止回放和線路監聽的保護。
另一方面,CHAP身份驗證使用三次握手定期驗證遠端節點的身份。建立PPP鏈路後,主機將向遠端節點傳送「質詢」消息。遠端節點以使用單向雜湊函式計算的值進行響應。主機根據自己的預期雜湊值計算來檢查響應。如果值匹配,則確認身份驗證;否則,連線將終止。
本節提供用於設定本文件中所述功能的資訊。
注意:要查詢有關本文檔中使用的命令的其他資訊,請使用IOS命令查詢工具
當兩台裝置通常使用CHAP身份驗證時,兩端都會發出一個質詢,另一端會響應該質詢並由挑戰者進行身份驗證。每一端獨立進行驗證。如果要在不支援由呼叫路由器或裝置進行身份驗證的非Cisco路由器上運行,則必須使用ppp authentication chap callin命令。將ppp authentication命令與callin關鍵字一起使用時,訪問伺服器將僅在遠端裝置發起呼叫時驗證遠端裝置(例如,如果遠端裝置「被呼入」)。 在這種情況下,僅對傳入(接收)呼叫指定身份驗證。
當遠端Cisco路由器連線到不同管理控制的Cisco或非思科中央路由器、網際網路服務提供商(ISP)或中央路由器輪流時,必須配置不同於主機名的身份驗證使用者名稱。在這種情況下,路由器的主機名不會提供,或者在不同時間不同(旋轉)。 此外,ISP分配的使用者名稱和密碼可能不是遠端路由器的主機名。在這種情況下,ppp chap hostname命令用於指定用於身份驗證的備用使用者名稱。
例如,考慮多個遠端裝置撥入中心站點的情況。使用常規CHAP身份驗證時,必須在中央路由器上配置每個遠端裝置的使用者名稱(即主機名)和共用金鑰。在此案例中,中央路由器的配置可能會變得冗長且繁瑣;但是,如果遠端裝置使用的使用者名稱不同於其主機名,則可以避免這種情況。中心站點可以配置單個使用者名稱和共用金鑰,用於驗證多個撥入客戶端。
如果路由器1發起到路由器2的呼叫,路由器2會質詢路由器1,但路由器1不會質詢路由器2。出現這種情況是因為在路由器1上配置了ppp authentication chap callin命令。這是單向身份驗證的示例。
在此設定中,在Router 1上配置了ppp chap hostname alias-r1命令。路由器1使用「alias-r1」而不是「r1」作為CHAP身份驗證的主機名。 Router 2撥號器對映名稱應與Router 1的ppp chap主機名匹配;否則建立兩個B通道,每個方向一個。
路由器1 |
---|
! isdn switch-type basic-5ess ! hostname r1 ! username r2 password 0 cisco ! -- Hostname of other router and shared secret ! interface BRI0/0 ip address 20.1.1.1 255.255.255.0 no ip directed-broadcast encapsulation ppp dialer map ip 20.1.1.2 name r2 broadcast 5772222 dialer-group 1 isdn switch-type basic-5ess ppp authentication chap callin ! -- Authentication on incoming calls only ppp chap hostname alias-r1 ! -- Alternate CHAP hostname ! access-list 101 permit ip any any dialer-list 1 protocol ip list 101 ! |
路由器2 |
---|
! isdn switch-type basic-5ess ! hostname r2 ! username alias-r1 password 0 cisco ! -- Alternate CHAP hostname and shared secret. ! -- The username must match the one in the ppp chap hostname ! -- command on the remote router. ! interface BRI0/0 ip address 20.1.1.2 255.255.255.0 no ip directed-broadcast encapsulation ppp dialer map ip 20.1.1.1 name alias-r1 broadcast 5771111 ! -- Dialer map name matches alternate hostname "alias-r1". dialer-group 1 isdn switch-type basic-5ess ppp authentication chap ! access-list 101 permit ip any any dialer-list 1 protocol ip list 101 ! |
如需說明,請參閱此圖下方的數字:
在本例中,Router 1發起呼叫。由於Router 1是使用ppp authentication chap callin指令設定的,因此它不會詢問主叫方(即Router 2)。
Router 2收到呼叫時,會向Router 1詢問是否進行驗證。預設情況下,此身份驗證使用路由器的主機名來標識自身。如果配置了ppp chap hostname name 命令,則路由器使用名稱代替主機名來標識自己。在本例中,質詢被標籤為來自「r2」。
Router 1收到Router 2的詢問訊息,並在其本機資料庫中尋找使用者名稱「r2」。
Router 1會找到「r2」密碼,即「cisco」。 Router 1使用此密碼和Router 2的質詢作為MD5雜湊函式的輸入引數。雜湊值生成。
Router 1將hash輸出值傳送到Router 2。此處,由於ppp chap hostname命令配置為「alias-r1」,因此回覆被標籤為來自「alias-r1」。
路由器2收到回覆並在本地資料庫中查詢「alias-r1」使用者名稱以獲得口令。
Router 2發現「alias-r1」的密碼為「cisco」。 Router 2使用先前傳送給Router 1的密碼和詢問作為MD5雜湊函式的輸入引數。雜湊函式生成雜湊值。
Router 2會比較其產生的雜湊值與其從Router 1接收的雜湊值。
由於輸入引數(質詢和密碼)相同,因此雜湊值相同,導致身份驗證成功。
目前沒有適用於此組態的驗證程序。
本節提供的資訊可用於對組態進行疑難排解。
嘗試任何debug指令之前,請先參閱有關Debug指令的重要資訊
以下是debug ppp authentication命令的輸出示例:
r1#ping 20.1.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 20.1.1.2, timeout is 2 seconds: *Mar 1 20:06:27.179: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to up *Mar 1 20:06:27.183: %ISDN-6-CONNECT: Interface BRI0/0:1 is now connected to 5772222 *Mar 1 20:06:27.187: BR0/0:1 PPP: Treating connection as a callout *Mar 1 20:06:27.223: BR0/0:1 CHAP: I CHALLENGE id 57 len 23 from "r2" ! -- Received a CHAP challenge from other router (r2) *Mar 1 20:06:27.223: BR0/0:1 CHAP: Using alternate hostname alias-r1 ! -- Using alternate hostname configured with ! -- ppp chap hostname command *Mar 1 20:06:27.223: BR0/0:1 CHAP: O RESPONSE id 57 Len 29 from "alias-r1" ! -- Sending response from "alias-r1" ! -- which is the alternate hostname for r1 *Mar 1 20:06:27.243: BR0/0:1 CHAP: I SUCCESS id 57 Len 4 ! -- Received CHAP authentication is successful ! -- Note that r1 is not challenging r2 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/38/40 ms r1# *Mar 1 20:06:28.243: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to up r1# *Mar 1 20:06:33.187: %ISDN-6-CONNECT: Interface BRI0/0:1 is now connected to 5772222 r2
r2# 20:05:20: %LINK-3-UPDOWN: Interface BRI0/0:1, changed state to up 20:05:20: %ISDN-6-CONNECT: Interface BRI0/0:1 is now connected to 5771111 20:05:20: BR0/0:1 PPP: Treating connection as a callin 20:05:21: BR0/0:1 CHAP: O CHALLENGE id 57 Len 23 from "r2" ! -- r2 is sending out a challenge 20:05:21: BR0/0:1 CHAP: I RESPONSE id 57 Len 29 from "alias-r1" ! -- Received a response from alias-r1, ! -- which is the alternate hostname on r1 20:05:21: BR0/0:1 CHAP: O SUCCESS id 57 Len 4 ! -- Sending out CHAP authentication is successful 20:05:22: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0/0:1, changed state to up 20:05:26: %ISDN-6-CONNECT: Interface BRI0/0:1 is now connected to 5771111 alias-r1
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
09-Sep-2005 |
初始版本 |