EIGRP的accept-lifetime 和 send-lifetime 自動變更認證密碼

EIGRP MD5驗證本身的原理很簡單,也必須通過“發送方的密碼=接收方的密碼”這個驗證,其實跟明碼的驗證方式原理上並沒有太大的區別,只不過這裏的密碼是經過加密的密碼而已。而所謂的MD5加密,無非就是用一個基本上不可逆的算法對一個字符串進行加密,也就是說你不能夠通過被加密的那堆字符串倒推出加密前的字符串。MD5加密在網站編程中被廣泛用於對用戶密碼的加密,所以你在某個論壇上註冊了賬號,論壇的管理員也是不知道你的密碼的,因爲它只能看到一堆雜亂無章的字符串。好,言歸正傳,現在我們那教材上的一個例子來說明EIGRP MD5驗證的配置。


我們先把這兩臺路由器的配置給寫出來,再進一步解析:

R1#show running-config

key chain R1chain
key 1
key-string abc123
accept-lifetime 04:00:00 Jan 1 2008 infinite
send-lifetime 04:00:00 Jan 1 2008 04:01:00 Jan 1 2008
key 2
key-string efg456

accept-lifetime 04:00:00 Jan 1 2008 infinite
send-lifetime 04:00:00 Jan 1 2008 infinite


interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
!
interface Serial0/0/1
bandwidth 64
ip address 192.168.1.101 255.255.255.254
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 R1chain

!
router eigrp 100
network 172.16.1.0 0.0.0.255
network 192.168.1.0
auto-summary

--------------

R2#show running-config

key chain R2chain
key 1
key-string abc123
accept-lifetime 04:00:00 Jan 1 2008 infinite
send-lifetime 04:00:00 Jan 1 2008 infinite
key 2
key-string efg456
accept-lifetime 04:00:00 Jan 1 2008 infinite
send-lifetime 04:00:00 Jan 1 2008 infinite

interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
!
interface Serial0/0/1
bandwidth 64
ip address 192.168.1.101 255.255.255.254
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 R2chain
!
router eigrp 100
network 172.16.1.0 0.0.0.255
network 192.168.1.0
auto-summary


首先我們先看R1的配置,先看較下面關於接口的配置部分,可以看到MD5驗證是在接口模式下進行配置的,這裏我們使用ip authentication mode eigrp 100 md5命令來指出驗證方式爲md5,對自治系統號爲100的EIGRP有效。
接着,使用ip authentication key-chain eigrp 100 R2chain來指出我們這個md5驗證過程將會用到一個名稱爲R1chain的密鑰鏈。所謂的密鑰鏈,可能稱爲“密鑰池”更加合適,就是可以在這個池中放一堆密碼來供MD5驗證使用,當然,某一時刻某個方向上只會有其中一個密碼在使用,譬如從R1發送到R2的EIGRP分組可能使用密碼1,從R2發送到R1的EIGRP分組可能使用密碼2。之所以稱爲“密鑰鏈”,大概是因爲我們配置的多個密碼它在生效時間上會有一個連續性,不然就可能出現一個真空時期,失去加密的意義。

好,我們現在將目光投到R1路由器上的密鑰鏈R1chain,這裏我們看到key 1和key 2,其實就是兩個密碼,只不過這兩個密碼有壽命。key-string後面跟的就是密碼的明文(這裏密碼爲“abc123”),accept-lifetime和send-lifetime分別指出了這個密鑰用作“接收方”(驗證R2發送過來的EIGRP)和用作“發送方”(將這個密碼附加到自己發送給R2的EIGRP分組上)的壽命。

我們會發現,在路由器R2上也看到兩個key,並且它們的密碼跟路由器R1上的密碼相同,不過,在壽命上有些差異,這是我們故意這樣配置的,以演示驗證的原理。

好,現在我們來看R2,我們注意到R2的兩個key的壽命都是2008年1月1日4點開始,然後結束時間爲infinite(永久),也就是說從2008年1月1日4點開始這兩個key都生效,並且一直生效下去。現在R2發送一個EIGRP分組給R1,它會去找一個密碼,找哪個呢?根據key後面跟的數字從小到大來找,當然是找到key 1了,也就是說使用密碼“abc123”,並將其通過MD5算法加密後附加到分組上,分組傳遞到R1後,R1需要對這個分組進行驗證,R1也有兩個key,作爲接收方,這時侯我們只需關注兩個key的accept-lifetime,我們看到兩個key都在“接收”的壽命範圍內,這時侯R1使用哪個key來驗證呢?這時侯就不是根據key後面的數值誰小了,而是採取列舉的方式來逐一嘗試,只要其中一個key的密碼跟R1發送過來的分組中的密碼匹配,就可以通過驗證。驗證的時候,R1會用MD5來對“abc123”進行加密,得到一個結果,然後用這個結果跟EIGRP分組中的那個加密字符串進行比較,如果相等,則表示它們的原始明文密碼是一致的。

再來看EIGRP分組從R1發送給R2,這時侯我們關注R1的兩個key的send-lifetime和R2的兩個key的accept-lifetime,我們看看R1的兩個key,注意到key 1的send-lifetime很短命,只有起始時間只相差1分鐘,也就是說它作爲發送方,只存活了1分鐘,在頭1分鐘內,key 1和key 2都有效,但1分鐘過後,就只有key 2生效了,假設我們已經過了2分鐘,所以R1會使用key 2(密碼爲“efg456”),然後加密分組會發送到R2,R2的兩個key作爲accept方這時侯都生效,R1比較key 1和EIGRP分組,發現不匹配,於是再用key 2比較,這回匹配了,於是接收分組。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章