PPP CHAP配置“大法”
我們知道PPP協(xié)議會(huì)話的建立過稱各種,包括了很多認(rèn)證配置。那么現(xiàn)在這方面我們就來講解一下關(guān)于PPP CHAP配置的內(nèi)容。大致上,本文主要從三個(gè)方面進(jìn)行了闡述:PPP概述、CHAP原理和CHAP配置三個(gè)部分。
PPP CHAP配置1 PPP概述
點(diǎn)到點(diǎn)協(xié)議(Point to Point Protocol,PPP)是IETF(Internet Engineering Task Force,因特網(wǎng)工程任務(wù)組)推出的點(diǎn)到點(diǎn)類型線路的數(shù)據(jù)鏈路層協(xié)議。它解決了SLIP中的問題,并成為正式的因特網(wǎng)標(biāo)準(zhǔn)。
PPP協(xié)議在RFC 1661、RFC 1662和RFC 1663中進(jìn)行了描述。
PPP支持在各種物理類型的點(diǎn)到點(diǎn)串行線路上傳輸上層協(xié)議報(bào)文。PPP有很多豐富的可選特性,如支持多協(xié)議、提供可選的身份認(rèn)證服務(wù)、可以以各種方式壓縮數(shù)據(jù)、支持動(dòng)態(tài)地址協(xié)商、支持多鏈路捆綁等等。這些豐富的選項(xiàng)增強(qiáng)了PPP的功能。同時(shí),不論是異步撥號(hào)線路還是路由器之間的同步鏈路均可使用。因此,應(yīng)用十分廣泛。
本文我們主要介紹PPP的身份認(rèn)證功能。
PPP CHAP配置2 CHAP原理
PPP提供了兩種可選的身份認(rèn)證方法:口令驗(yàn)證協(xié)議PAP(Password Authentication Protocol,PAP)和質(zhì)詢握手協(xié)議(Challenge Handshake Authentication Protocol,CHAP)。如果雙方協(xié)商達(dá)成一致,也可以不使用任何身份認(rèn)證方法。
CHAP認(rèn)證比PAP認(rèn)證更安全,因?yàn)镃HAP不在線路上發(fā)送明文密碼,而是發(fā)送經(jīng)過摘要算法加工過的隨機(jī)序列,也被稱為"挑戰(zhàn)字符串".如圖1所示。同時(shí),身份認(rèn)證可以隨時(shí)進(jìn)行,包括在雙方正常通信過程中。因此,非法用戶就算截獲并成功破解了一次密碼,此密碼也將在一段時(shí)間內(nèi)失效。

圖1 CHAP
CHAP對(duì)端系統(tǒng)要求很高,因?yàn)樾枰啻芜M(jìn)行身份質(zhì)詢、響應(yīng)。這需要耗費(fèi)較多的CPU資源,因此只用在對(duì)安全要求很高的場(chǎng)合。
PPP CHAP配置3 CHAP配置
3.1 PPP基本配置
對(duì)于同步串行接口,默認(rèn)的封裝格式是HDLC(Cisco私有實(shí)現(xiàn))??梢允褂妹頴ncapsulation ppp將封裝格式改為PPP.如圖2所示。

圖2 PPP串行封裝
當(dāng)通信雙方的某一方封裝格式為HDLC,而另一方為PPP時(shí),雙方關(guān)于封裝協(xié)議的協(xié)商將失敗。此時(shí),此鏈路處于協(xié)議性關(guān)閉(protocol down)狀態(tài),通信無法進(jìn)行。如圖3所示。

圖3 兩端路由器串行接口封裝格式不一致
這時(shí),在路由器RouterA與路由器RouterB的鏈路沒有成功建立之前,路由器RouterA及RouterB的路由表將為空。
3.2 PPP CHAP配置
3.2.1 CHAP認(rèn)證過程
同PAP一樣,CHAP認(rèn)證可以在一方進(jìn)行,即由一方認(rèn)證另一方身份,也可以進(jìn)行雙向身份認(rèn)證。這時(shí),要求被認(rèn)證的雙方都要通過對(duì)方的認(rèn)證程序,否則,無法建立二者之間的鏈路。我們以單方認(rèn)證為例分析CHAP配置過程及診斷方法。
如圖4所示。當(dāng)雙方都封裝了PPP協(xié)議且要求進(jìn)行CHAP身份認(rèn)證,同時(shí)它們之間的鏈路在物理層已激活后,認(rèn)證服務(wù)器會(huì)不停地發(fā)送身份認(rèn)證要求直到身份認(rèn)證成功。和PAP不同的是,這時(shí)認(rèn)證服務(wù)器發(fā)送的是"挑戰(zhàn)"字符串。

