目次
概要
BGPルートのアドミニストレイティブディスタンスを制御すると、他のルーティングプロセスのルートよりもBGPルートを優先させられます。BGPルートのアドミニストレイティブディスタンスの制御方法について解説します。
アドミニストレイティブディスタンスの制御方法
BGPルートのデフォルトのアドミニストレイティブディスタンスは、以下の通りです。
- EBGPルート:20
- IBGPルート:200
BGPルートのアドミニストレイティブディスタンスを制御することで、他のルーティングプロセスのルートよりもBGPルートを優先できます。BGPルートのアドミニストレイティブディスタンスを制御する主な方法として、以下の3つあります。
- distanceコマンド
- distance bgpコマンド
- BGPバックドア
関連記事
distanceコマンド
BGPルートのアドミニストレイティブディスタンスの変更には、次のような設定を行います。
BGP distanceコマンド
(config)#router bgp <AS>
(config-router)#distance <AD-value> <neighbor-address> <wildcard-mask> <ACL>
<AS>:AS番号
<AD-value>:変更したいアドミニストレイティブディスタンス値
<neighbor-address>:ネイバーのIPアドレス
<wildcard-mask>:ネイバーアドレスに対するワイルドカードマスク
<ACL>:アクセスリスト番号。
<neighbor-address>と<wildcard-mask>によって、特定のネイバーから受信したルートのアドミニストレイティブディスタンスを変更することができます。なお、<neighbor-address>と<wildcard-mask>の指定を0.0.0.0 255.255.255.255とすると、「any」と同じ意味になります。
また、最後にアクセスリスト番号を関連付けることによって、アクセスリストでpermitされたルートのアドミニストレイティブディスタンスだけを変更することができます。
distanceコマンドの設定例
次のネットワーク構成でdistanceコマンドを設定します。
まず、R1のBGPテーブルとルーティングテーブルを確認します。
R1 BGPテーブル、ルーティングテーブル
R1#show ip bgp -- omitted -- Network Next Hop Metric LocPrf Weight Path *> 100.1.1.0/24 172.16.1.11 0 0 1 i *> 100.1.2.0/24 172.16.1.11 0 0 1 i *> 100.1.3.0/24 172.16.1.11 0 0 1 i r>i100.100.1.0/24 3.3.3.3 0 100 0 i r>i100.100.2.0/24 3.3.3.3 0 100 0 i r>i100.100.3.0/24 3.3.3.3 0 100 0 i R1#show ip route -- omitted -- Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 C 192.168.13.0/24 is directly connected, FastEthernet0/1 100.0.0.0/24 is subnetted, 6 subnets O 100.100.1.0 [110/2] via 192.168.13.3, 00:03:43, FastEthernet0/1 O 100.100.2.0 [110/2] via 192.168.13.3, 00:03:43, FastEthernet0/1 O 100.100.3.0 [110/2] via 192.168.13.3, 00:03:43, FastEthernet0/1 B 100.1.1.0 [20/0] via 172.16.1.11, 01:34:59 B 100.1.3.0 [20/0] via 172.16.1.11, 01:34:59 B 100.1.2.0 [20/0] via 172.16.1.11, 01:34:59 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/2] via 192.168.13.3, 01:35:01, FastEthernet0/1 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, FastEthernet0/0
100.100.1.0/24、100.100.2.0/24、100.100.3.0/24はIBGPとOSPF両方で学習しています。アドミニストレイティブディスタンスによって、OSPFのルートがルーティングテーブルに載せられています。BGPテーブル上では、ベストパスがルーティングテーブルに載っていないので「r」がつけられています。「r」はRIB-Failure状態を意味します。
関連記事
BGPテーブル上の「r」(RIB-Failure)のBGPルートについて、以下の記事で詳しく解説しています。
100.1.1.0/24、100.1.2.0/24、100.1.3.0/24はEBGPで学習しています。EBGPルートなのでアドミニストレイティブディスタンスがデフォルトの20であることがわかります。
この状態から、R1で次のようにアドミニストレイティブディスタンスを変更します。
- R3から受信する100.100.1.0/24のアドミニストレイティブディスタンスを90に
- ISP1から受信するルートのアドミニストレイティブディスタンスを100に
R1の設定は下記のように行います。
R1 アドミニストレイティブディスタンスの変更
access-list 1 permit 100.100.1.0 ! router bgp 100 distance 90 3.3.3.3 0.0.0.0 1 distance 100 172.16.1.11 0.0.0.0
設定後、R1のBGPテーブルおよびルーティングテーブルは次のように変わります。
R1 BGPテーブル、ルーティングテーブル(アドミニストレイティブディスタンス変更後)
R1#show ip bgp -- omitted -- Network Next Hop Metric LocPrf Weight Path *> 100.1.1.0/24 172.16.1.11 0 0 1 i *> 100.1.2.0/24 172.16.1.11 0 0 1 i *> 100.1.3.0/24 172.16.1.11 0 0 1 i *>i100.100.1.0/24 3.3.3.3 0 100 0 i r>i100.100.2.0/24 3.3.3.3 0 100 0 i r>i100.100.3.0/24 3.3.3.3 0 100 0 i R1#show ip route -- omitted -- Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 C 192.168.13.0/24 is directly connected, FastEthernet0/1 100.0.0.0/24 is subnetted, 6 subnets B 100.100.1.0 [90/0] via 3.3.3.3, 00:00:06 O 100.100.2.0 [110/2] via 192.168.13.3, 00:00:06, FastEthernet0/1 O 100.100.3.0 [110/2] via 192.168.13.3, 00:00:06, FastEthernet0/1 B 100.1.1.0 [100/0] via 172.16.1.11, 00:00:07 B 100.1.3.0 [100/0] via 172.16.1.11, 00:00:07 B 100.1.2.0 [100/0] via 172.16.1.11, 00:00:07 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/2] via 192.168.13.3, 00:00:09, FastEthernet0/1 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, FastEthernet0/0
100.100.1.0/24のアドミニストレイティブディスタンスが90になったことで、100.100.1.0/24のルートはBGPのルートに変わりました。BGPテーブル上でも100.100.1.0/24は「r」の表示がなくなっています。
また、100.1.1.0/24、100.1.2.0/24、100.1.3.0/24のアドミニストレイティブディスタンスが100に変わったことも確認できます。
distance bgpコマンド
BGPルートのアドミニストレイティブディスタンスを変更するには、distance bgpコマンドもあります。distance bgpコマンドの構文は次の通りです。
distance bgpコマンド
(config)#router bgp <AS>
(config-router)#distance bgp <external> <internal> <local>
<AS>:AS番号
<external>:EBGPルートのアドミニストレイティブディスタンス値
<internal>:IBGPルートのアドミニストレイティブディスタンス値
<local>:集約設定時のNull0ルートやnetworkコマンド、再配送でローカルに生成したルートのアドミニストレイティブディスタンス値
distance bgpコマンドは、EBGPルート、IBGPルートおよびローカルで生成したBGPルートといったBGPルートの分類ごとにアドミニストレイティブディスタンスを変更します。
distance bgpコマンドの設定例
図のR1でdistance bgpコマンドを設定します。R1では、199.1.0.0/16の集約ルートを生成しています。R1のBGPテーブルおよびルーティングテーブルは次のようになっています。
R1 BGPテーブル、ルーティングテーブル
R1#show ip bgp -- omitted -- Network Next Hop Metric LocPrf Weight Path *> 100.1.1.0/24 172.16.1.11 0 0 1 i *> 100.1.2.0/24 172.16.1.11 0 0 1 i *> 100.1.3.0/24 172.16.1.11 0 0 1 i r>i100.100.1.0/24 3.3.3.3 0 100 0 i r>i100.100.2.0/24 3.3.3.3 0 100 0 i r>i100.100.3.0/24 3.3.3.3 0 100 0 i *> 199.1.0.0/16 0.0.0.0 32768 i s> 199.1.1.0 0.0.0.0 0 32768 i R1#show ip route -- omitted -- 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 C 192.168.13.0/24 is directly connected, FastEthernet0/1 100.0.0.0/24 is subnetted, 6 subnets O 100.100.1.0 [110/2] via 192.168.13.3, 00:00:06, FastEthernet0/1 O 100.100.2.0 [110/2] via 192.168.13.3, 00:00:06, FastEthernet0/1 O 100.100.3.0 [110/2] via 192.168.13.3, 00:00:06, FastEthernet0/1 B 100.1.1.0 [20/0] via 172.16.1.11, 00:00:07 B 100.1.3.0 [20/0] via 172.16.1.11, 00:00:07 B 100.1.2.0 [20/0] via 172.16.1.11, 00:00:07 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/2] via 192.168.13.3, 00:00:08, FastEthernet0/1 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, FastEthernet0/0 C 199.1.1.0/24 is directly connected, Loopback1 B 199.1.0.0/16 [200/0] via 0.0.0.0, 00:00:08, Null0
100.100.1.0/24、100.100.2.0/24、100.100.3.0/24はIBGPとOSPF両方で学習しています。アドミニストレイティブディスタンスによって、OSPFのルートがルーティングテーブルに載せられています。BGPテーブル上では、ベストパスがルーティングテーブルに載っていないので「r」がつけられています。
100.1.1.0/24、100.1.2.0/24、100.1.3.0/24はEBGPで学習しています。EBGPルートなのでアドミニストレイティブディスタンスがデフォルトの20であることがわかります。
また、R1で生成した集約ルート199.1.0.0/16に対するNull0向けのルートは、アドミニストレイティブディスタンス値が200です。
ここからR1でdistance bgpコマンドで、次のようにアドミニストレイティブディスタンスを変更します。
- EBGPルートのアドミニストレイティブディスタンス値:50
- IBGPルートのアドミニストレイティブディスタンス値:80
- 集約ルートのNull0エントリのアドミニストレイティブディスタンス値:30
R1 distance bgp
router bgp 100 distance bgp 50 80 30
distance bgp設定後のR1のBGPテーブル、ルーティングテーブルは次の通りです。
R1 BGPテーブル、ルーティングテーブル(distance bgp設定後)
R1#show ip bgp -- omitted -- Network Next Hop Metric LocPrf Weight Path *> 100.1.1.0/24 172.16.1.11 0 0 1 i *> 100.1.2.0/24 172.16.1.11 0 0 1 i *> 100.1.3.0/24 172.16.1.11 0 0 1 i *>i100.100.1.0/24 3.3.3.3 0 100 0 i *>i100.100.2.0/24 3.3.3.3 0 100 0 i *>i100.100.3.0/24 3.3.3.3 0 100 0 i *> 199.1.0.0/16 0.0.0.0 32768 i s> 199.1.1.0 0.0.0.0 0 32768 i R1#show ip route -- omitted -- 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 C 192.168.13.0/24 is directly connected, FastEthernet0/1 100.0.0.0/24 is subnetted, 6 subnets B 100.100.1.0 [80/0] via 3.3.3.3, 00:00:06 B 100.100.2.0 [80/0] via 3.3.3.3, 00:00:06 B 100.100.3.0 [80/0] via 3.3.3.3, 00:00:06 B 100.1.1.0 [50/0] via 172.16.1.11, 00:00:06 B 100.1.3.0 [50/0] via 172.16.1.11, 00:00:07 B 100.1.2.0 [50/0] via 172.16.1.11, 00:00:07 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/2] via 192.168.13.3, 00:00:08, FastEthernet0/1 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, FastEthernet0/0 C 199.1.1.0/24 is directly connected, Loopback1 B 199.1.0.0/16 [30/0] via 0.0.0.0, 00:00:08, Null0
IBGPルートのアドミニストレイティブディスタンス値が80になったことで、100.100.1.0/24、100.100.2.0/24、100.100.3.0/24についてOSPFよりもIBGPルートが優先され、ルーティングテーブルに載せられています。BGPテーブル上の「r」の表示も消えています。
また、EBGPルートのアドミニストレイティブディスタンス値が50になり、集約ルートのNull0エントリのアドミニストレイティブディスタンス値が30になったこともわかります。
BGPバックドア
特定のEBGPルートのアドミニストレイティブディスタンス値を変更するためのBGPバックドア機能もあります。BGPバックドアでは、特定のEBGPルートのアドミニストレイティブディスタンス値を200にします。
ASをまたがってIGPを利用していて、EBGPルートよりもIGPルートを優先したいときにBGPバックドアを利用できます。BGPバックドアは、次のようにnetworkコマンドの最後にオプションとしてbackdoorを追加します。
BGPバックドア
(config)#router bgp <AS>
(config-router)#network <address> {mask <subnetmask>} backdoor
<AS>:AS番号
<address>:ネットワークアドレス
<subnetmask>:サブネットマスク
これにより、指定したネットワークアドレス/サブネットマスクのEBGPルートのアドミニストレイティブディスタンス値を200に変更することができます。
まとめ
ポイント
- BGPルートのアドミニストレイティブディスタンスを制御することで、他のルーティングプロセスのルートよりもBGPルートを優先させられます。
- BGPルートのアドミニストレイティブディスタンスを制御する主な方法として、以下の3つあります。
- distanceコマンド
- distance bgpコマンド
- 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プレフィックスの交換