利用Zebra設置網絡端口 我們利用Zebra軟件對網絡進行管理首先要靠RIP來實現。上文提到我們已經在ThinkPad上安裝了Zebra。由於我們需要在ThinkPad上建立另外一個網絡接口,為此我們必須首先設置一個虛擬網絡設備,如: # modprobe dummy # ifconfig dummy0 接下來,我們就可以連接進入Zebra程序端口開始設置。我們與Zebra的對話須按下列順序進行。 端口設置順序: User Access Verification PassWord: zebra speedmetal> enable Password: zebra speedmetal# configure terminal speedmetal(config)# interface eth0 speedmetal(config-if)# ip address 192.168.2.1/30 speedmetal(config-if)# quit speedmetal(config)# interface eth1 speedmetal(config-if)# ip address 192.168.1.1/30 speedmetal(config-if)# quit speedmetal(config)# interface dummy0 speedmetal(config-if)# ip address 10.0.2.1/24 speedmetal(config-if)# write Configuration saved to /etc/zebra/zebra.conf speedmetal(config-if)# end speedmetal# show run Current configuration: ! hostname speedmetal password zebra enable password zebra ! interface lo ! interface eth0 ip address 192.168.2.1/30 ! interface dummy0 ip address 10.0.2.1/24 ! interface eth1 ip address 192.168.1.1/30 ! ! line vty ! end 注意:我們並沒有按照常規方法在ThinkPad上設置IP地址,而是通過Zebra來設置它們的。這些設置保存在/etc/zebra/zebra.conf文件中,因此每當Zebra服務啟動時,這些設置便被激活。 zebra.conf文件的主要內容如下: /etc/zebra/zebra.conf文件的內容 ! ! Zebra configuration saved from vty ! 2003/08/20 00:07:51 ! hostname speedmetal password zebra enable password zebra ! interface lo ! interface eth0 ip address 192.168.2.1/30 ! interface dummy0 ip address 10.0.2.1/24 ! interface eth1 ip address 192.168.1.1/30 ! ! line vty ! 我們也可以使用MRLG查看各網絡端口的狀態,具體步驟是選擇缺省狀態“router1”,然後選擇“show interface”按鍵,點擊“Execute”。 利用Zebra設置RIP路由選擇 由於我們已在ThinkPad路由器上設置了網絡端口,接下來我們就可以對路由器進行設置使它與RIP同步工作了。Zebra使用不同的無後台交互程序支持不同的路由協議,因此我們要先建立一個簡單的設置文件/etc/zebra /ripd.conf。 基本/etc/zebra/ripd.conf文件: hostname speedmetal-rip password zebra enable password zebra 運行ripd 無後台交互程序: # service ripd start 然後,我們就可以通過連入Zebra路由器的2602接口,對RIP無後台交互程序進行設置了。 RIP設置: User Access Verification Password: zebra speedmetal-rip> enable Password: zebra speedmetal-rip# configure terminal speedmetal-rip(config)# router rip speedmetal-rip(config-router)# network 10.0.0.0/8 speedmetal-rip(config-router)# network 192.168.0.0/16 speedmetal-rip(config-router)# end speedmetal-rip# show run Current configuration: ! hostname speedmetal-rip password zebra enable password zebra ! interface lo ! interface eth0 ! interface dummy0 ! router rip network 0.0.0.0/0 network 192.168.0.0/16 ! line vty ! end speedmetal-rip# write Configuration saved to /etc/zebra/ripd.conf speedmetal-rip# 設置後的/etc/zebra/ripd.conf 文件為: ! ! Zebra configuration saved from vty ! 2003/08/19 13:50:30 ! hostname speedmetal-rip password zebra enable password zebra ! interface lo ! interface eth0 ! interface eth1 ! interface dummy0 ! router rip network 10.0.0.0/8 network 192.168.0.0/16 ! line vty ! 在Cisco路由器上建立RIP路由選擇 為了使兩台Cisco 3620路由器的設置更加簡便,我們將其命名為“A”和“B”,我們這裡只對做最基本的設置以便它們可以正常工作。這些設置包括設置端口IP地址、回送地址和用於正常串口通信的串口時鐘頻率。 對路由器A的設置: Router#config terminal Router(config)#hostname RouterA RouterA(config)#int s0/0 RouterA(config-if)#ip address 192.168.0.1 255.255.255.252 RouterA(config-if)#no shut RouterA(config-if)# interface fastEthernet 0/0 RouterA(config-if)#ip address 192.168.2.2 255.255.255.252 RouterA(config-if)#no shut RouterA(config-if)#int loopback 0 RouterA(config-if)#ip address 10.0.0.1 255.255.255.0 RouterA(config-if)#end RouterA#write 用同樣的方法可以對路由器B進行設置: Router#configure terminal Router(config)#hostname RouterB RouterB(config)#int s0/0 RouterB(config-if)#ip address 192.168.0.2 255.255.255.252 RouterB(config-if)#no shut RouterB(config-if)#int fastEthernet0/0 RouterB(config-if)#ip address 192.168.1.2 255.255.255.252 RouterB(config-if)#no shut RouterB(config-if)#int loopback 0 RouterB(config-if)#ip address 10.0.1.1 255.255.255.0 RouterB(config-router)#end RouterB#write 在3620路由器上設置RIP與Zebra中的命令十分類似。我們通過控制線連接到兩台3620路由器,並執行下列命令。 為路由器A設置RIP: RouterA#conf t Enter configuration commands, one per line. End with CNTL/Z. RouterA(config)#router rip RouterA(config-router)#network 10.0.0.0 RouterA(config-router)#network 192.168.0.0 RouterA(config-router)#network 192.168.2.0 RouterA(config-router)#version 2 RouterA(config-router)#end RouterA#write 為路由器B設置RIP: RouterB#conf t Enter configuration commands, one per line. End with CNTL/Z. RouterB(config)#router rip RouterB(config-router)#network 10.0.1.0 RouterB(config-router)#network 192.168.0.0 RouterB(config-router)#network 192.168.1.0 RouterB(config-router)#version 2 RouterB(config-router)#end RouterB#write 路由器的rip命令主要負責激活RIP進程,該網絡命令可以告知路由器RIP將向哪個網絡蔓延。 用RIP進行路徑拓展 現在我們已經完成了Cisco路由器和Zebra軟件的設置,接下來我們可以查看那些正在拓展的路徑。在MRLG狀態下,我們選擇“show ip route”項,點擊“Execute”,我們將獲得一些報告。 利用Zebra顯示的RIP路徑: Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, B - BGP, > - selected route, * - FIB route R>* 10.0.0.0/24 [120/2] via 192.168.2.2, eth0, 00:11:05 R>* 10.0.1.0/24 [120/2] via 192.168.1.2, eth1, 00:02:08 C>* 10.0.2.0/24 is directly connected, dummy0 K * 127.0.0.0/8 is directly connected, lo C>* 127.0.0.0/8 is directly connected, lo R>* 192.168.0.0/30 [120/2] via 192.168.2.2, eth0, 00:11:05 C>* 192.168.1.0/30 is directly connected, eth1 C>* 192.168.2.0/30 is directly connected, eth0 有R標志的路徑是通過RIP獲得的。 Zebra現在已經識別了基於路由器A和路由器B的兩個網絡10.0.0.0/24 和 10.0.1.0/24。我們可以在ThinkPad上運行ping 10.0.0.1和ping 10.0.1.1對網絡連通情況進行檢測。 為了檢驗網絡發生故障時的應對措施,我們將連接路由器A的網絡斷開,大約超時2分鐘後,Zebra開始通過路由器B繞道連接入10.0.0.0/24網。