目次
概要
特定のネイバーから学習したBGPルートのより詳細なルートを生成できます。BGPルートの条件付き生成について解説します。
関連記事
BGPルートの条件付き生成を設定するには、プレフィクスリスト、ルートマップの設定を理解していることが前提です。プレフィクスリストおよびルートマップの設定について、以下の記事もあわせてご覧ください。
BGPルートの条件付き生成とは
特定のネイバーから学習したBGPルートについて、より詳細なルートを生成することができます。これをルートの条件付き生成(Conditional Route Injection)と呼びます。
BGPルートの条件付き生成の設定
ルートの条件付き生成には、bgp inject-map exist-mapコマンドを使います。コマンドの構文は次の通りです。
BGPルートの条件付き生成の設定
(config)#router bgp <AS>
(config-router)#bgp inject-map <route-map-name> exist-map <route-map-name>
<AS>:AS番号
inject-map <route-map-name>:exist-mapの条件を満足したときに生成するより詳細なルートの指定をルートマップで行います。
exist-map <route-map-name>:ルートマップで指定した特定のネイバーからルートを受信すれば条件を満足します。
ルートの条件付き生成では、exist-mapで指定したネイバーから受信した特定のルートをトラッキングします。exist-mapで指定したネイバーからの特定のルートがBGPテーブル上にあれば条件を満足します。exist-mapのルートマップ内でmatch条件によってネイバーとルートを指定します。
条件を満足すると、inject-mapで指定したルートを生成してBGPテーブルに載せます。inject-mapで指定するルートはexist-mapのより詳細なルート(more specific route)に限られます。生成する詳細ルートの指定は、ルートマップ内のset ip address prefix-listで行います。
生成されたルートはshow ip bgp injected-pathsやshow ip bgp <address>で確認できます。
条件付き生成の確認コマンド
R1#show ip bgp injected-paths BGP table version is 6, local router ID is 199.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 100.1.1.0/30 172.16.1.11 0 ? *> 100.1.1.4/30 172.16.1.11 0 ? R1#show ip bgp 100.1.1.0/30 BGP routing table entry for 100.1.1.0/30, version 5 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 3.3.3.3 Local, (injected path from 100.1.1.0/24) 172.16.1.11 from 172.16.1.11 (111.1.1.11) Origin incomplete, localpref 100, valid, external, best
BGPルートの条件付き生成の設定例
次のネットワーク構成でルートの条件付き生成を確認します。
この図のR1において、ISP1から100.1.1.0/24を受信したら、R1であらたに100.1.1.0/30と100.1.1.4/30を生成します。R1では次のような設定を行います。
R1 bgp inject-map exist-mapの設定
ip prefix-list ISP1 permit 172.16.1.11/32 ip prefix-list ROUTE permit 100.1.1.0/24 ! route-map EXIST permit 10 match ip address prefix-list ROUTE match ip route-source prefix-list ISP1 ! ip prefix-list MORE_SPECIFIC permit 100.1.1.0/30 ip prefix-list MORE_SPECIFIC permit 100.1.1.4/30 ! route-map INJECT set ip address prefix-list MORE_SPECIFIC ! router bgp 100 bgp inject-map INJECT exist-map EXIST
この設定について、もう少し詳しく見ていきます。まず、条件に当たるexist-mapのルートマップの設定をみていきます。
R1 exist-mapの設定
ip prefix-list ISP1 permit 172.16.1.11/32 ip prefix-list ROUTE permit 100.1.1.0/24 ! route-map EXIST permit 10 match ip address prefix-list ROUTE match ip route-source prefix-list ISP1
ルートマップ「EXIST」を作成し、その中でmatch条件によってネイバーとルートを指定しています。ネイバーの指定はmatch ip route-source prefix-listで行います。ルートの指定はmatch ip address prefix-listで行います。そして、実際のネイバーの指定のため「ISP1」という名前のプレフィクスリストとルートの指定の「ROUTE」というプレフィクスリストを作成しています。
次に条件を満たしたときに生成するルートのinject-mapで使うルートマップの設定を見ます。
R1 inject-mapの設定
ip prefix-list MORE_SPECIFIC permit 100.1.1.0/30 ip prefix-list MORE_SPECIFIC permit 100.1.1.4/30 ! route-map INJECT set ip address prefix-list MORE_SPECIFIC
ルートマップ「INJECT」を作成し、その中でset ip address prefix-listによって、実際に生成するルートを指定するプレフィクスリストを関連づけています。プレフィクスリストは「MORE_SPECIFIC」という名前でexist-mapの条件である100.1.1.0/24のより詳細なルートとして100.1.1.0/30と100.1.1.4/30を指定しています。
最後に、作成したルートマップをbgp inject-map exist-mapで適用しています。
bgp inject-map exit-map コマンド
router bgp 100 bgp inject-map INJECT exist-map EXIST
また、R1でshow ip bgp injected-pathsおよび生成ルートの詳細を確認すると、次のようになります。
R1 show ip bgp injected-paths、生成されたルートの詳細
R1#show ip bgp injected-paths BGP table version is 6, local router ID is 199.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 100.1.1.0/30 172.16.1.11 0 ? *> 100.1.1.4/30 172.16.1.11 0 ? R1#show ip bgp 100.1.1.0 BGP routing table entry for 100.1.1.0/30, version 5 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 3.3.3.3 Local, (injected path from 100.1.1.0/24) 172.16.1.11 from 172.16.1.11 (111.1.1.11) Origin incomplete, localpref 100, valid, external, best R1#show ip bgp 100.1.1.4 BGP routing table entry for 100.1.1.4/30, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 3.3.3.3 Local, (injected path from 100.1.1.0/24) 172.16.1.11 from 172.16.1.11 (111.1.1.11) Origin incomplete, localpref 100, valid, external, best
まとめ
ポイント
- BGPルートの条件付き生成とは、特定のBGPネイバーから受信したBGPルートのより詳細なルートを生成することです。
- BGPルートの条件付き生成のコマンドは次の通りです。
- (config)#router bgp <AS>
(config-router)#bgp inject-map <route-map-name> exist-map <route-map-name> - exit-mapでルートマップを参照して、特定のBGPネイバーから受信する特定のBGPルートを指定します。
- inject-mapでルートマップを参照して、生成するより詳細なBGPルートを指定します。
- (config)#router bgp <AS>
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プレフィックスの交換