EIGRP的總結--實驗篇

    這個星期看了張sir的EIGRP視頻,決定把看到的所有知識點放入一個實驗中。於是有了下面的topo,原始topo看於56cto,沒有寫出作者,自己刪除了一些他的需求,添加了張sir視頻中的需求

 

 

需求:按照如下拓撲圖配置好接口地址和EIGRP 100,並關閉自動彙總
R1啓用172.16.0.1/24,172.16.1.1/24,172.16.2.1/24,172.16.3.1/24;
R2啓用2.2.2.2/24(外網)
R3啓用192.168.0.1/24,192.168.1.1/24,192.168.2.1/24,192.168.3.1/24
R4啓用4.4.4.4/24
R5啓用5.5.5.5/24

1:在R4做DHCP服務,要求R1和R3的f0/0地址要自動獲取

2:R2,R4,R5只能收到R1,R3的一條彙總路

3:R2的S1/1的帶寬改爲700K,修改R2的S1/0接口的hello-time爲20S,R2的Lo不能收發任何EIGRP路由更新

4:必須確保R2的EIGRP在S1/1能使用到最少70K的帶寬

5:爲了安全起見,R1和R2之間不允許用組播建立鄰居且啓用EIGRP的MD5認證

6:R1和R3都發布通往回環的默認路由,R2也建立外網的默認路由0.0.0.0.這時候會有三條默認路由,只保留一條。

7:R5爲EIGRP stub,只通告直連

8:要求從R2telnet到R5的5.5.5.5環回,登陸進去的時候卻是登陸到了R4上

9:要求從R2到R4形成非等價負載均衡

首先,做初始配置:

因爲每個都初始,太多,所有隻初始R1,其餘基本差不多,當然,如果你需要的話,下面會附所有配置步驟文件

R1:

Router>en
Router#conf t
Router(config)#hoStname R1 
R1(config)#no ip domain lookup
R1(config)#line console  0
R1(config-line)#logging synchronous
R1(config-line)#exec-timeout 0 0
R1(config-line)#exit   
R1(config)#int s1/1
R1(config-if)#ip address 12.1.1.2 255.255.255.252
R1(config-if)#no shut
R1(config-if)#int f0/0
R1(config-if)#ip address dhcp
R1(config-if)#no shut
R1(config-if)#int lo 0
R1(config-if)#ip address 172.16.0.1 255.255.255.0
R1(config-if)#ip address 172.16.1.1 255.255.255.0 secondary
R1(config-if)#ip address 172.16.2.1 255.255.255.0 secondary
R1(config-if)#ip address 172.16.3.1 255.255.255.0 secondary
R1(config-if)#exit
R1(config)#router eigrp 100
R1(config-router)#network 12.1.1.0 0.0.0.3
R1(config-router)#network 134.1.1.0 0.0.0.255
R1(config-router)#network 172.16.0.0
R1(config-router)#no auto-summary

R2~R5略

然後第一需求:

1:在R4做DHCP服務,要求R1和R3的f0/0地址要自動獲取:

R4(config)#ip dhcp pool promisewell
R4(dhcp-config)#network 134.1.1.0 /24
R4(dhcp-config)#dns-server 202.202.202.202
R4(dhcp-config)#lease 1
R4(dhcp-config)#exit
R4(config)#ip dhcp excluded-address 134.1.1.4
R4(config-if)#exit

R2在剛剛EIGRP通時查看路由表

 

 

R5查看路由表:

 

2:R2,R4,R5只能收到R1,R3的一條彙總路

R1在兩個接口做彙總
R1(config)#int s1/1
R1(config-if)#ip summary-address eigrp 100 172.16.0.1 255.255.252.0
R1(config-if)#int f0/0
R1(config-if)#ip summary-address eigrp 100 172.16.0.1 255.255.252.0
R1(config-if)#exit

