目次
概要
インターネット接続を冗長化したマルチホームASでは、適切なBGPルートのフィルタの設定が必要です。マルチホームASでのルートフィルタのポイントについて解説します。
マルチホームASでのルートフィルタのポイント
マルチホームASのBGPルータは、複数のISPのルータとBGPネイバーを確立します。そして、ISPルータへBGPルートをアドバタイズするときに、以下のフィルタをかけます。
自AS内のネットワークのみをISPルータにアドバタイズする
こうしたマルチホームASでのBGPルートフィルタについて考えます。
マルチホームASでのBGPルートのアドバタイズ
マルチホームASで複数のASのBGPルータとネイバーを確立すると、デフォルトではトランジットASとして動作してしまいます。BGPネイバーから受信したルートは、ベストパスであればさらに他のBGPネイバーにアドバタイズするからです。たとえば、次の図のネットワーク構成を考えます。

マルチホームAS(AS1)内のR1がISP1、ISP2とEBGPネイバーを確立しています。ISP1からBGPで100.0.0.0/8のルート情報を受信すると、R1はBGPテーブルにそのルート情報を格納します。ルートがループしていなければ、ベストパスに選択されることになります。すると、R1はISP1から受信した100.0.0.0/8のルート情報をさらにISP2へとアドバタイズします。

トランジットASとは他のAS間のパケットをルーティングする役割を持っているASです。R1のこのようなルート情報の送信は、ISP2に対して「100.0.0.0/8宛てのパケットをこちらに転送してきてもいい」といっていることになります。すなわち、100.0.0.0/8のネットワーク宛てのパケットがR1(AS1)へルーティングされる可能性がありAS1がトランジットASになってしまうことになります。
100.0.0.0/8はAS1の内部のネットワークではありません。ISPと契約してインターネットに接続する目的は、自分のASの中からインターネット上のネットワークとの相互通信ができるようにすることです。他のAS間のパケットのルーティングを行うために、ISPと契約してインターネットに接続しているわけではありません。
インターネット上のネットワークと相互通信するためには、次の2つができればいいです。
- 自AS内のネットワークのルート情報をISPへ送信
- ISPからインターネット上のネットワークのルート情報を受信
つまり、他のASのネットワークのルート情報をISPにアドバタイズする必要はないのです。もし、アドバタイズしてしまうとトランジットASの構成になり、他のASのネットワーク宛てのパケットが転送されてきてしまう可能性があるので望ましくありません。実際には、ISP側でそのようなルートはフィルタされることがほとんどなので、パケットが転送されることはまずありません。ですが、不要なルート情報をアドバタイズすることは、他のASに余計な負荷をかけることになります。
そのため、マルチホームASではトランジットASにならないようにするためのルートフィルタが必要です。BGPルートをISPのルータにアドバタイズするときにフィルタをかけます。ISPへアドバタイズするルート情報は自AS内のネットワークのもののみに限定します。

BGPルートのフィルタ方法の概要
特定のBGPネイバーへアドバタイズするときのBGPルートのフィルタには次の4つあります。
- ディストリビュートリスト(distribute-list)
- プレフィクスリスト(prefix-list)
- フィルターリスト(filter-list)
- ルートマップ
BGPでもルートフィルタ機能として、ディストリビュートリストやプレフィクスリストを利用することができます。これらのフィルタは、ルート情報のネットワークアドレス(とサブネットマスク)に注目して許可/拒否するルートを指定します。これらを利用してもいいのですが、BGPルート特有のAS_PATHアトリビュートに注目したフィルターリストを利用する方が効果的なフィルタが可能です。
ディストリビュートリストやプレフィクスリストといったネットワークアドレスをベースにしたフィルタは、フィルタ対象のルート数が多くなると、その分設定が面倒になります。それに対して、自AS内のルート情報のAS_PATHアトリビュートはすべて同じなので、AS_PATHアトリビュートをベースにしたフィルターリストは簡単に設定することができます。
関連記事
BGPのルートフィルタについてさらに詳細は、以下の記事をご覧ください。
自ASのルートのみをアドバタイズするフィルタリストについて、以下の記事もあわせてご覧ください。
まとめ
ポイント
- マルチホームASでは、ISPルータへアドバタイズするBGPルートとして自AS内のネットワークのみにフィルタします。
- こうしたルートフィルタを実現するためには、AS_PATHアトリビュートに基づいたフィルターリストの設定が効率的です。
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プレフィックスの交換