驗(yàn)證OSPF配置
有多種方式可以進(jìn)行OSPF的驗(yàn)證,用于確定已經(jīng)對(duì)它完成了適當(dāng)?shù)嘏渲貌⒛苓M(jìn)行正常的運(yùn)行,下面的章節(jié)將要介紹需要了解并能夠完成有關(guān)OSPF配置的show命令。我們先從查看Corp路由器上的路由選擇表開始。
好,我們先在路由器Corp上執(zhí)行show ip route 命令,看一下這里是否有機(jī)會(huì)進(jìn)行故障排除的演練:
路由器Corp顯示,只在我們互聯(lián)網(wǎng)絡(luò)中找到2個(gè)動(dòng)態(tài)的路由,表項(xiàng)所帶的0表明它們是OSPF的內(nèi)部路由(而C顯然是那些直接相連的網(wǎng)絡(luò))。但是在這個(gè)路由選擇表中帶有s的行表示的是什么?
由此可以看出,與EIGRP不同,在這個(gè)小型的互聯(lián)網(wǎng)絡(luò)中,當(dāng)我首次完成對(duì)路由器的配置時(shí),它并沒有正常地“工作”起來。下 面來查找下這個(gè)問題并將它修復(fù)。我們先從192.168.30.0 和40.0開始查起;到達(dá)這些網(wǎng)絡(luò)的路由不應(yīng)該被顯示為靜態(tài)的。讓我們返回R2,看下那里進(jìn)行的配置:
對(duì)192. 168.30.0和40.0的配置看起來是正確的,但是在第一行中對(duì)10.0.0.0 網(wǎng)絡(luò)的配置中發(fā)現(xiàn)一個(gè)錯(cuò)誤。你看出來了嗎?那就是問題所在,我所使用的通配符告訴OSPF要嚴(yán)格匹配前3個(gè)八位位組中的內(nèi)容,但是我又沒有任何一個(gè)接口開始于10.0.0, 因此,這里需要重新進(jìn)行網(wǎng)絡(luò)的聲明:
R2(config)#router ospf 45678
R2(config- router)#no network 10.0.0.0 0.0.0.255 area 0
R2( config- router )#network 10.1.4.0 0.0.0.255 area 0
于是,我取消了這個(gè)錯(cuò)誤的聲明,然后配置了一個(gè)正確的網(wǎng)絡(luò)聲明。下面我們?cè)賮砜聪翪orp的路由選擇表:
是的,好像是好些了...但是仍然可以發(fā)現(xiàn)那個(gè)神奇的172. 16.0.0網(wǎng)絡(luò)夾雜在Corp路由選擇表的輸出中。查看下R3上的配置,看看是否存在有錯(cuò)誤的配置:
router ospf 1
1og- adj acency- changes
network 10.1.5.1 0.0.0.0 area 0
network 172.16.10.0 0.0.0.255 area 0
這里有另一個(gè)錯(cuò)誤的輸人??纯词褂肙SPF多么簡(jiǎn)單?你發(fā)現(xiàn)我犯的錯(cuò)誤了嗎?輸人show ip interface brief可以幫助你發(fā)現(xiàn)問題所在:
應(yīng)該不難看出,這里的快速以太網(wǎng)接口的地址應(yīng)該是10.1.5.2,而不是OSPF配置中的10.1.5.1。記住,在網(wǎng)絡(luò)聲明中永遠(yuǎn)使用直接連接的接口或網(wǎng)絡(luò)地址,而不要使用遠(yuǎn)程路由器的網(wǎng)絡(luò)地址。下面就是對(duì)這個(gè)問題的修復(fù),以及應(yīng)該進(jìn)行的聲明:
R3( config)#router ospf 1
R3(config-router)#no network 10.1.5.1 0.0.0.0 area 0
R3(config-router)#network 10.1.5.2 0.0.0.0 area 0
現(xiàn)在再來最后看下Corp上的路由選擇表?,F(xiàn)在一切都應(yīng)該正常了:
現(xiàn)在就得到了一個(gè)看上去非常漂亮的OSPF路由選擇表。能夠發(fā)現(xiàn)并修復(fù)如示例所示的OSPF網(wǎng)絡(luò)配置錯(cuò)誤是非常重要的。使用OSPF時(shí)很容易犯一些小錯(cuò)誤, 因此對(duì)一些小細(xì) 節(jié)要特別加以關(guān)注。下面就是必須掌握的所有有關(guān)OSPF的驗(yàn)證命令。
01.
show ip ospf命令
命令show ip ospf 用于顯示運(yùn)行在該路由器上的一個(gè)或全部OSPF進(jìn)程的OSPF信息。這些信息包含路由器ID、區(qū)域信息、SPF統(tǒng)計(jì)和LSA定時(shí)器信息。讓我們檢驗(yàn)下Corp路由器的輸出:
注意,這個(gè)路由器ID (RID)是10.1.5.1,是這個(gè)路由器上所配置的最高IP地址。
02.
show ip ospf database命令
使用show ip ospf database命令將給出在互聯(lián)網(wǎng)絡(luò)中路由器的編號(hào)( AS),及相鄰路由器的ID (也就是前面提到過的拓?fù)鋽?shù)據(jù)庫)。與show ip eigrp topology 命令不同,這個(gè)命令只顯示OSPF路由器,而不是AS中的全部鏈路,這點(diǎn)與EIGRP中的做法是不一樣的。這一輸出是根據(jù)區(qū)域進(jìn)行分割的。下面是一個(gè)輸出的示例,其內(nèi)容還是來自Corp:
這里能看到4個(gè)路由器和每個(gè)路由器的RID (即每個(gè)路由器上最高的IP地址)。路由器的輸出還給出了鏈路ID和該鏈路上位于ADV路由器(即通告路由器)下的路由器RID,注意,接口也是鏈路。
03.
show ip ospf interface 命令
命令show ip ospf interface給出了所有與接口相關(guān)的OSPF信息。被顯示的數(shù)據(jù)是關(guān)于所有啟用OSPF的接口或指定接口的OSPF信息。(我將其中某些重要的內(nèi)容加黑為粗體。)
由這個(gè)命令顯示的信息包括以下內(nèi)容:
接口IP地址;
區(qū)域分配;
進(jìn)程ID;
路由器ID;
網(wǎng)絡(luò)類型;
開銷;
優(yōu)先級(jí);
DR/BDR選舉信息(如果可用);
Hello和Dead定時(shí)器間隔;
鄰接鄰居信息。
我在這里使用show ip ospf interface f0/0命令,是因?yàn)槲抑涝贑orp和R3路由器之間的快速以太網(wǎng)的廣播多路訪問網(wǎng)絡(luò)上會(huì)進(jìn)行指定路由器的選舉。稍后我們就進(jìn)人對(duì)DR和BDR的選舉內(nèi)容的學(xué)習(xí)中,而其他所加黑的信息也非常重要!
下面作為一個(gè)示例,輸入show ip ospf interface 命令時(shí)會(huì)收到如下應(yīng)答: .
Corp#sh ip ospf int f0/0
%OSPF: 0SPF not enabled on FastEthernet0/0
導(dǎo)致這一錯(cuò)誤出現(xiàn)的原因是,路由器上啟用了OSPF但沒有在接口上進(jìn)行相應(yīng)的配置。你需要檢查網(wǎng)絡(luò)聲明,因?yàn)槟闼鶉L試驗(yàn)證的這個(gè)接口沒有出現(xiàn)在OSPF的進(jìn)程中。
04.
show ip ospf nei ghbor命令
由于show ip ospf neighbor 命令匯總了OSPF信息中關(guān)于鄰居和鄰接狀態(tài)的信息,因此這一命令超級(jí)有用。如果網(wǎng)絡(luò)中存在DR或BDR,這些信息也將被顯示出來。下面就是一個(gè)示例:
要知道這是一個(gè)超級(jí)重要的命令,因?yàn)樗趯?duì)成品化網(wǎng)絡(luò)的維護(hù)中特別實(shí)用。我們看下路由器R3上的輸出:
由于在R3和Corp路由器間有一個(gè)以太網(wǎng)鏈接(廣播多路訪問),因此這里會(huì)由一個(gè)選舉過程來決定誰是指定路由器( DR )以及誰是備份指定路由器( BDR )。我們可以看出R3成為了指定路由器,之所以贏得選舉是因?yàn)樗谶@個(gè)網(wǎng)絡(luò)上具有最高的IP地址。這是在默認(rèn)情況下的結(jié)果,我們當(dāng)然可以對(duì)此進(jìn)行修改。
而在這個(gè)輸出中,在Corp到R1、R2和R3的連接上卻沒有給出DR或BDR,導(dǎo)致這一情況的原因是在默認(rèn)情況下,點(diǎn)到點(diǎn)鏈路上不會(huì)進(jìn)行DR的選舉,并且它們顯示為FULL_。同時(shí)從路由器Corp的輸出中不難看出,它和3個(gè)路由器是完全鄰接的。
05.
show ip protocols 命令
不論在路由器上運(yùn)行OSPF、EIGRP、IGRP、RIP、 BGP、IS-IS, 或者其他能配置在路由器上的路由選擇協(xié)議,show ip protocols 命令都非常有用。它提供了一個(gè)關(guān)于所有當(dāng)前運(yùn)行協(xié)議的真實(shí)操作情況的精彩概述。
下面給出了Corp路由器上的輸出:
從這里的輸出中,可以確定此OSPF的進(jìn)程ID、OSPF的路由器ID、OSPF的區(qū)域類型、在OSPF上配置的網(wǎng)絡(luò)和區(qū)域,以及鄰居OSPF的路由器ID等許多內(nèi)容。仔細(xì)閱讀,認(rèn)真思考!你是否注意到,與我們前面在RIP中執(zhí)行同一個(gè)命令相比,這里的輸出缺少了有關(guān)定時(shí)器的內(nèi)容?這是因?yàn)殒溌窢顟B(tài)路由選擇協(xié)議不像距離矢量路由選擇算法那樣,需要使用定時(shí)器才能保持網(wǎng)絡(luò)的穩(wěn)定運(yùn)行。
06.
調(diào)試 OSPF
對(duì)任何協(xié)議而言,debug 都是一個(gè)很有力的分析工具,表9-4給出了些可以幫助OSPF排錯(cuò)的debug命令。
下面首先給出了在路由器Corp上運(yùn)行debugipospfpacket命令的輸出:
從上面的輸出中我們可以看到該路由器正在接收來自鄰居(鄰接)路由器的Hello數(shù)據(jù)包。OSPF每10秒鐘發(fā)送一次Hello數(shù)據(jù)包。
下一個(gè)使用的DEBUG命令是debug ip ospf adj,它將給出發(fā)生在廣播和非廣播多路訪向網(wǎng)絡(luò)上的選舉,在下面的小節(jié)中,它是一個(gè)重要的命令。要得到有效的輸出,需要先關(guān)閉R3.上的F0/O接口,然后再將它啟用:
聯(lián)系客服