R3在兩個接口做彙總
R3(config)#int f0/0
R3(config-if)#ip summary-address eigrp 100 192.168.0.1 255.255.252.0  
R3(config-if)#int s1/0
R3(config-if)#ip summary-address eigrp 100 192.168.0.1 255.255.252.0
R3(config-if)#exit

這時的R2再次查看路由表

R1和R3的環回地址已經被彙總

同樣,查看R5的路由表:

 

3:R2的S1/1的帶寬改爲700K,我們先看看s1/1的缺省帶寬:

修改s1/1的BW的值
R2#conf t
R2(config)#int s1/1
R2(config-if)#bandwidth 700

再次查看s1/1的BW值

 

700 Kbit

這個時候查看R2的路由表,去R5的路徑已經不負載,只有一條路由了:

 

修改R2的S1/0接口的hello-time爲20S,R2的Lo不能收發任何EIGRP路由更新

修改Hello-time時間,但是,請注意,這裏修改了Hello-time時間,
要把hold-time時間也要修改過來,保持3倍的關係
R2(config)#int s1/0
R2(config-if)#ip hello-interval eigrp 100 20
R2(config-if)#ip hold-time eigrp 100 60
R2(config)#router eigrp 100
R2(config-router)#passive-interface loopback 0

4:必須確保R2的EIGRP在S1/1能使用到最少70K的帶寬

R2(config-if)#ip bandwidth-percent eigrp 100 10
R2(config-if)#exit

(默認,EIGRP協議本身的流量最多隻佔用接口的參考帶寬的50%。)


5:爲了安全,R1和R2之間不允許用組播建立鄰居且啓用EIGRP的MD5認證

先建立R2的:

建立鑰匙串並應用到接口
R2(config)#key chain cisco-r2
R2(config-keychain)#key 1
R2(config-keychain-key)#key-string 123456
R2(config-keychain-key)#exit
R2(config-keychain)#exit
R2(config)#int s1/0
R2(config-if)#ip authentication key-chain eigrp 100 cisco-r2
R2(config-if)#ip authentication mode eigrp 100 md5
R2(config-if)#exit

這時候R1已經有了反應,鄰居關係失敗了:

 

R1也創建鑰匙環:

R1創建鑰匙串並應用與接口
R1(config)#key chain cisco-r1
R1(config-keychain)#key 1
R1(config-keychain-key)#key-string 123456
R1(config-keychain-key)#exit
R1(config-keychain)#exit
R1(config)#int s1/1
R1(config-if)#ip authentication key-chain eigrp 100 cisco-r1
R1(config-if)#ip authentication mode eigrp 100 md5

這個時候,R1與R2鄰居關係恢復

 

R1和R2之間不用組播建立鄰居
R2(config)#router eigrp 100
R2(config-router)#neighbor 12.1.1.2 s1/1(對方的地址)

R1(config)#router eigrp 100
R1(config-router)#neighbor 12.1.1.1 s1/1 (R2的地址)

 

6:R1和R3都發布通往回環的默認路由,R2也建立外網的默認路由0.0.0.0.這時候會有三條默認路由,只保留一條。

先做R3的默認路由

注:EIGRP發佈默認路由只有一種方法.不像RIP有三種。

R3發佈默認路由
R3(config)#ip default-network 192.168.0.0

R1也建立默認路由
R1(config)#ip default-network 172.16.0.0
但是showR2的路由後發現並沒有出現。

 

重新彙總
R1(config)#int s1/1
R1(config-if)#no ip summary-address eigrp 100 172.16.0.1 255.255.252.0
R1(config-if)#ip summary-address eigrp 100 172.16.0.1 255.255.0.0
R1(config-if)#int f0/0
R1(config-if)#no ip summary-address eigrp 100 172.16.0.1 255.255.252.0
R1(config-if)#ip summary-address eigrp 100 172.16.0.1 255.255.0.0
再次查看R2的路由,已經出現。(注:因爲default-network只能發佈主類路由)

 

