◆ BGP - ルートフィルタリング - distribute-list
distribute-listを使用したBGPにおけるルートフィルタリングの設定コマンドは以下のとおりです。
◆ BGPルートフィルタリング - distribute-list の設定
(config)# router bgp as-number
(config-router)# neighbor ip-address distribute-list acl in | out
コマンド引数 |
説明 |
acl |
ルート情報を指定する標準ACLの番号を指定 |
in |
BGPルートを受信する時にフィルタリングを適用 |
out |
BGPルートを送信する時にフィルタリングを適用 |
◆ AS 10 でBGPネイバー「1.0.0.2」に対して「192.168.1.0/24」のBGPルートのみをアドバタイズ
Cisco(config)# access-list 1 permit 192.168.1.0
Cisco(config)# router bgp 10
Cisco(config-router)# neighbor 1.0.0.2 distribute-list 1 out
|
上記を設定後、設定内容を反映させるために clear ip bgp 1.0.0.2 soft out コマンドを実行しましょう。
◆ BGP - ルートフィルタリング - prefix-list
prefix-listを使用したBGPにおけるルートフィルタリングの設定コマンドは以下のとおりです。
◆ BGPルートフィルタリング - prefix-list の設定
(config)# router bgp as-number
(config-router)# neighbor ip-address prefix-list name in | out
コマンド引数 |
説明 |
name |
ルート情報を指定するPrefix-listの名前を指定 |
in |
BGPルートを受信する時にフィルタリングを適用 |
out |
BGPルートを送信する時にフィルタリングを適用 |
◆ AS 10 でBGPネイバー「1.0.0.2」に対して「192.168.1.0/24」のBGPルートのみをアドバタイズ
Cisco(config)# ip prefix-list PRE01 permit 192.168.1.0/24
Cisco(config)# router bgp 10
Cisco(config-router)# neighbor 1.0.0.2 prefix-list PRE01 out
|
上記を設定後、設定内容を反映させるために clear ip bgp 1.0.0.2 soft out コマンドを実行しましょう。
◆ BGP - ルートフィルタリング - filter-list
filter-listを使用したBGPにおけるルートフィルタリングの設定コマンドは以下のとおりです。
◆ BGPルートフィルタリング - filter-list の設定
(config)# router bgp as-number
(config-router)# neighbor ip-address filter-list as-path-acl in | out
コマンド引数 |
説明 |
aspath-acl |
ルート情報を指定するPrefix-listの名前を指定 |
in |
BGPルートを受信する時にフィルタリングを適用 |
out |
BGPルートを送信する時にフィルタリングを適用 |
◆ AS 10 でBGPネイバー「1.0.0.2」に対して「AS100で生成された」BGPルートのみをアドバタイズ
Cisco(config)# ip as-path access-list 1 permit _100$
Cisco(config)# router bgp 10
Cisco(config-router)# neighbor 1.0.0.2 filter-list 1 out
|
上記を設定後、設定内容を反映させるために clear ip bgp 1.0.0.2 soft out コマンドを実行しましょう。
また、AS_PATHアクセスリストの設定が正しいかどうかは以下の2つのコマンドで事前に確認できます。
AS_PATHアクセスリストの確認コマンド |
説明 |
show ip bgp regexp regular-expression |
指定した正規表現に合致するBGPルートが表示される |
show ip bgp filter-list as-path-acl |
指定したFilter-listの設定に合致するBGPルートが表示される |
上記の設定で正規表現の指定の仕方が正しいかどうかを、以下のコマンドで入力して確認します。以下を
入力することで、この正規表現によって、どのようなBGPルートが通知されるのかを事前に確認できます。
⇒ show ip bgp regexp _100$
次に、filter-listを設定した後に、指定したfilter-listの設定に合致したBGPルートを以下で確認できます。
⇒ show ip bgp filter-list 1
つまり、上記の2つのコマンドによって表示されるBGPルートは同じ結果となります。そして、以下の2つの
コマンドにより、現在、どのようなBGPルートがBGPネイバーに送信(受信)しているのかを確認できます。
BGPルートの送信(受信)確認コマンド |
説明 |
show ip bgp neighbor ip-address advertised-route |
指定したBGPネイバーに送信されているBGPルートを表示 |
show ip bgp neighbor ip-address route |
指定したBGPネイバーから受信しているBGPルートを表示 |
自身のルート情報だけをアドバタイズする非トランジットASにおいて、filter-list out で ^$ を適用させる
ことは必須となります。下図のR1のネイバーのR4に対して設定が必要なfilter-listの設定を見てみましょう。
Cisco(config)# ip as-path access-list 1 permit ^$
Cisco(config)# router bgp 1
Cisco(config-router)# neighbor 1.0.0.4 filter-list 1 out
|
|