BGP(AS_PATHフィルタ・filter-list その3)
「BGP(AS_PATHフィルタ・filter-list その2)」の続きです。
ここでは、AS_PATHフィルタを設定していきます。
下の図のようにRouter_Dに、「AS300を経由する経路情報を拒否する」フィルタを作成していきます。

AS_PATTHフィルタの設定
AS_PATTHフィルタを設定してゆくには、ASパス・アクセスリスト作成し、「filter-list」でBGPピアに適用させます。
構文は以下のようになります。
Router(config)#ip as-path access-list {ACL番号} {permit | deny} 正規表現
Router(config)#router bgp {AS番号}
Router(config-router)#neighbor {ピアIP} filter-list {ACL番号} {in | out}
正規表現については、こちら「BGP(AS_PATHフィルタ・filter-list その1)」で紹介しています。
ASパス・アクセスリストもAccess-listと同様にリストの最後に、暗黙のdenyがあるため全てを許可する設定を忘れないようにしましょう。
「AS300を経由する経路情報を拒否する」フィルタはどのように設定したらよいのでしょうか?
正規表現で「AS300を経由する」は、「_300_」で表現することができます。
「 _ 」 ・・・ 「 , 」、「 { 」、「 } 」、文字列の先頭、文字列の末尾、空白に一致
「全てを許可する」は、「.*」で表現することができます。
「 . 」 ・・・ 任意の単一文字に一致
「 * 」 ・・・ 直前の文字が0個以上
正規表現が、自分が考えていたように適用されるのかを調べるのに「show ip bgp regexp」コマンドが用意されています。
例えば、「AS300を経由する」は、「_300_」でマッチするのかを調べたい時、Router_D上で以下のように入力して検証できます。
Router_D#show ip bgp regexp _300_
Router_D#show ip bgp regexp _300_
BGP table version is 3, local router ID is 172.19.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* 10.10.10.0/24 172.19.0.1 0 300 100 i
* 20.20.20.0/24 172.19.0.1 0 300 100 i
該当する経路が存在することが確認できます。
それでは、Router_Dに以下のコマンドを追加します。
Router_D(config)#ip as-path access-list 1 deny _300_
Router_D(config)#ip as-path access-list 1 permit .*
Router_D(config)#router bgp 400
Router_D(config-router)#neighbor 172.19.0.1 filter-list 1 in
入力したら、BGPピアを再確立させます。
Router_D#clear ip bgp *
また、入力したASパス・アクセスリストは、次のコマンドで確認することができます。
Router_D#show ip as-path-access-list
Router_D#show ip as-path-access-list
AS path access list 1
deny _300_
permit .*Router_DのBGPテーブルを確認します。
●Router_DのBGPテーブル
Router_D#show ip bgp
BGP table version is 3, local router ID is 172.19.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.10.10.0/24 172.18.0.1 0 200 100 i
*> 20.20.20.0/24 172.18.0.1 0 200 100 i
AS300を経由する経路情報がフィルタリングされているのが確認できます。
このように、ASパス・アクセスリストを操作することで、受信する経路をフィルタリングすることができます。