R2也建立一條通往外網默認路由                                   
R2(config)#int s1/1
R2(config-if)#ip summary-address eigrp 100 0.0.0.0 0.0.0.0
R2(config-if)#int s1/0
R2(config-if)#ip summary-address eigrp 100 0.0.0.0 0.0.0.0

然後R5show ip ro,竟然3個默認路由

 

這個肯定不是這個網絡所要的結果,R5的路由器如果要上外網的2.2.2.2,能通嗎?

 

不通,用張sir話講,太失敗了。。。

這個時候在R4上建一個訪控
R4(config)#access-list 1 permit 0.0.0.0 0.0.0.0
R4(config)#router eigrp 100
R4(config-router)#default-information in 1

注意,這裏建立訪控後,需重置一下鄰居關係

 

然後查看R5的路由表,並ping 2.2.2.2 測試

已通,並且已經只有一條默認路由,但還需要在R2上做下訪控

R2(config)#access-list 1 permit 0.0.0.0 0.0.0.0
R2(config)#router eigrp 100
R2(config-router)#default-information in 1
R2(config-router)#do cle ip eig nei
查看R2路由,也只有一個默認路由了,R5就不用做了

7:R5爲EIGRP stub,只通告直連

R5做stub
R5(config)#router eigrp 100
R5(config-router)#eigrp stub connected

注: stub connected (通告直連路由)
         stub summary (通告彙總路由)  在本地做的彙總路由纔會傳
         stub redistributed (通告重分佈的路由)
         stub static (通告靜態路由) 
         stub receive-only (只接收不通告)

8:要求從R2telnet到R5的5.5.5.5環回,登陸進去的時候卻是登陸到了R4上

這個是用nat,跟EIGRP沒關係

R4(config)#int s1/1
R4(config-if)#ip nat inside
R4(config-if)#int f0/0
R4(config-if)#ip nat outside
R4(config-if)#exit
R4(config)#ip nat inside source static 4.4.4.4 5.5.5.5
 

不要忘記打開R4的telnet,否則,nat做成功也沒用。
R4(config)#line vty 0 4
R4(config-line)#password 123
測試 ……

 

9:最後,就是EIRGP特有的非等價負載均衡

R2到R5的路由表裏雖然只有一條路徑,但topo表呢

 

查看R2的topo表,配置variance值,具體可參見理論篇,當然,也可以給我留言
大致爲: FD of FS route < FD of best route (Successor)*Varince
R2(config)#router eigrp 100
R2(config-router)#variance 2
R2(config-router)#end
再次查看路由表:

 

O(∩_∩)O~,已經出現

看不等價的比例關係

 

比例有47:80 700K的鏈路發47個包,1.544M的鏈路發80個包,用debug測試一下

R2(config)#access-list 100 permit icmp any any
R2#debug ip packet 100

然後ping 5.5.5.5 ping 127次,
在這裏,要注意自己R2是否開啓cef

負載均衡分爲兩種:(快速交換fast switching,和處理交換process switching)。

快速交換是開啓了cef和ip route-cache       基於目的地的交換
處理交換是沒有開cef和ip route-cache       基於數據包的交換。

所以,這裏如果要測試,要關閉cef,否則debug不出效果。

最後,提一下EIGRP的一個命令:

EIGRP的有一個缺省命令爲
R2(config)#router eigrp 100
R2(config-router)#traffic-share balanced 默認會做負載均衡

如果改爲

R2(config-router)#traffic-share min across-interfaces
則會列出所有路徑,但不做負載均衡

好了,我能想到的大概就那麼多了,但我更想繼續在這個實驗裏完善EIGRP的知識點,如果有朋友能想到的話,歡迎幫忙添加,下面連接,附上R1-R5的所有具體配置,以及GNS3的文件。當然,如果你有需要的話。

 http://down.51cto.com/data/152108

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