BGP - Route Filtering - Config



 ◆ 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




BGP(Border Gateway Protocol)

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.