目次
概要
BGPルートフィルタのプレフィクスリストの設定と確認コマンドについて解説します。プレフィクスリストでは、ネットワークアドレスとサブネットマスクによってフィルタするBGPルートを特定します。
プレフィクスリストの設定の流れ
プレフィクスリストでBGPルートをフィルタするための設定の流れは、以下の通りです。
- プレフィクスリストでフィルタするルート情報を特定する
- 特定のネイバーへプレフィクスリストを適用する
- BGPルートを再送受信する
プレフィクスリストの設定コマンド
プレフィクスリストを作成して、BGPネイバーに適用するためのコマンドは以下の通りです。
BGPルートフィルタ プレフィクスリスト
(config)#ip prefix-list <list-name> [<seq num>] {permit | deny} <address/length> [ge <ge-length>] [le <le-length>]
(config)#router bgp <AS>
(config-router)#neighbor <ip-address> prefix-list <list-name> {in|out}
<list-name> : プレフィクスリスト名
<seq-num> : シーケンス番号。デフォルトで5単位
<address/length> : ネットワークアドレスのビットパターン
<ge-length> : サブネットマスクの長さ
<le-length> : サブネットマスクの長さ
<AS> : AS番号
<ip-address> : ネイバーのIPアドレス
プレフィクスリストによって、ルート情報のネットワークアドレスとサブネットマスクを参照してBGPルートを特定します。そして、permitまたはdenyで特定したルート情報をどのように扱うかを決めます。
permitはルート情報を許可します。すなわち、outで適用しているときは該当のBGPルートをアドバタイズします。inで適用すればBGPルートを受信します。denyは、ルート情報を破棄します。つまり、outで適用していると該当のBGPルートをアドバタイズしません。inで適用していると該当のBGPルートを受信しません。また、プレフィクスリストの最後には「暗黙のdeny」があることも忘れないでください。
プレフィクスリストにおける「any」の設定方法にも注意が必要です。プレフィクリストでの「any(すべて)」は、以下のような設定です。
0.0.0.0/0 le 32
この設定は、ネットワークアドレスのビットパターンは何でもOKでサブネットマスクが/32以下という意味です。すなわち、すべてのネットワークアドレスとサブネットマスクの組み合わせを表しています。
BGPルートの再送受信
プレフィクスリストをネイバーに適用するだけでは、ルートフィルタは反映されません。BGPルートの再送受信が必要です。プレフィクスリストを適用している方向によって、再送または再受信してください。特権EXECモードで次のコマンドを利用します。
BGPルートの再送受信
#clear ip bgp <ip-address> {in|out}
<ip-address> : ネイバーのIPアドレス
プレフィクスリストの確認コマンド
プレフィクスリストによるBGPルートフィルタを確認するための主なshowコマンドを以下の表にまとめています。
コマンド | 概要 |
---|---|
#show ip prefix-list | BGPルートを特定するためのプレフィクスリストを確認します。 |
#show ip neighbor | BGPネイバーに適用されているプレフィクスリストを確認します。 |
#show ip bgp | BGPテーブルを確認します。 |
#show ip bgp neighbor advertised-routes | 指定したBGPネイバーへアドバタイズするBGPルートを確認します。 |
#show ip bgp neighbor routes | 指定したBGPネイバーから受信したBGPルートを確認します。 |
show ip prefix-list
show ip prefix-listコマンドでBGPルートを特定するためのプレフィクスリストを確認します。
show ip prefix-list
R1#show ip prefix-list ip prefix-list FROM_R2: 2 entries seq 5 deny 172.16.1.0/24 ge 28 seq 10 permit 0.0.0.0/0 le 32 ip prefix-list TO_R2: 1 entries seq 5 permit 192.168.1.0/24
show ip bgp neighbor
BGPネイバーに適用されているプレフィクスリストを確認するには、show ip bgp neighborコマンドを利用します。とても長い表示になるので、include prefix filterでフィルタをかけるとわかりやすくなります。
show ip bgp neighbor
R1#show ip bgp neighbors 10.0.0.2 | include prefix filter Incoming update prefix filter list is FROM_R2 Outgoing update prefix filter list is TO_R2
関連記事
show ip bgp
show ip bgpコマンドでBGPテーブルを表示して、意図したフィルタがかかっているかを確認します。ただ、BGPテーブル全体を表示するとわかりづらいので、BGPテーブルの表示をフィルタしてください。
show ip bgp
R1#show ip bgp BGP table version is 18, local router ID is 192.168.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 172.16.1.0/25 10.0.0.2 0 0 2 i *> 172.16.1.128/26 10.0.0.2 0 0 2 i *> 192.168.1.0 0.0.0.0 0 32768 i *> 192.168.2.0 0.0.0.0 0 32768 i *> 192.168.3.0 0.0.0.0 0 32768 i
show ip bgp neighbor advertised-routes
show ip bgp neighbor advertised-routesコマンドで、指定したネイバーへアドバタイズするBGPルートを表示します。
shwo ip bgp neighbor advertised-routes
R1#show ip bgp neighbors 10.0.0.2 advertised-routes BGP table version is 18, local router ID is 192.168.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 192.168.1.0 0.0.0.0 0 32768 i Total number of prefixes 1
show ip bgp neighbor routes
show ip bgp neighbor routesコマンドで、指定したネイバーから受信したBGPルートを表示します。
show ip bgp neighbor routes
R1#show ip bgp neighbors 10.0.0.2 routes BGP table version is 18, local router ID is 192.168.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 172.16.1.0/25 10.0.0.2 0 0 2 i *> 172.16.1.128/26 10.0.0.2 0 0 2 i Total number of prefixes 2
まとめ
ポイント
- プレフィクスリストによるBGPルートフィルタの設定の流れは以下の通りです。
- プレフィクスリストでフィルタするルート情報を特定する
- 特定のネイバーへディストリビュートリストを適用する
- プレフィクスリストは、ネットワークアドレスとサブネットマスクを参照してフィルタするルートを特定します。
関連記事
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換