圖4 CHAP驗(yàn)證
在圖4中,當(dāng)認(rèn)證客戶端(被認(rèn)證一端)路由器RouterB發(fā)送了對(duì)"挑戰(zhàn)"字符串的回應(yīng)數(shù)據(jù)包后,認(rèn)證服務(wù)器會(huì)按照摘要算法(MD5)驗(yàn)證對(duì)方的身份。如果正確,則身份認(rèn)證成功,通信雙方的鏈路最終成功建立。
如果被認(rèn)證一端路由器RouterB發(fā)送了錯(cuò)誤的"挑戰(zhàn)"回應(yīng)數(shù)據(jù)包,認(rèn)證服務(wù)器將繼續(xù)不斷地發(fā)送身份認(rèn)證要求直到收到正確的回應(yīng)數(shù)據(jù)包為止。
3.2.2 CHAP認(rèn)證服務(wù)器的配置
CHAP認(rèn)證服務(wù)器的配置分為兩個(gè)步驟:建立本地口令數(shù)據(jù)庫、要求進(jìn)行CHAP認(rèn)證。
建立本地口令數(shù)據(jù)庫
通過全局模式下的命令username username password password來為本地口令數(shù)據(jù)庫添加記錄。這里請(qǐng)注意,此處的username應(yīng)該是對(duì)端路由器的名稱,即routerb.如下所示:
RouterA(config)#username routerb password samepass
要求進(jìn)行CHAP認(rèn)證
這需要在相應(yīng)接口配置模式下使用命令ppp authentication chap來完成。如下所示:
RouterA(config)#interface serial 0/0
RouterA(config-if)#ppp authentication chap
3.2.3 CHAP認(rèn)證客戶端的配置
CHAP認(rèn)證客戶端的配置只需要一個(gè)步驟(命令),即建立本地口令數(shù)據(jù)庫。請(qǐng)注意,此處的username應(yīng)該是對(duì)端路由器的名稱,即routera,而口令應(yīng)該和CHAP認(rèn)證服務(wù)器口令數(shù)據(jù)庫中的口令相同。如下所示。
RouterB(config-if)#username routera password samepass
3.2.4 CHAP的診斷
對(duì)于CHAP身份認(rèn)證中出現(xiàn)的問題也可以利用debug ppp authentication命令進(jìn)行診斷。如圖5所示,它表明認(rèn)證客戶端發(fā)送的"挑戰(zhàn)"回應(yīng)數(shù)據(jù)包沒有通過認(rèn)證服務(wù)器的認(rèn)證。

圖5 命令debug ppp authentication 的輸出
圖6表明經(jīng)過若干次認(rèn)證要求后,認(rèn)證服務(wù)器最終收到了認(rèn)證客戶端發(fā)送過來的正確的"挑戰(zhàn)"回應(yīng)數(shù)據(jù)包。此時(shí),雙方的鏈路將成功建立。

圖6 命令debug ppp authentication 的輸出
注意:
1、CHAP認(rèn)證過程中,口令是大小寫敏感的。
2、身份認(rèn)證也可以雙向進(jìn)行,即互相認(rèn)證。配置方法同單向認(rèn)證類似,只不過需要將通信雙方同時(shí)配置成為認(rèn)證服務(wù)器和認(rèn)證客戶端。
3、口令數(shù)據(jù)庫也可以存儲(chǔ)在路由器以外的AAA或TACACS+服務(wù)器上。限于篇幅,此處不再贅述。
通信認(rèn)證雙方選擇的認(rèn)證方法可能不一樣,如一方選擇PAP,另一方選擇CHAP,這時(shí)雙方的認(rèn)證協(xié)商將失敗。為了避免身份認(rèn)證協(xié)議過程中出現(xiàn)這樣的失敗,可以配置路由器使用兩種認(rèn)證方法。當(dāng)?shù)谝环N認(rèn)證協(xié)商失敗后,可以選擇嘗試用另一種身份認(rèn)證方法。如下的命令配置路由器首先采用PAP身份認(rèn)證方法。如果失敗,再采用CHAP身份認(rèn)證方法。
RouterA(config-if)#ppp authentication pap chap
如下的命令則相反,首先使用CHAP認(rèn)證,協(xié)商失敗后采用PAP認(rèn)證。
RouterA(config-if)#ppp authentication chap pap
以上就是針對(duì)PPP CHAP配置的詳細(xì)內(nèi)容了。希望大家通過文章的講解,能夠?qū)Υ擞兴莆铡?/p>


















