Cisco、Novell、PPP協定、WAN、廣域網路

從基本簡介到路由器設置 PPP協定一手掌握

2012-11-16
如果在企業網路環境中同時使用AppleTalk、TCP/IP、Novell IPX等多種不同的網路協定,該如何規劃才能整合多種不同的網路協定並運作得宜呢?此時就要思考什麼網路協定可以協助封裝這些不同網路協定,而且不需要在原本的網路環境中做太多額外的設定。本文所介紹的PPP協定,就是一個可以考慮的解決方案。
PPP協定的認證協定

以下介紹PPP協定的認證方式。如同前面所提到的,PPP協定所使用的認證協定有PAP協定和CHAP協定,但是PAP協定和CHAP協定有什麼不同?哪一種協定比較好?這裡會就這兩種認證協定分別加以介紹。

PAP認證協定

PAP認證協定是一種雙向握手(Two way handshake)協定,透過雙向握手的流程,讓遠端的電腦或是網路設備進行辨識(Identity)認證的工作。一旦網路連線建立,而且認證協定被決定之後,就代表連線雙方的連線可進入認證確認的階段。

因此,認證的發生時間是在PPP協定連線建立之後就進行的。進行認證時,遠端的電腦或網路設備會不斷地發送帳號和密碼到Cisco路由器,這樣的發送過程會一直持續,直到這個認證被接受或者這個PPP連線被中斷為止。

PAP認證協定的隱憂

雖然PPP協定使用PAP認證協定,但事實上,PAP認證協定本身並不是一個很嚴謹的認證協定,因為PAP認證協定會把密碼用純文字的方式,也就是Clear Text來傳送,這也就代表著,在傳送過程中密碼不會被加密,因此當有人攔截到這樣的網路封包,就可以看到密碼內容。

這樣的運作模式除了Token Ring網路架構之外,在大部分的網路環境中是相當不安全的。不僅如此,PAP協定針對Playback和Trial-and-error的攻擊方式也沒有任何的保護措施。

CHAP認證協定

另外一種PPP連線的認證協定是CHAP認證協定,CHAP認證協定採用的運作流程是Three way handshake,如果使用CHAP認證協定,則當PPP連線建立階段完成之後,Cisco路由器設備(本地端)就會發送所謂的Challenge封包給遠端的網路設備。

接下來,遠端的網路設備會透過One way hash方式,針對傳送過來的Challenge值和密碼,計算出一個特定的值,然後將這個特定的值傳回給原本發送的Cisco路由器設備。這裡所使用的One way hash方式,一般都是使用MD5(Message Digest 5)演算法。

然後,本地端的Cisco路由器設備根據已知的計算方式再次計算出hash值,並比對自己所計算的hash值與收到的hash值是否相同。

如果兩個計算出來的hash值相同,代表這個認證已經通過,否則就會立刻中斷目前這個PPP連線。

CHAP認證協定比較安全的地方

看得出來,CHAP認證協定比PAP認證協定安全許多,因為雙方都會計算出特定的hash值加以比對,而且並不會把密碼直接用明文的方式來傳送。不僅如此,CHAP認證協定對於Playback的攻擊方式有相對應的保護措施。

剛剛提到的Challenge值是很難被預測出來的值,因為Challenge值是亂數產生的,所以這同時也代表著所計算出來的hash值也是亂數產生的。

此外,剛剛提過Challenge封包會一直發送,這種做法也可以避免受到攻擊,因為每次發送的Challenge值都不一樣。

PPP協定認證的設定方式

到目前為止,讀者應該對PPP協定有了一定程度的了解,接下來介紹實作的部分,也就是PPP協定認證的設定方式。

設定PPP協定的封裝

一開始,先在Cisco路由器上設定PPP協定的封裝,其指令如下:


這個指令必須在Interface模式下執行。這個指令相當於啟動PPP協定的使用,是設定PPP協定的第一步驟。

前面提到,可以透過連接以下四種實體介面的方式來設定:非同步Serial介面、同步Serial介面、高速Serial介面(HSSI)、整合服務數位網路(ISDN)。

如果是在非同步的Serial介面上設定Cisco路由器在PPP協定上的設定,則需要額外的步驟來啟動PPP協定的使用。不過,由於篇幅有限,難度較高,這裡將不說明非同步Serial介面的設定方式,只是讀者要稍微注意一下。

設定路由器主機名稱

在設定PPP協定的認證之前,當前的介面必須已經設定過PPP協定的封裝(Encapsulation),也就是已經透過上一個步驟啟動PPP協定的使用。

接下來,必須確保每一個使用PPP協定的Cisco路由器均有設定「主機名稱」。

如何判定Cisco路由器已經設定好主機名稱呢?方法很簡單,如果已設定好主機名稱,其設定好的主機名稱會出現在命令列提示符號之前。假如未設定主機名稱,則必須先執行下列指令來設定主機名稱:


KC406是主機名稱的設定範例,指令關鍵字是hostname。一般而言,設定主機名稱主要是為了方便管理,而這個名稱一旦設定之後,就會顯示在提示符號之前,方便管理員辨識目前是在哪一台設備的CLI中。

但是,對PPP協定的認證來說,這個主機名稱已經不再只是方便管理這麼簡單,而是會被拿來當作認證的帳號名稱,也就是username。請注意,這裡所設定的主機名稱,大小寫視為相異。

設定遠端路由器的主機名稱與密碼

接下來設定遠端Cisco路由器的認證帳號名稱與密碼,可用下面這個指令來完成:


上面這個指令範例是設定遠端的路由器,其主機名稱為LOLO,密碼為1120。對於Cisco路由器而言,這個密碼對於雙方路由器而言,必須是相同的。

在Cisco IOS版本11.2以前,這個密碼是加密過的,但是從Cisco IOS版本11.2開始,這個密碼就不再加密,而是用明文的方式。

如果想把密碼加密,必須執行下面這個指令:


設定認證協定種類

接著,當然就是要設定PPP協定認證的種類。這裡有PAP協定和CHAP協定兩種認證協定可以選擇,其設定的指令如下:


上面的指令範例代表採用CHAP認證協定,指令的關鍵字為ppp authentication,若要採用PAP認證協定,只要將chap改成pap即可,該指令內容如下:


無論是設定成PAP認證協定,還是設定為CHAP認證協定,都代表所有透過這個介面進來的PPP連線要求,都會使用原先所設定的認證協定來要求認證。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!