簡介
本文檔介紹如何使用帶邊界網關協定(BGP)的正規表示式。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文檔中的資訊基於Cisco IOS®軟體版本12.0。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
可以在用於邊界網關協定(BGP)的 ip as-path access-list 命令中使用正規表示式。有關正規表示式的更多一般資訊,請參閱有關正規表示式的Cisco文檔。有關基本BGP配置的詳細資訊,請參閱BGP案例分析和配置基本BGP網路。
網路案例
以下是本文檔中提到的網路圖。
只允許來自AS 4的網路進入路由器1
如果您希望路由器1隻接收源自AS 4的路由(而不接收任何Internet路由),則可以在路由器1上應用入站訪問清單:
ip as-path access-list 1 permit ^4$
router bgp 1
neighbor 10.4.4.4 remote-as 4
neighbor 10.4.4.4 route-map foo in
route-map foo permit 10
match as-path 1
這可以確保只有源自AS 4的網路才能進入路由器1。
只允許透過AS 4的網路輸入AS 3
如果只想讓透過AS 4的網路從路由器3進入AS 3,則可以在路由器3上應用入站過濾器:
ip as-path access-list 1 permit _4_
router bgp 3
neighbor 10.2.2.2 remote-as 1
neighbor 10.2.2.2 route-map foo in
route-map foo permit 10
match as-path 1
可以使用下劃線(_)作為ip as-path access-list命令中的輸入字串和輸出字串。
注意:在此示例中,未使用錨定(例如,沒有^),因此在AS 4之前和之後出現哪些自治系統並不重要。
拒絕源自AS 4的網路進入AS 3並允許所有其他網路
如果要拒絕所有源自AS 4的網路,並允許所有其他路由從路由器3進入AS 3,可以在路由器3應用入站過濾器:
ip as-path access-list 1 deny _4$
ip as-path access-list 1 permit .*
router bgp 3
neighbor 10.2.2.2 remote-as 1
neighbor 10.2.2.2 route-map foo in
route-map foo permit 10
match as-path 1
僅允許源自AS 4的網路和直接連線到AS 4的AS進入路由器1
如果希望AS 1獲取源自AS 4的網路,以及所有直接連線的AS 4,請在路由器1上應用下一個入站過濾器。
ip as-path access-list 1 permit ^4_[0-9]*$
router bgp 1
neighbor 10.4.4.4 remote-as 4
neighbor 10.4.4.4 route-map foo in
route-map foo permit 10
match as-path 1
在 ip as-path access-list 命令中,尖號(^)表示輸入字串的開頭並指定「AS」。下劃線(_)表示字串中有一個AS 4後面的空字串。[0-9]*表示任何具有有效AS編號的已連線AS都可以透過過濾器。使用[0-9]*語法的優點是,您可以靈活地增加任意數量的AS,而無需修改此命令字串。有關其他資訊,請參閱AS正規表示式。
相關資訊