26
- OSPF不規則區域解決
哪些情況為OSPF不規則區域?
1. 被分割的區域0。 區域0接區域1接區域0
2. 連續的區域設計。不是所有區域都接在區域0上。 區域0接區域1接區域2
不規則區域解決方案
1. OSPF多進程的雙向重分布
2. Tunnel (GRE)
3. VL (虛擬鏈路) (OSPF)
R1# show ip route ospf
R1可以收到R2環回口的路由,R1可以收到R3環回口的路由,R1不能收到R4環回口的路由。
44.1.1.1的路由收不到,因為區域2沒有掛在區域0上,只要掛在區域0的都能正常運作。
R4能收到R3的環回口路由嗎
R4# show ip route ospf
R4上什麼路由都沒有,沒辦法轉發任何數據。
現在要讓R4收到所有的路由,有三個方法
1. OSPF多進程的雙向重分布
重分布的概念就是把一個路由協定重分布到另外一個路由協定。
R3# show run | se ospf
在R3上建立2個OSPF進程,一個OSPF進程跟左邊跑區域1,一個OSPF進程跟右邊跑區域2,然後在把這2個OSPF進程互相重分布。
R3(config)# no router ospf 1
R3(config)# router ospf 1
R3(config-router)# network
33.1.1.1 0.0.0.0 area 1
R3(config-router)# network 23.1.1.1
0.0.0.255 area 1
R3(config-router)# exit
上面專門跟左邊跑區域1,然後在做一個進程
R3(config)# router ospf 2 (這個進程號本地有效,本地區分的)
R3(config-router)# network
34.1.1.0 0.0.0.255 area 2
R3# show ip ospf neighbor
在R3上用兩個進程來區分不同的鄰居關係
R3# show ip router ospf
上面這些路由是通過OSPF進程1學到的,44.0.0.0是通過OSPF進程2學到的。
然後在把這兩個不同的進程互相重分布
R3(config)# router ospf 1
R3(config-router)#
redistribute ospf 2 subnets
R3(config-router)# exit
我把OSPF 2學過來的進程路由放在OSPF 1裡面去。
R3(config)# router ospf 2
R3(config-router)#
redistribute ospf 1 subnets
反過來把OSPF 1學過來的進程路由放在OSPF 2裡面去。
雙進程的雙向重分布
R3# show run | se ospf
R1# show ip router ospf
這時R1己收到R4的路由34.1.1.0和44.1.1.1
R4# show ip router ospf
原本R4什麼都收不到,現在所有路由都收到了。只在R3設定了OSPF多進程的雙向重分布,其他都沒動。因為進程是本地有效
2. Tunnel (GRE)
第二種和第三種的方法都是一樣的,既然我把區域2掛在區域1上面,我能不能在區域1上面打一條隧道(一條虛擬隧道),打完隧道後讓區域2感覺他是建在區域0上。(像似把區域1給透明掉了)
所以要在R2和R3上配置
R2(config)# interface tunnel
0
R2(config-if)# tunnel source
22.1.1.1
R2(config-if)# tunnel
destination 33.1.1.1
然後給tunnel一個IP地址
R2(config-if)# ip address
100.1.1.1 255.255.255.0
R2# show run int tun 0
同樣的也要在R3上配置
R3(config)# interface tunnel
0
R3(config-if)# tunnel source
33.1.1.1
R3(config-if)# tunnel
destination 22.1.1.1
R3(config-if)# ip address
100.1.1.2 255.255.255.0 (要同一個網段)
R3# show run int tun 0
最後在Ping對面的地址,可以通就可確定隧道已建立起來。
R3# ping 100.1.1.1
現在區域0和區域2還是分割的,中間只是加一條隧道線而己
R2(config)# router ospf 1
R2(config-router)# network 100.1.1.0
0.0.0.255 area 0
R3(config)# router ospf 1
R3(config-router)# network
100.1.1.0 0.0.0.255 area 0
這時候區域0就變大了,R1、R2、R3都在區域0裡面了,
現在只是把Tunnel 0(虛擬的線)宣告進區域0,原本的實線沒有宣告進區域0,實線還是區域1。
R4# show ip router ospf
R2跟R3中間可能有好多個路由器,中間是一條虛擬的線連在一起,在2個ABR之間,把中間所有的路由器所有的線都透明掉了
3. VL (虛擬鏈路) (OSPF)
一樣是在做隧道,變成用OSPF的方法在做隧道
R2(config)# router ospf 1
R2(config-router)# area 1
virtual-link 33.1.1.1
virtual-link後面不是配置接口的IP地址,是要配置路由器的Router-ID。
這個隧道是穿越區域1的,跟R3建立隧道
R3(config)# router ospf 1
R3(config-router)# area 1
virtual-link 22.1.1.1
R2# show run | se ospf
R2# show ip ospf virtual-links
R2# clear ip ospf processes (清鄰居)