天天看點

03-9 BGP route-map應用總結

在BGP進行路由過濾有幾種類型:

prefix 的in和out政策

neighbor x.x.x.x distrubte in/out

最後就是強大的route-map.

route-map在BGP中的功能不僅僅是可以過濾路由。還有其他很多用途,今天我們來系統的看看到底route-map的主要功能在bgp中有哪些。

<b>功能一:利用</b><b>IP</b><b>标準通路清單進行路由的過濾</b><b>.</b>

路由器R1要在入口方向做對端直連的EBGP鄰居R2通告過來的所有路由做路由過濾.這個時候就可以用标準的通路清單進行控制。

R1#show run | be router bgp

router bgp 1

no synchronization

bgp log-neighbor-changes

neighbor 10.1.1.2 remote-as 2011

<b>neighbor 10.1.1.2 route-map maipu in</b>

no auto-summary

!

<b>access-list 1 deny 172.16.0.0 0.0.0.255</b>

<b>access-list 1 deny 198.16.1.0 0.0.0.255</b>

<b>access-list 1 permit any</b>

<b>!</b>

<b>route-map maipu permit 10</b>

<b>match ip address 1</b>

這裡用route-map比對标準通路清單,然後在鄰居的入方向進行路由過濾。

最後在R1上面隻能收到6條路由,并且已經對172.16.0.0和198.16.1.0進行了過濾。

<b>功能二:利用擴充通路清單進行基本的路由過濾功能</b><b>:</b>

首先驗證一下,在R1上面所收的路由:

這裡可以看到,R1确實從R2上面收了10條路由,8條明細,2條彙總路由。

這個時候在R1上面用擴充通路清單,需要達到的目的就是最後在R1上面收到8條明細路由。過濾2條彙總路由。

在R1上的配置應該為:

<b>neighbor 10.1.1.2 route-map aaa in</b>

<b>access-list 101 deny ip 172.16.0.0 0.0.3.255 255.255.252.0 0.0.0.0</b>

<b>access-list 101 deny ip 198.16.0.0 0.0.3.255 255.255.252.0 0.0.0.0</b>

<b>access-list 101 permit ip any any</b>

<b>route-map aaa permit 10</b>

<b>match ip address 101</b>

上面配置通過擴充通路清單特殊的文法可以達到的效果就是禁止兩條掩碼為22位的彙總路由,允許其他所有路由。

在本地的in方向應用。

最後我們再來看看R1的結果:

隻收到8條明細路由,再也沒有彙總路由過來了。

<b>功能三:通過</b><b>route-map</b><b>有選擇性的将</b><b>weight</b><b>屬性在本地都設定為</b><b>45.</b>

這個隻需要在以前的配置基礎上加上設定weight權重的指令就可以了。

<b>access-list 101 deny ip 172.16.0.0 0.0.3.255 host 255.255.252.0</b>

<b>access-list 101 deny ip 198.16.0.0 0.0.3.255 host 255.255.252.0</b>

<b>set weight 45</b>

最後來看R1的結果:

當然route-map可以控制還不僅僅是weight。可以設定的東西相當多。

<b>功能</b><b>4</b><b>:用正規表達式來對路由進行過濾。也用</b><b>route-map</b><b>進行調用。</b>

這裡我們在R1上面用正規表達式進行過濾:

<b>R1</b><b>的配置</b><b>:</b>

<b>neighbor 10.1.1.2 filter-list 25 in</b>

<b>ip as-path access-list 25 deny _3$</b>

<b>ip as-path access-list 25 permit .*</b>

<b>route-map bbb permit 10</b>

<b>match ip address 26</b>

在這裡用正規表達式,禁止起源于AS3的路由,允許其他的路由。

是以最後在R1上面隻能收到AS2011通告過來的關于AS2011的路由。

這裡可以看到,一共R2 隻通告了2011的路由過來,起源于AS3的5條路由被過濾掉了。

<b>功能五:為標明的路由追加</b><b>AS-path</b><b>屬性的資訊</b>

這裡我們将就這個拓撲圖:

這裡,假如說我需要做的事情是将AS2的所有經過AS2011的路由的as-path都追加400,500,600.

這裡可以在R2上面做下面的配置:

router bgp 2011

network 172.16.0.0 mask 255.255.255.0

network 172.16.1.0 mask 255.255.255.0

network 172.16.2.0 mask 255.255.255.0

network 172.16.3.0 mask 255.255.255.0

aggregate-address 172.16.0.0 255.255.252.0

neighbor 10.1.1.1 remote-as 1

<b>neighbor 10.1.1.1 route-map aaa out</b>

neighbor 10.1.2.2 remote-as 3

<b>ip as-path access-list 1 permit _2011_</b>

<b>set as-path prepend 400 500 600</b>

最後在R1上面看結果:

所有從R2通告過來途徑了AS2011的路由全部都加上了AS資訊:400,500,600.

當然route-map的功能還遠不止這些。有興趣的還可以在route-map上面再深入挖掘一下。功能很強大。

本文轉自 hny2000 51CTO部落格,原文連結:

http://blog.51cto.com/361531/723089

繼續閱讀