この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、ボーダー ゲートウェイ プロトコル(BGP)ルータが BGP ルートをピアにアナウンスしない場合のトラブルシューティング方法について説明します。
このドキュメントに関する固有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。ただし、このドキュメントに示されている出力は、Cisco IOS® ソフトウェアバージョン 12.2(24)a を実行する Cisco 2500 シリーズ ルータに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
このドキュメントでは、ボーダー ゲートウェイ プロトコル(BGP)ルータが BGP ルートをピアにアナウンスしない場合のトラブルシュート状況に役立つ体系的なアプローチを提示します。
BGP テーブルにプレフィクスを追加してピアにアナウンスする方法は、次のようにいくつかあります。
ルータ BGP で基本の network コマンドを発行する。この方法は、Autonomous System(AS; 自律システム)から BGP ルートを発信するために使用されます。詳細については、「BGP ケーススタディ 1」の network コマンドのセクションを参照してください。
Interior Gateway Protocol(IGP; 内部ゲートウェイ プロトコル)またはスタティック設定を再配布します。
他の内部 BGP(iBGP)または外部 BGP(eBGP)ピアで学習した BGP ルートを伝搬します。
注:BGP ピアから受信した最適パスのみが伝播されます。最適パスの選択に関する情報については、「BGP で最適パスを選択するアルゴリズム」を参照してください。
aggregate-address コマンドを発行する。詳細は、『BGP での経路集約について』を参照してください。
ルートが基本的なnetwork文によってアナウンスされるとき、networkコマンドの動作は、オートサマリーがイネーブルかディセーブルかによって異なります。オートサマリーが有効な場合、ローカルに発信された BGP ネットワーク(ネットワーク x.x.x.x)はクラスフル境界にまとめられます(デフォルトでは、BGP でオートサマリーが有効になっています)。サブネットがルーティング テーブル内に存在し、次の 3 つの条件が満たされる場合、ローカル ルーティング テーブル内にあるそのクラスフル ネットワークのあらゆるサブネット(コンポーネント ルート)が BGP に対して、クラスフル ネットワークを BGP テーブルにインストールするよう促します。
オート サマリーが有効
ルーティング テーブル内のネットワークのクラスフル ネットワーク文
そのネットワーク文のクラスフル マスク
オート サマリーがディセーブルになっている場合、BGP テーブルにローカルで挿入されたルートはクラスフルな境界にまとめられません。
たとえば、次の条件が満たされる場合、BGP は、クラスフル ネットワーク 10.0.0.0 マスク 255.0.0.0 を BGP テーブルに挿入します。
ルーティング テーブルのサブネットは、10.75.75.0 マスク 255.255.255.0 です。
router bgp コマンドで、ネットワーク 10.0.0.0 を設定します。
オート サマリーがイネーブルになっている。
これらの条件がすべて満たされない場合、BGP がエントリを BGP テーブルにインストールするのは、IP ルーティング テーブル内に完全な一致がある場合だけです。
R101 で auto-summary が有効になっている場合、ルータはクラスフルネットワーク 172.16.0.0/16 を R102 にアナウンスできません。
R101 が 172.16.0.0/16 を R102 にアナウンスするかどうかを確認します。ここに示す出力では、R101 が 172.16.0.0/16 を R102 にアナウンスしないことが確認できます。
R101#show ip bgp neighbors 10.10.10.2 advertised-routes
Total number of prefixes 0
R101#
設定が実行されているかどうかを確認します。この例では、R101 はクラスフル ネットワーク文で設定されることを示しています。オート サマリーは、このシナリオのために使われた Cisco IOS ソフトウェア バージョンではデフォルトでイネーブルになっています。
R101#show running-config | begin bgp router bgp 1 network 172.16.0.0 neighbor 10.10.10.2 remote-as 2 [...]
ルーティングテーブルに network172.16.0.0/16 のコンポーネントルート(クラスフルルートまたはサブネットルート)があるかどうかを確認します。
R101#show ip route 172.16.0.0 255.255.0.0 longer-prefixes
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
R101#sh ip route 172.16.0.0 255.255.0.0 longer-prefixes
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
R101#
R101 IP ルーティングテーブルにはコンポーネントルート(クラスフルルートまたはサブネットルート)がないため、ネットワーク 172.16.0.0 は BGP テーブルにインストールされません。network コマンドで設定されるプレフィクスが BGP テーブルにインストールされる最低条件は、IP ルーティング テーブルにコンポーネント ルートを持つことです。そのため、R101 にネットワーク 172.16.0.0/16 のコンポーネントルートがあることを確認します。これは、ルートが IGP または静的設定を介してそれを学習した場合に実行されます。例では、スタティック ルートは null 0 に設定されています。
R101(config)#ip route 172.16.10.0 255.255.255.0 null0 200
IP ルーティング テーブルが 172.16.0.0/16 用のコンポーネント ルートを持つとすぐに、BGP はクラスフル ネットワークを BGP テーブルにインストールします。
R101#show ip route 172.16.0.0 255.255.0.0 longer-prefixes
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 1 subnets
S 172.16.10.0 is directly connected, Null0
BGP で変更を有効にし、ネットワーク 172.16.0.0/16 から R102 へのアナウンスを開始するには、BGP ネイバーを消去するか、ピアへのソフトリセットを行う必要があります。この例では、変更を有効にするためのピア 10.10.10.2 へのソフト リセット発信を示します。
R101#clear ip bgp 10.10.10.2 soft out R101#
show ip bgp コマンドは、クラスフル ネットワーク 172.16.0.0/16 が BGP に挿入されたことを示します。
R101#show ip bgp | include 172.16.0.0
*> 172.16.0.0 0.0.0.0 0 32768 i
R101#
R101 がルートを R102 にアナウンスすることを確認します。
R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 172.16.0.0 *> 172.16.0.0 0.0.0.0 0 32768 i
注:auto-summary を無効にすると、ルーティングテーブル内のルートと完全に一致する場合、BGP はネットワーク 172.16.0.0/16 をインストールします。サブネットルートは存在するものの、ルーティングテーブル内のルート(172.16.0.0/16)と完全に一致しない場合、BGP は BGP テーブルにネットワーク 172.16.0.0/16 をインストールしません。
メジャー ネット境界(255.0.0.0、255.255.0.0、または 255.255.255.0)に位置するネットワークにはマスクを含める必要はありません。たとえば、network 172.16.0.0 コマンドは、BGP テーブルにプレフィクス 172.16.0.0/16 を送信するのに十分です。ただし、メジャー ネット境界に位置しないネットワークは、network 172.16.10.0 mask 255.255.255.0 などのマスク付きのネットワーク文にする必要があります。
マスク付きのネットワーク文には、BGP テーブルにインストールされるように、ルーティング テーブル内の正確なルートが必要です。
R101 は、ネットワーク 172.16.10.0/24 を R102 にアナウンスすることができません。
R101 が 172.16.10.0/24 プレフィクスを R102 にアナウンスしたかどうかを確認します。
R101#show ip bgp neighbors 10.10.10.2 advertised-routes R101#
または
このコマンドを使用して、ルートがアドバタイズされているかどうかを確認できます。
R101#show ip bgp 172.16.10.0/24 R101# BGP routing table entry for 172.16.10.0/24, version 24480684 Bestpath Modifiers: deterministic-med Paths: (4 available, best #3) Not advertised to any peer
この出力では、R101 が 192.168.32.0/22 を R102 にアナウンスしていないことが確認できます。
2. 設定が実行されているかどうかを確認します。
R101#show run | begin bgp router bgp 1 network 172.16.10.0
注:ネットワーク 172.16.10.0/24 を発信する必要があります。このネットワークは クラス B ネットワーク(255.255.0.0)の境界に位置しません。マスク 255.255.255.0 付きのネットワーク文をそれが動作するように設定する必要があります。
3. マスクを含むネットワークステートメントを設定した後、show run コマンドを実行すると、次のような出力が表示されます。
R101#show run | begin bgp router bgp 1 network 172.16.10.0 mask 255.255.255.0
このルートが BGP ルーティング テーブル内にあるかどうかを確認します。
R101#show ip bgp | include 172.16.10.0 R101#
ネットワーク 172.16.10.0/24 は、BGP テーブルには存在しません。
IP ルーティング テーブルに正確なルートが存在するかどうかを確認します。表示された出力は、ルーティング テーブルに正確なルートが存在しないことを示します。
R101#show ip route 172.16.10.0 255.255.255.0 % Network not in table R101#
発信させるルートをどれにするのかを決定します。次に、IGP を修正するか、静的ルートを設定します。
R101(config)#ip route 172.16.10.0 255.255.255.0 null0 200
IP ルーティング テーブルをチェックします。
R101#show ip route 172.16.10.0 255.255.255.0 longer-prefixes [..] 172.16.0.0/24 is subnetted, 1 subnets S 172.16.10.0 is directly connected, Null0
BGP テーブルにルートが存在することを確認します。
R101#show ip bgp | include 172.16.10.0 *> 172.16.10.0/24 0.0.0.0 0 32768 i
BGP で変更を有効にし、ネットワーク 172.16.10.0/24 から R102 へのアナウンスを開始するには、BGP ネイバーを消去するか、ピアへのソフトリセットを行う必要があります。この例は、ピア 10.10.10.2 へのソフト リセット発信を使用します。
R101#clear ip bgp 10.10.10.2 soft out
ルートが R102 にアドバタイズされていることを確認します。
R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 172.16.10.0 *> 172.16.10.0/24 0.0.0.0 0 32768 i
BGPでは、aggregate-address <address> <mask>コマンドを使用して、特定の経路を1つの経路に集約できます。集約は、BGP ルーティング テーブル内に存在するルートに適用されます。これは、IP ルーティング テーブル内に存在するルートに適用される network コマンドとは対照的です。集約は、BGP ルーティング テーブル内に集約アドレスの特定のルートが少なくとも 1 つ以上存在する場合に実行できます。BGP 集約と関連する属性の詳細については、「BGP でのルート集約について」を参照してください。
このネットワーク ダイアグラムで、R101 は集約アドレス 192.168.32.0/22 を R102 にアナウンスできません。ネットワーク 192.168.32.0/22 は、次の 3 つのクラス C アドレス レンジを集約します。
192.168.33.0/24
192.168.35.0/24
192.168.35.0/24
R101 が 192.168.32.0/22 を R102 にアナウンスしていないことを確認します。
R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0 R101#
設定が実行されているかどうかを確認します。
router bgp 1 [..] aggregate-address 192.168.32.0 255.255.252.0 summary-only neighbor 10.10.10.2 remote-as 2
R101 は、summary-only 属性を使用して集約アドレスのみを R102 にアナウンスするように設定されています。
3. IP ルーティングテーブルを確認します。
R101#show ip route 192.168.32.0 255.255.252.0 longer-prefixes [..] S 192.168.33.0/24 is directly connected, Null0
IP ルーティングテーブルには、集約 192.168.32.0/22 のコンポーネントルートがあります。ただし、集約アドレスをピアにアナウンスするには、コンポーネントルートが IP ルーティングテーブルではなく BGP ルーティングテーブルに存在している必要があります。IP ルーティングテーブルには、集約 192.168.32.0/22 のコンポーネントルートがあります。ただし、集約アドレスをピアにアナウンスするには、コンポーネントルートが IP ルーティングテーブルではなく BGP ルーティングテーブルに存在している必要があります。
4. コンポーネントルートが BGP ルーティングテーブルに存在するかどうかを確認します。
R101#show ip bgp 192.168.32.0 255.255.252.0 longer R101#
BGP テーブルにコンポーネント ルートが存在しないことが出力に示されるので、論理的な次のステップとして、BGP テーブルにコンポーネント ルートを確実に含める必要があります。
次の例では、コンポーネントルート192.168.33.0がnetworkコマンドによってBGPテーブルにインストールされています。
R101(config)#router bgp 1 R101(config-router)#network 192.168.33.0
コンポーネント ルートが BGP テーブル内に存在するかどうかを確認します。
R101#show ip bgp 192.168.32.0 255.255.252.0 longer-prefixes BGP table version is 8, local router ID is 10.10.20.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 192.168.32.0/22 0.0.0.0 32768 i s> 192.168.33.0 0.0.0.0 0 32768 i R101#
s は、summary-only 引数が原因でコンポーネントルートが抑制されることを意味します。
集約が R102 にアナウンスされることを確認します。
R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0/22 *> 192.168.32.0/22 0.0.0.0
同期が有効になっている BGP ルータは、iBGP で学習したルートをその IGP で検証できない場合、それらのルートを他の eBGP ピアにアドバタイズしません。IGP には iBGP で学習したルートへのルートがあり、ルータは iBGP ルートを eBGP ピアにアナウンスします。それ以外の場合、ルータはそのルートを IGP と同期していないものとして扱い、アドバタイズしません。 BGP が IGP で iBGP ルート検証を行わないようにするには、ルータ BGP で no synchronization コマンドを使用して同期を無効にします。詳細は、『BGP ケース スタディ』の「同期」セクションを参照してください。
次の図では、R101 は iBGP を介して R103 からプレフィックス 10.130.130.0/24 を学習しており、それを eBGP ピア R102 にアナウンスできません。
まず、R101 をチェックします。
R101#show ip bgp neighbors 10.10.20.2 advertised-routes | include 10.130.130.0 R101#
この出力は、R101 がプレフィックス 10.254.255.255/24 を R102 にアナウンスしていないことを確認しています。
R101 にある BGP テーブルを確認します。
R101#show ip bgp 10.130.130.0 255.255.255.0 longer BGP table version is 4, local router ID is 10.10.20.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * i10.130.130.0/24 10.10.20.3 0 100 0 i R101#
ネットワーク 10.130.130.0/24 は、BGP テーブル内に存在します。しかしネットワーク 10.130.130.0/24 には、最適ルートのステータスコード(>)がありません。これは、BGP で最適パスを選択するアルゴリズムがこのプレフィクスを最適なパスとして選択しなかったことを意味します。ベストパスのみが BGP ピアにアナウンスされるため、ネットワーク 10.130.130.0/24 は R102 にアナウンスされません。次に、BGP パス選択基準がこのネットワークを最適なルートとして選択しなかった理由をトラブルシューティングする必要があります。
show ip bgp prefix コマンドの出力を検討して、プレフィクスが最適なルートとして選択されず、また IP ルーティング テーブルにもインストールされなかったことの詳細を探ります。
R101#show ip bgp 10.130.130.0 BGP routing table entry for 10.130.130.0/24, version 4 Paths: (1 available, no best path) Not advertised to any peer Local 10.10.20.3 from 10.10.20.3 (10.130.130.3) Origin IGP, metric 0, localpref 100, valid, internal, not synchronized
出力は、プレフィックス 10.130.130.0/24 が同期されていないことを示しています。
注:Cisco Bug ID CSCdr90728(BGPパスが同期されないものとしてマークされていない)を特定する前は、show ip bgp prefix コマンドはパスが同期されないものとしてマークされていることを示していませんでした。この問題は、Cisco IOS ソフトウェア リリース 12.1(4) 以降では修正されています。
2. BGP 設定が実行されているかどうかを確認します。
この出力は、BGP 同期が有効になっていることを示しています。Cisco IOS ソフトウェアでは、デフォルトで BGP 同期がイネーブルになっています。
R101#show ip protocols Routing Protocol is "bgp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set IGP synchronization is enabled Automatic route summarization is disabled Neighbor(s): Address FiltIn FiltOut DistIn DistOut Weight RouteMap 10.10.10.2 10.10.20.3 Maximum path: 1 Routing for Networks: Routing Information Sources: Gateway Distance Last Update 10.10.20.3 200 01:48:24 Distance: external 20 internal 200 local 200
3. BGP の同期を無効にします。ルータ BGP で no synchronization コマンドを発行します。
R101(config)#router bgp 1 R101(config-router)#no synchronization R101#show ip protocols Routing Protocol is "bgp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set IGP synchronization is disabled Automatic route summarization is disabled Neighbor(s): Address FiltIn FiltOut DistIn DistOut Weight RouteMap 10.10.10.2 10.10.20.3 Maximum path: 1 Routing for Networks: Routing Information Sources: Gateway Distance Last Update 10.10.20.3 200 01:49:24 Distance: external 20 internal 200 local 200
60 秒ごとに BGP テーブルをスキャンし、BGP パスの選択基準に基づいて決定を行う BGP スキャナの次回の実行時に、ネットワーク 10.130.130.0 がインストールされます(同期が無効になっているため)。つまり、ルートのインストールにかかる最長時間は 60 秒ですが、no synchronization コマンドがいつ設定されたか、および BGP スキャナの次のインスタンスがいつ発生するかによって、これよりも短くなる可能性があります。そのため、次の検証ステップまで 60 秒待つことをお勧めします。
ルートがインストールされていることを確認します。
次の出力では、プレフィックス 10.130.130.0/24 は最適なルートであることが確認されたため、IP ルーティングテーブルにインストールされ、ピア 10.10.10.2 に伝播されます。
R101#show ip bgp 10.130.130.0 BGP routing table entry for 10.254.255.255/24, version 5 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.10.10.2 Local 10.10.20.3 from 10.10.20.3 (10.130.130.3) Origin IGP, metric 0, localpref 100, valid, internal, best R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 10.130.130.0/24 *>i10.130.130.0/24 10.10.20.3 0 100 0 i
ルータが 2 つのリンクで接続されており、ルートが BGP とフローティング スタティック ルート経由で学習されている場合、フローティング スタティック ルートがルーティング テーブルにインストールされます。これは、BGP ルートに障害が発生して、スタティック ルートが再配布された場合に発生します。BGP ルートがオンラインに戻る場合、ルーティング テーブル内のフローティング スタティック ルートは BGP ルートを反映して変更されることがありません。
この問題は、BGP プロセスで redistribute static コマンドを削除して、BGP ルート経由のフローティング スタティック ルートのプライオリティ設定を回避した場合に解決できます。
改定 | 発行日 | コメント |
---|---|---|
2.0 |
07-Aug-2023 |
SEO、免責事項、代替テキスト、およびフォーマットを更新。 |
1.0 |
13-Feb-2002 |
初版 |