ppp authentication的使用
我們知道PPP協(xié)議的內(nèi)容后,也對它的認證有了了解。那么其中就包括CHAP認證??赡苡胁簧倥笥褜τ贑HAP配置的內(nèi)容不太清楚。那么其中涉及了ppp authentication的使用。我們這次就著重講解一下有關(guān)內(nèi)容。
CHAP配置
CHAP認證過程
同PAP一樣,CHAP認證可以在一方進行,即由一方認證另一方身份,也可以進行雙向身份認證。這時,要求被認證的雙方都要通過對方的認證程序,否則,無法建立二者之間的鏈路。我們以單方認證為例分析CHAP配置過程及診斷方法。
如圖1所示。當雙方都封裝了PPP協(xié)議且要求進行CHAP身份認證,同時它們之間的鏈路在物理層已激活后,認證服務器會不停地發(fā)送身份認證要求直到身份認證成功。和PAP不同的是,這時認證服務器發(fā)送的是"挑戰(zhàn)"字符串。
圖1CHAP驗證
在圖1中,當認證客戶端(被認證一端)路由器RouterB發(fā)送了對"挑戰(zhàn)"字符串的回應數(shù)據(jù)包后,認證服務器會按照摘要算法(MD5)驗證對方的身份。如果正確,則身份認證成功,通信雙方的鏈路最終成功建立。
如果被認證一端路由器RouterB發(fā)送了錯誤的"挑戰(zhàn)"回應數(shù)據(jù)包,認證服務器將繼續(xù)不斷地發(fā)送身份認證要求直到收到正確的回應數(shù)據(jù)包為止。
CHAP認證服務器的配置
CHAP認證服務器的配置分為兩個步驟:建立本地口令數(shù)據(jù)庫、要求進行CHAP認證。
建立本地口令數(shù)據(jù)庫
通過全局模式下的命令username username password password來為本地口令數(shù)據(jù)庫添加記錄。這里請注意,此處的username應該是對端路由器的名稱,即routerb.如下所示:
RouterA(config)#username routerb password samepass
要求進行CHAP認證
這需要在相應接口配置模式下使用命令ppp authentication chap來完成。如下所示:
RouterA(config)#interface serial 0/0
RouterA(config-if)#ppp authentication chap
CHAP認證客戶端的配置
CHAP認證客戶端的配置只需要一個步驟(命令),即建立本地口令數(shù)據(jù)庫。請注意,此處的username應該是對端路由器的名稱,即routera,而口令應該和CHAP認證服務器口令數(shù)據(jù)庫中的口令相同。如下所示。
RouterB(config-if)#username routera password samepass
CHAP的診斷
對于CHAP身份認證中出現(xiàn)的問題也可以利用debug ppp authentication命令進行診斷。如圖2所示,它表明認證客戶端發(fā)送的"挑戰(zhàn)"回應數(shù)據(jù)包沒有通過認證服務器的認證。
圖2命令debug ppp authentication 的輸出
圖3表明經(jīng)過若干次認證要求后,認證服務器最終收到了認證客戶端發(fā)送過來的正確的"挑戰(zhàn)"回應數(shù)據(jù)包。此時,雙方的鏈路將成功建立。
圖3命令debug ppp authentication 的輸出
注意:
1、CHAP認證過程中,口令是大小寫敏感的。
2、身份認證也可以雙向進行,即互相認證。配置方法同單向認證類似,只不過需要將通信雙方同時配置成為認證服務器和認證客戶端。
3、口令數(shù)據(jù)庫也可以存儲在路由器以外的AAA或TACACS+服務器上。限于篇幅,此處不再贅述。
通信認證雙方選擇的認證方法可能不一樣,如一方選擇PAP,另一方選擇CHAP,這時雙方的認證協(xié)商將失敗。為了避免身份認證協(xié)議過程中出現(xiàn)這樣的失敗,可以配置路由器使用兩種認證方法。當***種認證協(xié)商失敗后,可以選擇嘗試用另一種身份認證方法。如下的命令配置路由器首先采用PAP身份認證方法。如果失敗,再采用CHAP身份認證方法。
RouterA(config-if)#ppp authentication pap chap
如下的命令則相反,首先使用CHAP認證,協(xié)商失敗后采用PAP認證。
RouterA(config-if)#ppp authentication chap pap