一些常用過濾策略

 
轉自好友blog
 
 
 
目的:研究BGP常用的幾種過濾方法
1.分發列表
2.前綴列表
3.路徑列表/過濾列表
4.路由映射
5.團體列表
6.ORF
7.策略列表

1.分發列表是BGP過濾中最爲簡單的一種,可以應用到所有對等體上,也可以應用到特定對等體上,如在BGP進程下:
ditribute-list 1 in/out(對所有對等體均有效)
nei 1.1.1.1 ditribute-list 1 in/out (只對某個對等體有效)

在R2上,過濾前綴2.2.2.0,操作如下:
r2(config)#access-list 1 deny 2.2.2.0
r2(config)#access-list 1 permit an
r2(config-router)#nei 10.1.1.1 distribute-list 1 out

distribute-list,靈活性較差,可分爲標準和擴展兩種。要注意的是擴張訪問列表用於接口分組過濾時,它有源地址和目的地址,但當與BGP分發列表一起使用時,源地址變成了網絡號,目的地址變成網絡掩碼。而標準沒有此功能。

例如:access-list 101 permit ip 10.10.0.0 0.0.255.255 255.255.0.0 0.0.0.0
網絡部分:10.10.0.0 0.0.255.255,表示允許10.10.x.x,x爲0-255任意值
掩碼部分:255.255.0.0 0.0.0.0,表示在通配符中全使用了O,只能匹配16位掩碼。分發列表,前綴列表,過濾列表後面都有一個隱藏命令deny any.

2.前綴列表是一種更簡單的過濾方法
r2(config)#ip prefix-list 1 deny 2.2.2.0/24
r2(config)#ip prefix-list 1 permit 0.0.0.0/0 le 32
r2(config-router)#nei 10.1.1.1 prefix-list 1 out

在前綴列表中,通常用前綴長度進行過濾,當同時使用ge/le屬性時,過濾範圍就在ge值和le值之間,前綴的掩碼必須和所有過濾的路由前綴精確匹配,如 :
 
ip prefix-list one permit 156.1.1.0/24 ge 25 le 31
156.1.1.0/24不在此範圍內,/32也不在,此前綴包括
2個/25-----156.1.1.0/25,156.1.1.128/25
4個/26-----156.1.1.0/26,156.1.1.64/26,...,156.1.1.192/26
8個/27------156.1.1.0/27,156.1.1.32/27,...,156.1.1.224/27
....
128個/31-----156.1.1.0/31,156.1.1.2/31,...,156.1.1.254/31
前綴號---seq,默認從5,10,15,20...,當增加或減少某個前綴列表時,直接增減該前綴號.序列號的檢查是從最小的開始。
前綴列表比分發列表更爲簡單功能更強大。

3.AS路徑列表一般和正則表達式,filter-list一起應用,是使用AS路徑屬性來過濾BGP路由,IOS的常規表達式和UNIX上的相同,在R1上過濾來自AS2的路由條目:

r1(config)#ip as-path access-list 1 deny _2$
r1(config)#ip as-path access-list 1 permit .*
r1(config-router)#nei 10.1.1.2 filter-list 1 in
提供一種查看AS路徑序列號的方法:show ip bgp regexp .按照AS-PATHS進行過濾,提供了較好的靈活性。
正則表達式是一種重要的工具,關於一些常規表達式含義詳見等級三(上)實驗手冊P124.

4.路由映射提供了強大的功能,可對其諸多屬性進行修改,可以基於NEXT-HOP,LOCOL-PREF,MED,AS-PATH,WEIGHT,ROUTE-TYPE,TAG等過濾和更新,當在有相同類型的多個match時,它們之間是或的關係,不同類型的多個match時,它們之間是與的關係,如:

route-map one permit 10
match community 1 2(或關係)
route-map one permit 10
match community 1
match community 2(與關係)
這裏只講用作過濾用的路由映射,只舉例match ip add
r2(config)#access-list 1 deny 2.2.2.0
r2(config)#access-list 1 permit an
r2(config)#route-map tor1 permit 10
r2(config-route-map)#match ip add 1
r2(config-router)#nei 10.1.1.1 route-map tor1 out

5.團體列表通常用來在BGP策略中使用,爲大型BGP網絡管理中管理BGP前綴提供了一種靈活的方法,是根據共同的團體屬性來標示過濾,當配置了團體屬性時,必須爲對等體配置命令nei ip/peer-group send-community命令,此命令作用是把最佳本地出境策略允許的團體發送給對等體。在此談它用來做過濾。在R2上:
把2.2.2.0/24作爲團體2:1,把4.4.4.0/24,6.6.6.0/24,8.8.8.0/24作爲團體2:2

r2(config)#access-list 1 permit 2.2.2.0
r2(config)#access-list 2 permit 4.4.4.0
r2(config)#access-list 2 permit 6.6.6.0
r2(config)#access-list 2 permit 8.8.8.0
r2(config)#route-map tor1 permit 10
r2(config-route-map)#match ip add 1
r2(config-route-map)#set community 2:1
r2(config)#route-map tor1 permit 20
r2(config-route-map)#match ip add 2
r2(config-route-map)#set community 2:2

在R1過濾團體2:2,操作如下
r1(config)#ip community-list 1 permit 2:1
r1(config)#ip community-list 2 deny 2:2
r1(config)#route-map fromr2 permit 10
r1(config-route-map)#match community 1
r1(config-route-map)#route-map fromr2 per 20
r1(config-route-map)#match community 2

6.orf是基於出口路由過濾能力,提供了一種動態的方法,接受者向發送者公佈它的入口過濾器,然後發送者把過濾器加載到與接受者之間的出口鄰居關係上。只有ORF達成一致時,ORF纔可以被使用。ORF是一種可以在遠程節點加載在入口前綴列表,主要是節省帶寬以及路由器的性能。R1要拒絕2.2.2.0/24,在R1上操作如下:

router bg 1
nei 10.1.1.2 capability orf prefix-list both(激活R1與R2的ORF能力,R1可以從R2那裏接受發送前綴)
nei 10.1.1.2 prefix-list one in(R1已經向R2配置了入口前綴列表one,)
!
ip prefix-list one deny 2.2.2.0/24
ip prefix-list one permit 0.0.0.0/0 le 32
!
clear ip bgp 10.1.1.2 in prefix-list(向R2發送R1的入口前綴列表)
在R2上操作如下:
router bg 2
nei 10.1.1.1 capability orf prefix-list both(激活R2與R1的ORF能力,R2可以從R1那裏接受發送前綴)

7.策略列表一般用在很多相同匹配子句被不同的路由映射重用時,策略列表可以通過命令ip policy-list配置,策略列表,其他匹配的子句和路由映射是可以保存的。例如:

ip as-path access-list 1 permit ^1_
ip as-path access-list 2 permit ^2_
ip community-list 1 permit 100:1
ip policy-list one permit
match as-path 1
match community 1
route-map two permit 10
match policy-list one
set metric 120
 
應注意的幾個問題:

1.當幾個列表一起應用時,順序如下:
入站:過濾列表>路由映射>分佈列表/前綴列表
出站:分佈列表/前綴列表>由orf接收到的前綴列表>過濾列表>路由映射
更新使用是要通過所有過濾!舉個例子,對於出站來說,如果前綴列表和過濾列表都允許更新,但路由映射拒絕,那麼這個更新是被拒絕的,同樣入站亦適應。

2.當已對nei配置了一個鄰居策略時,但該策略沒有被定義,那麼缺省動作是:
對於分佈列表和前綴列表,允許所有;
對於過濾列表和路由映射,拒絕所有。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章