【路由交换实验】OSPF
OSPF實驗演示
實驗一、單區域OSPF
實驗拓撲:
?1、四個路由器連接了七個網絡
路由器間的網絡192.168.12.0,192.168.23.0,192.168.34.0
各個路由器用環回端口模擬的網絡1.1.1.0,2.2.2.0,3.3.3.0,4.4.4.0
2、可以使用display ip int bri查看接口ip配置信息
?【實驗步驟】
(0)給四個路由器配好IP地址
[R1]int LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 24
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.12.1 24
[R2]int loopback 0
[R2-LoopBack0]ip add 2.2.2.2 24
[R2-LoopBack0]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.23.2 24
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.23.3 24
[R3-GigabitEthernet0/0/1]int loopback 0
[R3-LoopBack0]ip add 3.3.3.3 24
[R3-LoopBack0]int g0/0/2
[R3-GigabitEthernet0/0/2]ip add 192.168.34.3 24
[R4]int loopback 0
[R4-LoopBack0]ip add 4.4.4.4 24
[R4-LoopBack0]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 192.168.34.4 24
(1)步驟1:配置路由器R1
[R1]ospf 1 router-id 1.1.1.1? #用ospf命令開啟ospf,1代表進程號,使用router-id手動設置路由器的id
[R1-ospf-1]area 0 # 因為是單區域的ospf,所以都是area0,骨干區域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 #使用network來通告網絡,R1連的網絡有兩個,1.1.1.0是華為端口連的網絡
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255? #還有就是R2和R1之間的網絡192.168.12.0
技術要點:
1)OSPF路由進程ID范圍必須在1~65535之間,而且只有本地含義,不同路由器的路由進程ID可以不同;
2)確定route id遵循如下順序
? ? ? -最優先的是在OSPF進程中使用命令“router-id”指定了路由器ID
? ? ? -如果沒有在OSPF進程中指定路由器ID,那么選擇IP地址最大的環回接口IP地址為router id
? ? ? -如果沒有換回接口,就選擇最大活動的物理接口的IP地址為router id
3)建議使用命令“router-id”來指定路由器id,這樣可控性比較好
4)區域ID是在0-4294967295內的十進制數,當網絡區域ID為0時為主干區域
5)用network來指定運行OSPF協議的接口,第一個參數是網絡地址,第二個參數是反子網掩碼,0對應的位表示必須嚴格匹配,1對應的位無需匹配;
(2)步驟2:同理配置路由器R2
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255? # R2直連的有三個子網,都將他們通告(宣告)到ospf進程里面去
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255
(3)步驟3:配置路由器R3
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.34.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255
(4)步驟4:配置路由器R4
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]net 192.168.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]net 4.4.4.0 0.0.0.255
(5)現在OSPF的命令都已經輸完了,我們可以驗證
首先return回到用戶模式,dis ip routing-table查看路由表
說明我們在R2下已經形成了去七個子網的完整路由,路由已經跑通了,其他路由器也可以去查看路由表,都能找到去7個子網的路由,說明實驗成功!我們也可以ping一下(R1去ping最遠的R4)
實驗二、多區域的OSPF
我們把上面實驗中配置的ospf去undo,undo ospf 1
?實驗步驟:
(1)配置路由器R1
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]net 1.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.1]net 192.168.12.0 0.0.0.255
(2)配置路由器R2
[R2]ospf 1 router-id 2.2.2.2?
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]area 1?
[R2-ospf-1-area-0.0.0.1]net 192.168.12.0 0.0.0.255
(3)配置路由器R3
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]area 2
[R3-ospf-1-area-0.0.0.2]net 192.168.34.0 0.0.0.255
?(4)配置路由器R4
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]net 192.168.34.0 0.0.0.255
我們不再宣告4.4.4.0這個子網,現在是用這個子網來模擬外網,怎么通外網?采取配置靜態路由的方式
[R4]ip route-static 0.0.0.0 0 LoopBack 0 #我們把默認缺省路由的出接口配置成loopback 0,loopback0可以直接通到4.4.4.4
然后重新運行ospf進程
[R4]ospf 1?
[R4-ospf-1]default-route-advertise #將剛剛配置進去的缺省路由發布到ospf域內去
(5)驗證
?dis ospf peer bri 查看簡潔信息
?查看路由信息:
?
?
實驗三、OSPF的多區域路由與外部路由
R1代表運營商?
R4和R2都比較特殊,R2是骨干區域area0和非骨干區域area1連接的路由器,R2叫他ABR(區域邊界路由器:至少有一個活動的接口連接到骨干區域),因為你不能說R2屬于哪個區域
R4屬于一號區域的邊界,又是RIP這個邊界的開始,R4叫ASBR(自治系統邊界路由器,因為它屬于兩個自治系統rip和ospf)
OSPF的分區域是基于活動端口的,這個活動端口屬于哪個區域就在哪個區域里,loopback地址要在骨干區域內
下面開始配置:【實現全網互通】
(1)配置R1接口地址:
[Huawei]sysname R1-CMCC
[R1-CMCC]int loopback 0
[R1-CMCC-LoopBack0]ip add 1.1.1.1 32
[R1-CMCC-LoopBack0]int g0/0/0
[R1-CMCC-GigabitEthernet0/0/0]ip add 10.0.12.1 24
[R1-CMCC]ip route-static 0.0.0.0 0 10.0.12.2
(2)配置R2接口地址
[R2]int loopback 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2-LoopBack0]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.0.12.2 24
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.0.23.2 24
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip add 10.0.24.2 24
(3)配置R3接口地址
[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3-LoopBack0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.0.23.3 24
(4)配置R4接口地址
[R4]int loopback 0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4-LoopBack0]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 10.0.24.4 24
[R4-GigabitEthernet0/0/2]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.0.45.4 24
(5)配置R5接口地址
[R5]int loopback 0
[R5-LoopBack0]ip add 5.5.5.5 32
[R5-LoopBack0]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 10.0.45.5 24
上面把IP地址配置完了,下面配路由:
運營商的靜態路由已經配置完成,下面開始宣告OSPF里面的網絡
(1)配置R2,宣告OSPF進程
OSPF的區域宣告可以是明細宣告,可以是全網宣告,全網宣告就是0.0.0.0,所有接入R2的網絡全部宣告進來,對于這個拓撲圖不合適全網宣告,因為R2和R1也相連,如果你用全網宣告的話,把R1那個和運營商相連的也宣告進來了。
宣告area0,它的loopback地址需要在里面,骨干區域嘛,因為它是一個ABR
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0? #精確宣告,就宣告這一個地址
[R2-ospf-1-area-0.0.0.0]net 10.0.23.2 0.0.0.0?
[R2]ospf 1 r?? ?
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]net 10.0.24.2 0.0.0.0
(2) 配置R3,啟用ospf進程
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0 #最好使用精確宣告,不要使用全網宣告(因為我將來這個網絡需要擴容,如果采用全網宣告,那么我隨意一個路由器接入,運行OSPF進程,我采用八個0的配置,它都會互相學習彼此的路由,這是很危險的)
現在R2和R3的鄰居關系形成了,到了Full的狀態
?(3)配置R4,啟用ospf進程
[R4]ospf 1 r 4.4.4.4?
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]net 10.0.24.4 0.0.0.0
那么這個loopback地址是宣告在rip還是宣告在ospf當中呢?
loopback地址宣告在高級別的(優先級高的)路由協議中去,顯然宣告在ospf里面
[R4-ospf-1-area-0.0.0.1]net 4.4.4.4 0.0.0.0
配置rip
現在只有R4和R5兩個路由器才和RIP有關系
[R4]rip 1
[R4-rip-1]version 2?
[R4-rip-1]net 10.0.0.0 # RIP是要宣告主類網絡的!
[R5]rip 1
[R5-rip-1]v 2
[R5-rip-1]net 5.0.0.0
[R5-rip-1]net 10.0.0.0
試想一個問題,對于R4來將,因為RIP協議是不會區分端口的,因為在R4的G0/0/2它其實連接了OSPF的area1,它也會在G0/0/2這個端口上收發RIP報文,但是沒有意義。所以為了減少網絡流量,(因為這個接口去接收RIP報文的時候會占用網絡流量),可以禁用rip的端口收發功能,你不去禁用它也沒有什么影響,但是它G0/0/2抓包的話,會有RIP的包。它在實際問題中會有這個問題,我們能少占用一點帶寬就少占用一點。
[R4]int g0/0/2
[R4-GigabitEthernet0/0/2]undo rip input
[R4-GigabitEthernet0/0/2]undo rip output #不讓rip進來,也不讓rip出去
上面已經配置完成所有的路由,那么我們看一下路由表學到了什么
?在R2上能看到R3和R4,在R4上能看見R5,在R3上并不能看見R5
原因就是OSPF里沒有發現RIP,RIP里面也沒有發現OSPF,彼此并不認識,這就是接下來的外部路由的引入
?
?發現在R4上直接去ping 5.5.5.5是通的,用4.4.4.4的源地址再去ping 5.5.5.5是不通,原因在于4.4.4.4我宣告在了ospf的area1內,rip看不見,這就是最有利的一個證明。
證明讓他通呢?在ospf 1這個進程里面要引入rip
[R4]ospf 1
[R4-ospf-1]import-route rip 1
現在R2可以通過OSPF,看到引入的RIP,也就是間接的能看到了R5,但是R5現在還看不到R2,因為我們在RIP當中并沒有引入OSPF
[R4]rip 1
[R4-rip-1]import-route ospf 1
這兩個是要互相引入的!這回再看一下R2的路由表
?現在用R4可以ping 通了
R3能ping 通R1嗎?不能
R2上能到R1嗎?能,因為有靜態路由,直連
R3、R4、R5都到不了R1,因為你在R3和R4的路由表里面都看不到R1的路由
我們現在需要使用ospf下發這個默認路由,下發到運行ospf協議的每一臺路由器上去,也需要用RIP路由下發到所有運行RIP協議的路由器上去(把默認路由下發,不單獨配置靜態路由,太多了)
怎么做呢?
這個工作都是在頂端路由上去做的,OSPF的頂端就是R2,RIP的頂端就是R4,在這個兩個頂端分別去做下發靜態路由
[R2-ospf-1]default-route-advertise always? #總是宣告默認路由
下面查看R4的路由表
現在用R3去ping 1.1.1.1就可以通
?
?但是RIP這邊還沒配
R4]rip 1?
[R4-rip-1]default-route originate #表示從rip的頂端開始下發
現在就全網互通了!
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【路由交换实验】OSPF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CobaltStrike使用
- 下一篇: 作者:刘建楠(1963-),男,就职于中