(1)所有的交換機都運作OSPF,整個自治系統劃分為3個區域。
(2)其中Switch A和Switch B作為ABR來轉發區域之間的路由。
(3)在Switch C上配置為ASBR引入外部路由(靜态路由),并在Switch C上配置過濾政策,對引入的一條路由(3.1.3.0/24)進行過濾。
(4)在Switch A上配置路由政策,對路由(10.5.1.0/24)進行過濾。
組網圖
(1)配置各接口的IP位址(略)
(2)配置OSPF(略)
(3)配置引入自治系統外部路由
# 在Switch C上配置一條到目的網段3.1.1.0/24的靜态路由。
<SwitchC> system-view
[SwitchC] ip route-static 3.1.1.0 24 10.4.1.2
# 在Switch C上配置一條到目的網段3.1.2.0/24的靜态路由。
[SwitchC] ip route-static 3.1.2.0 24 10.4.1.2
# 在Switch C上配置一條到目的網段3.1.3.0/24的靜态路由。
[SwitchC] ip route-static 3.1.3.0 24 10.4.1.2
# 在Switch C上配置OSPF引入靜态路由。
[SwitchC] ospf 1
[SwitchC-ospf-1] import-route static
[SwitchC-ospf-1] quit
# 在Switch A上檢視路由資訊。
<SwitchA> display ip routing-table
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost NextHop Interface
3.1.1.0/24 O_ASE 150 1 10.2.1.2 Vlan200
3.1.2.0/24 O_ASE 150 1 10.2.1.2 Vlan200
3.1.3.0/24 O_ASE 150 1 10.2.1.2 Vlan200
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan200
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan200
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 OSPF 10 4 10.1.1.2 Vlan100
10.4.1.0/24 OSPF 10 13 10.2.1.2 Vlan200
10.5.1.0/24 OSPF 10 14 10.1.1.2 Vlan100
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(4)在Switch C配置對路由3.1.3.0/24進行過濾
# 配置IPv4位址字首清單。
[SwitchC] ip ip-prefix prefix1 index 1 deny 3.1.3.0 24
[SwitchC] ip ip-prefix prefix1 index 2 permit 3.1.1.0 24
[SwitchC] ip ip-prefix prefix1 index 3 permit 3.1.2.0 24
# 配置對引入的靜态路由資訊進行過濾,過濾掉路由3.1.3.0/24。
[SwitchC] ospf 1
[SwitchC-ospf-1] filter-policy ip-prefix prefix1 export static
# 在Switch A上檢視路由資訊。
<SwitchA> display ip routing-table
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost NextHop Interface
3.1.1.0/24 O_ASE 150 1 10.2.1.2 Vlan200
3.1.2.0/24 O_ASE 150 1 10.2.1.2 Vlan200
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan100
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan200
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 OSPF 10 4 10.1.1.2 Vlan100
10.4.1.0/24 OSPF 10 13 10.2.1.2 Vlan200
10.5.1.0/24 OSPF 10 14 10.1.1.2 Vlan100
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
可以看到,到目的網段3.1.3.0/24的路由被過濾掉了。
(5)在Switch A上配置對路由10.5.1.1/24進行過濾
# 在Switch A上配置通路控制清單。
<SwitchA> system-veiw
[SwitchA] acl number 2000
[SwitchA-acl-basic-2000] rule 0 deny source 10.5.1.0 0.0.0.255
[SwitchA-acl-basic-2000] rule 1 permit source any
[SwitchA-acl-basic-2000] quit
# 配置對通過LSA計算出來的路由資訊10.5.1.0/24進行過濾。
[SwitchA] ospf 1
[SwitchA-ospf-1] filter-policy 2000 import
[SwitchA-ospf-1] quit
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
3.1.1.0/24 O_ASE 150 1 10.2.1.2 Vlan200
3.1.2.0/24 O_ASE 150 1 10.2.1.2 Vlan200
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan100
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan200
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 OSPF 10 4 10.1.1.2 Vlan100
10.4.1.0/24 OSPF 10 13 10.2.1.2 Vlan200
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
可以看到,到10.5.1.1/24的路由被過濾掉了。
案例2,BGP中的路由過濾:BGP路由過濾的實施點
BGP路由過濾的政策可以在本地對從對等體接收路由入方向、本地釋出路由以及對對等體發送路由出方向處實施。
1、接收路由(Import Policy)
在收到BGP對等體的路由時,我們可以執行路由政策,過濾我們不需要的BGP路由。
路由政策的執行在BGP往路由表添加路由之前,是以路由一旦被過濾掉,這些路由不添加到在執行政策的裝置的路由表中,在本地不負責轉發。
路由政策可以對所有接收的路由作過濾,也可以隻對特定的BGP對等體或對等體組作過濾。
2、本地釋出路由
對于本地釋出的路由,主要是指通過network、import方式本地釋出的BGP路由,我們可以執行路由政策,過濾我們不需要釋出的BGP路由。
路由政策的執行在BGP往路由表添加路由之前,這些路由可以有選擇的釋出給所有BGP對等體。
3、發送路由(Export Policy)
在給BGP對等體發送路由的時候,我們也可以執行路由政策,過濾我們不想釋出的BGP路由。
路由政策的執行在BGP往路由表添加路由之後,是以本地路由表中比對deny政策的路由依然生效,在本地可以轉發,隻不過不向配置政策的對等體發送該BGP路由,讓對等體無法從自己學習使用該路由。
路由政策可以對所有對等體做過濾,也可以隻對特定的BGP對等體或對等體組作過濾。
4、實際案例
IP Prefix
IP Prefix是一種針對路由目的位址資訊做過濾的工具,同樣是對路由目的位址做過濾,它使用名字而不是序号作為清單的辨別。
舉個例子,路由表裡有2條這樣的路由10.0.0.0/16和10.0.0.0/24,考慮路由表的容量,想将10.0.0.0/24這條路由過濾掉。這時我們可以使用IP Prefix,指定隻deny 10.0.0.0/24,允許其他路由通過。同時提醒兩點要注意:第一,無論是ACL還是IP Prefix過濾,預設都是deny all的,是以我們在配置需要過濾的路由條目後,最後還要配置一條permit指令讓其他路由通過。第二,裝置如果不支援Route refresh能力,需要手動reset bgp對等體過濾政策才生效;裝置如果支援Route refresh能力,對等體不支援Route refresh能力,需要和相應對等體配置peer x.x.x.x keep-all-routes。
ip ip-prefix test index 10 deny 10.0.0.0 24 greater-equal 24 less-equal 24
ip ip-prefix test index 20 permit 0.0.0.0 0 less-equal 32
bgp 100
filter-policy ip-prefix 1 import
檢視IP路由表,從路由表可以看出10.0.0.0/24路由已經從路由表中消失,10.0.0.0/16的路由依然在路由表中,就可以滿足我們的要求,從這個例子,我們可以看出IP Prefix可以更靈活地過濾路由,因為它不光可以比對位址資訊,而且可以比對掩碼的長度。
[H3C-bgp]display ip routing-table
Routing Tables: Public
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
10.0.0.0/16 BGP 255 0 10.1.1.2 GE0/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE0/1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
IP Prefix也可以針對一段掩碼範圍做過濾。在原來的路由表中有多了很多11開頭的路由,我們精簡路由,要求隻需要掩碼是16的路由。
<H3C>display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.0.0.0/16 BGP 255 0 10.1.1.2 GE0/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE0/1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
11.0.0.0/16 BGP 255 0 10.1.1.2 GE0/1
11.0.0.0/27 BGP 255 0 10.1.1.2 GE0/1
11.0.1.0/25 BGP 255 0 10.1.1.2 GE0/1
11.0.2.0/26 BGP 255 0 10.1.1.2 GE0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
我們可以在原來的配置基礎上再添加一條如下的指令即可。注意,IP Prefix比對順序是根據表項的index号比對的,index号越小,越先比對,本例中之前的兩條表項的index分别是10和20,我們要使再配置的表項資訊能在兩者之間作比對,隻需配置的index在兩者之間即可,例子中使用的index是11。
ip ip-prefix 1 index 11 deny 11.0.0.0 16 greater-equal 17 less-equal 32
檢視IP路由表,路由表中除了11.0.0.0/16,其他的路由都沒有了,滿足了我們的要求,可以看出IP Prefix還是很好用的工具。
[H3C]dis ip routing-table
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
10.0.0.0/16 BGP 255 0 10.1.1.2 GE0/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE0/1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
11.0.0.0/16 BGP 255 0 10.1.1.2 GE0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0