簡介
本檔案介紹如何將正規表示式與邊界閘道通訊協定(BGP)一起使用。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本檔案中的資訊是根據Cisco IOS®軟體版本12.0。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
您可以在中使用正規表示式 ip as-path access-list
命令搭配邊界閘道通訊協定(BGP)。有關正規表示式的更多常規資訊,請參閱Cisco正則表達式文檔。有關基本BGP配置的詳細資訊,請參閱BGP案例研究和配置基本BGP網路。
網路方案
這是本文檔中提到的網路圖。
僅允許來自AS 4的網路進入Router 1
如果您希望Router 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的網路進入Router 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進入Router 1
如果您希望AS 1從AS 4獲取網路,並且所有直接連線的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-Regular Expression。
相關資訊