金海峰
(江陰職業技術學院 江蘇省江陰市 214405)
路由過濾是對進出站路由進行控制,使得路由器只學習到必要、可預知的路由[1]。OSPF 路由過濾的方法包括:區域劃分、進程隔離、根據策略路由進行路由重發布等。
區域劃分:OSPF 將網絡結構劃分成若干個區域,以減少OSPF算法的計算量。默認情況下,所有的非骨干區域(區域號大于0)必須與骨干區域(區域號為0)直接相連,非骨干區域只能夠和骨干區域互發OSPF 報文,非骨干區域之間不能直接轉發OSPF 報文。
進程隔離:進程號用于在路由器上本地標識OSPF 進程,取值范圍:1-65535。進程號僅具有本地意義,同一路由器上不同的進程相互獨立,默認情況下,同一路由器上不同進程的OSPF 之間不能轉發OSPF 報文,實現OSPF 進程間的隔離。
根據策略路由進行路由重發布:配置路由重發布策略,可以在不同路由協議構成的自治系統(比如:OSPF、RIP、IS-IS)之間轉發路由報文,實現網絡互聯互通。當然,在配置路由重發布的時候,可以通過配置單向、雙向和策略路由將需要引入的路由進行轉發,實現路由的有效過濾。
H3C Cloud Lab(簡稱HCL)是新華三集團推出的一款圖形化全真網絡設備模擬軟件。借助HCL,用戶可以實現H3C 多種型號交換機、路由器、防火墻的虛擬組網,學習H3C 設備配置、調試,以及運維的相關知識與操作技能。
實驗依托仿真平臺HCL,引入四臺路由器,自左向右依次命名為:MSR-A、MSR-B MSR-C、MSR-D,路由器之間采用交叉型雙絞線互聯。路由器MSR-A 與MSR-B 之間互聯IP 地址采用222.22.22.0/24,相應的互聯端口劃分到非骨干區域area 1 中;路由器MSR-B 與MSR-C 之間互聯IP 地址采用222.22.23.0/24,相應的互聯端口劃分到骨干區域area 0 中;路由器MSR-C 與MSR-D 之間互聯IP 地址采用222.22.24.0/24,相應的互聯端口劃分到area 2中。路由器MSR-A 的GE0/0 接口歸屬于OSPF ID 101, MSR-B 的GE0/0 歸屬于ID 為 101 的進程,MSR-B 的GE0/1 歸屬于ID 為102的進程,路由器MSR-C、MSR-D的所有接口歸屬于ID為103的進程。具體拓撲結構如圖1 所示。
2.1.1 MSR-A 的相關配置[3]

圖1:實驗拓撲結構
[H3C]interface GigabitEthernet 0/0
[H3C-GigabitEthernet0/0]ip address 222.22.22.1 24 //配置接口IP 地址
[H3C-GigabitEthernet0/0]undo shutdown
[H3C-GigabitEthernet0/0]quit
[H3C]ospf 101 //指定OSPF 的ID
[H3C-ospf-101]area 1 //指定OSPF 區域號
[H3C-ospf-101-area-0.0.0.1]network 222.22.22.0 0.0.0.255 //聲明網段地址
路由器MSR-B、MSR-C、MSR-D 的OSPF 配置方法與MSR-A類似,此處不再贅述。
2.1.2 結果分析
完成OSPF 的配置,待收斂完成,通過命令display ip routingt
able protocol ospf 可以查看各路由器上OSPF 路由信息。
(1)路由器MSR-A 的路由表。

狀態處于“Inactive”的路由信息為本地路由信息,后續不再羅列。
(2)路由器MSR-B 的路由表。

(3)路由器MSR-C 的路由表。

(4)路由器MSR-D 的路由表。

觀察各路由器的路由表,可以得知:路由器MSR-A 未學習到有效的OSPF 路由信息,路由器MSR-B 僅學習到了網絡222.22.24.0/24,路由器MSR-C 未學習到有效路由信息,路由器MSR-D 僅學習到了網絡222.22.23.0/24,路由器MSR-A 缺少網絡地址222.22.23.0/24、路由器MSR-C 和路由器MSR-D 缺少網絡地址222.22.22.0/24。說明路由器MSR-B 上ID 為101 的OSPF 進程沒有收到ID 為102 的OSPF 報文,同樣102 也沒有收到101 的報文。與此同時,也不難發現,路由器MSR-B(ID 為102)收到了MSR-C(ID 為103)發送的OSPF 報文。
縱觀所述,可以得出結論:OSPF 的ID 僅僅具有本地意義。默認情況下,同一路由器的不同ID 的 OSPF 進程之間不會互發OSPF報文,而不同路由器之間互發OSPF 報文,不受ID 的限制。
路由重發布一般用于在不同自治系統(如RIP、OSPF、IS-IS等路由協議)之間轉發路由報文,實現網絡連通。同樣,路由重發布也可實現不同OSPF ID 進程之間轉發OSPF 報文。如圖1 所示,可以在路由器MSR-B 上配置路由重發布,允許ID 為101 的OSPF進程與102 之間轉發OSPF 報文,實現全網互聯互通。
2.2.1 路由重發布配置[4]
(1)引入ID 為102 的OSPF 報文。

完成配置后,查看路由器MSR-A 的路由表如下:

可以得知,路由器MSR-A 學習到了網絡地址222.22.24.0/24。
(2)引入直連路由。
[H3C-ospf-101]import-route direct
完成配置后,路由器MSR-A 的路由表如下:

至此,路由器MSR-A 完成所有網絡地址的學習。
(3)引入ID 為101 的OSPF 報文和直連路由。

完成配置后,路由器MSR-D 的路由表如下:


至此,所有路由器都完成全部網絡地址的學習,全網互聯互通。
路由過濾是對進出站路由進行控制,使得路由器只學習到必要、可預知的路由。如圖1 所示,可以在路由器MSR-B 上配置路由過濾策略,使得路由器MSR-A 只學習到222.22.23.0/24,而忽略222.22.24.0/24。
(1)定義ACL。
[H3C]acl basic 2000
[H3C-acl-ipv4-basic-2000]rule 0 permit source 222.22.24.0 0.0.0.255
[H3C-acl-ipv4-basic-2000]quit
(2)定義策略路由。
[H3C]route-policy 24 deny node 0
[H3C-route-policy-24-0]if-match ip address acl 2000
(3)定義路由重發布。
[H3C]ospf 101
[H3C-ospf-101]import-route ospf 102 route-policy 24
配置完成后,路由器MSR-A 的路由表如下:

可以發現,網絡地址222.22.24.0/24 從MSR-A 的路由表中刪除了。因此,可以得出結論:通過路由策略與路由重發布聯動,可以實現OSPF 路由的過濾,避免不必要的網絡地址泄露。
在仿真環境下,本文對OSPF 動態路由協議的區域劃分、進程隔離和路由重發布、路由過濾的工作機制、技術方法進行了較為深入的闡述與分析,分析過程與研究成果對于師生深入理解OSPF 的工作機制具有較強的指導意義。