聖胡安的海灘 |
1. 發源於指定的AS號碼:_ASN$
例如 _11$,代表發源於AS 11的所有BGP資訊。
這個正則表達式,代表的是AS-Path結束於指定的AS號碼。因為AS號碼在被BGP路由器添加到AS-Path的時候,一律從開頭加入(prepend),因此,AS-Path最末端的AS號碼,就是發源於的AS號碼。
2. 指定鄰居AS所提供的:^ASN_
例如 ^11_,代表跟我相鄰的BGP鄰居之中,AS號碼是11,所提供給我的所有BGP資訊。
這個正則表達式,代表的是AS-Path內容的開頭就是指定的AS號碼。相同地,是因為AS號碼在被BGP路由器添加到AS-Path的時候,一律從開頭加入(prepend),我的前一站的AS號碼,其實正好是就是我的BGP鄰居的AS號碼,會被放在AS-Path的最開頭。
3. 包含AS號碼:_ASN_
例如 _11_,代表BGP資訊裡面,AS-Path包含AS號碼11的所有BGP資訊。
這個正則表達式,代表的是AS-Path包含所指定的AS號碼。因此,除了包含過路(Transit)於指定的AS號碼之外,也包含前面兩種狀況:發源於、或者是前一站。
4. “Any”:.*
這個正則表達式,代表符合任何的AS-Path。等同於完全沒有任何過濾的功能。在定義Cisco IOS AS-Path ACL的時候,我們偶爾需要這個”片語”,來代表剩下的所有可能的AS-Path格式全部都允許/或拒絕。
5. 發源自本地:^$
這個正則表達式,代表的是完全空白的AS-Path內容。因為任何來自於外部鄰居BGP都會包含鄰居的AS號碼,AS-Path不會是完全空白的,唯一可能相符的,只剩下本地BGP所產生的BGP資訊,才有可能AS-Path完全空白。
One more thing…
如果要確認我們所定義的正則表達式是否正確,不一定非要定義成Cisco IOS AS-Path ACL,然後套用neighbor filter-list不可,我推薦的小技巧是,大家可以直接使用下面的命令來確認正則表達式是否正確:
show ip bgp regex
例如,show ip bgp regex _11$,馬上可以將BGP資訊中過濾出發源於AS 11的所有BGP資訊。
這個技巧,完全不需要具備”修改BGP設定”的權限,大部分的朋友,都有機會可以練習和檢驗正則表達式的正確性。
前面幾張照片的拍攝地點,都在下面地圖標示的San Juan海灘附近。
BGP沒什麼實際經驗,而且CCNP認證後就忘光了!
回覆刪除其實沒關係的,不常用的確會忘得很快。
刪除我原本寫過幾篇BGP的內容在英文版的網站上面,我最近也會在這裡增加BGP的內容,給大家參考!
老師真用心,謝謝老師的分享
刪除毛老師您客氣了!我們大家一起互相切磋吧! :)
刪除