交換機在江湖】路由策略專題-第5期-BGP路由策略(上)
交換機在江湖】路由策略專題-第5期-BGP路由策略(上)
交換機在江湖官方號2016-11-28 09:13:44最新回覆:2019-07-04 21:38:28
第5期BGP路由策略(上) 在前幾期的路由策略專題中,我們介紹路由策略的時候,大多是用某種IGP協議進行舉例的。實際上,對於BGP路由的控制是路由策略的最大的用武之地,因為我們知道,BGP路由最大的特點就是靈活可控,這主要得益於BGP單獨提供了不少工具用於配合執行路由策略。對BGP路由合理使用路由策略,可以做到對路由的精準控制,這也是很多網路工程師追求的一個目標。本期及下期內容內容,我們將會用較大的篇幅討論BGP路由策略,希望能讓大家有所收穫。 1ip-prefix在BGP中的應用在BGP中,ip-prefix除了可以配合filter-policy或者route-policy使用以外,還可以被peer命令直接呼叫,這也是BGP不同於其他路由協議的地方。通過peer命令呼叫的時候,僅對這一個對等體生效,因此BGP對路由的控制能做到更加精準。我們看下面這個舉例。 圖1 ip-prefix在BGP中的應用 需求描述 如圖1所示,LSW1、LSW2、LSW3三個交換機分別屬於不同的AS,他們之間維持EBGP鄰居關係,在LSW1上通過BGP釋出兩條路由。現在LSW3上由於某種業務需求,要求禁止10.1.2.0/24這條路由,允許其他的路由。 配置方法 上述需求可以在LSW3的BGP程序中,通過peer命令呼叫ip-prefix進行過濾。 LSW3上的關鍵配置如下: # ip ip-prefix huawei index 10 deny 10.1.2.0 24 //定義ip-prefix,禁止目標路由 ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32 //允許其他所有路由 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization peer 192.168.23.1 enable peer 192.168.23.1 ip-prefix huawei import//在import方向關聯ip-prefix。 # 當然,也可以在LSW2的export方向關聯ip-prefix進行路由過濾,效果是一樣的,大家可以自行試一下,這裡不再贅述。 結果驗證 完成上述配置後,檢視LSW3的BGP路由表,可以看到,只有10.1.1.0/24這條路由,10.1.2.0/24已經被過濾掉。 [LSW3] display bgp routing-table BGP Local router ID is 3.3.3.3 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 1 Network NextHop MED LocPrf PrefVal Path/Ogn *> 10.1.1.0/24 192.168.23.1 0 200 100i 2filter-policy在BGP中的應用filter-policy這個過濾工具我們前面曾經介紹過,我們知道filter-policy應用在距離向量路由協議和鏈路狀態路由協議的時候,過濾規則是不一樣的,BGP屬於一種距離向量路由協議,具體過濾規則請參見路由策略專題第4期。 filter-policy在BGP中有兩種應用方式: l在BGP檢視下對全域性應用,對所有對等體生效。 l通過peer命令應用,僅對這一個對等體生效。 相對於其他路由協議,BGP可以針對某個對等體單獨應用filter-policy,這樣也保證了BGP對路由的控制更加靈活、精確。下面我們來看一個具體的舉例。 圖2 filter-policy在BGP中的應用 需求描述 如圖2所示,LSW1、LSW2、LSW3三個交換機分別屬於不同的AS,他們之間維持EBGP鄰居關係,在LSW1上通過BGP釋出兩條路由。現在LSW3上由於某種業務需求,要求禁止10.1.2.0/24這條路由,允許其他的路由。 配置方法 l方法一:在BGP檢視下對全域性應用,對所有對等體生效。 LSW3的關鍵配置如下: # acl number 2001 //定義ACL,用於匹配目標路由 rule 5 deny source 10.1.2.0 0 //拒絕10.1.2.0這條路由 rule 10 permit source any //允許所有 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization filter-policy 2001 import //對所有對等體使用filter-policy過濾路由 peer 192.168.23.1 enable # l方法二:通過peer命令應用,僅對這一個對等體生效。 LSW3的關鍵配置如下: # acl number 2001 //定義ACL,用於匹配目標路由 rule 5 deny source 10.1.2.0 0 //拒絕10.1.2.0這條路由 rule 10 permit source any //允許所有 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization peer 192.168.23.1 enable peer 192.168.23.1 filter-policy 2001 import //對單個對等體使用filter-policy # 3route-policy在BGP中的應用route-policy在前面我們也詳細介紹過了,在BGP中,route-policy同樣是一個非常重要的工具,可以用來設定路由的屬性,對路由進行過濾等。 我們再通過一個舉例來看一下在BGP中呼叫route-policy的方法。 圖3 route-policy在BGP中的應用 需求描述 如圖2所示,LSW1和LSW2兩個交換機分別屬於不同的AS,他們之間維持EBGP鄰居關係,在LSW1上通過BGP釋出兩條路由。現在由於某種業務需求,需要對LSW1釋出的兩條路由分別設定不通的團體屬性值,10.1.1.0/24這條路由設定團體屬性值為100:1,10.1.2.0/24這條路由設定團體屬性值為100:2。 配置方法 l方法一:通過network命令呼叫route-policy。 這種配置方法是在通過network命令釋出路由的時候直接呼叫route-policy,設定相應的團體屬性值以後再發布給對等體。 LSW1的關鍵配置如下: # ip ip-prefix 1 index 10 permit 10.1.1.0 24 //定義字首列表,匹配目標路由 ip ip-prefix 2 index 10 permit 10.1.2.0 24 # route-policy huawei permit node 10 //為不同的路由設定不同的團體屬性值 if-match ip-prefix 1 apply community 100:1 # route-policy huawei permit node 20 if-match ip-prefix 2 apply community 100:2 # route-policy huawei permit node 30 //允許剩餘所有路由 # bgp 100 router-id 1.1.1.1 peer 192.168.12.2 as-number 200 # ipv4-family unicast undo synchronization network 10.1.1.0 255.255.255.0 route-policy huawei network 10.1.2.0 255.255.255.0 route-policy huawei peer 192.168.12.2 enable peer 192.168.12.2 advertise-community # l方法二:通過peer命令呼叫route-policy。 這種配置方法,在通過network命令釋出路由的時候不使用route-policy,但是通過peer命令針對對等體使用route-policy,這樣路由在釋出之前先通過route-policy的過濾,通過並設定相應的團體屬性值以後再發布給對等體。 LSW1的關鍵配置如下: # ip ip-prefix 1 index 10 permit 10.1.1.0 24 //定義字首列表,匹配目標路由 ip ip-prefix 2 index 10 permit 10.1.2.0 24 # route-policy huawei permit node 10 //為不同的路由設定不同的團體屬性值 if-match ip-prefix 1 apply community 100:1 # route-policy huawei permit node 20 if-match ip-prefix 2 apply community 100:2 # route-policy huawei permit node 30 //允許剩餘所有路由 # bgp 100 router-id 1.1.1.1 peer 192.168.12.2 as-number 200 # ipv4-family unicast undo synchronization network 10.1.1.0 255.255.255.0 network 10.1.2.0 255.255.255.0 peer 192.168.12.2 enable peer 192.168.12.2 route-policy huawei export peer 192.168.12.2 advertise-community # 結果驗證 上述兩種配置方法雖然不一樣,但是對於這個場景,都可以實現10.1.1.0/24這條路由設定團體屬性值為100:1,10.1.2.0/24這條路由設定團體屬性值為100:2。完成配置後,在LSW2上檢視一下BGP路由表,可以看到已實現上述需求。 [LSW2] display bgp routing-table community BGP Local router ID is 2.2.2.2 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Community *> 10.1.1.0/24 192.168.12.1 0 0<100:1> *> 10.1.2.0/24 192.168.12.1 0 0<100:2> 相對於其他路由協議,BGP中應用route-policy的命令會更多一點,更具體一點。常見的呼叫route-policy的命令有下面這些: lnetwork lpeer limport-route ldampening 上面給大家舉例看了一下network和peer命令呼叫route-policy的方法,其他的呼叫命令我們不再一一舉例。 對於BGP路由,更重要的是通過BGP的路由屬性對路由進行控制,BGP具有豐富的路由屬性可供使用,常用的有AS_Path過濾器和團體屬性過濾器,這個我們將會在下一期路由策略專題中詳細介紹,請大家持續關注。 |