Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Contrail での BGP ピアリングとルート交換のデバッグ

Contrail BGP ピアリングとルート交換でエラーが発生した場合は、このトピックのトラブルシューティングの手順とガイドラインを使用してください。

クラスタの例

このドキュメントの例では、次のように設定されている仮想クラスタについて言及しています。

BGP ルーターの検証

この手順を使用して、さまざまなイントロスペクトを起動し、システム内の BGP ルーターの設定を確認します。

この手順を使用して、さまざまなイントロスペクトを起動し、システム内の BGP ルーターの設定を確認します。

  1. BGP ルーターを検証します。

    設定されたすべての制御ノードと外部BGPルーターは、サンプルのノード設定を使用して次の場所から見ることができます。

    http: //<host ip address>:8082/bgp-routers

    手記:

    この手順全体を通して、 <host ip address> をシステムの正しい場所に置き換えて、システム内のセットアップを確認します。

    図1:サンプル出力、BGPルーター: Sample Output, BGP Routers:
  2. BGP ピアリングを検証します。

    次のステートメントを入力して、API サーバー上の bgp_router_refs オブジェクトをチェックし、サンプル設定のピアリングを検証します。

    http: //<host ip address>:8082/bgp-router/1da579c5-0907-4c98-a7ad-37671f00cf60

    図2:サンプル出力、BGPルーターリファレンス: Sample Output, BGP Router References:​
  3. 制御ノードに渡されるコマンドライン引数を確認します。

    制御ノードで、 ps aux | grep control-node を使用して、制御ノードに渡される引数を確認します。

    ホスト名は bgp-router 名です。ステップ 1 の手順を使用して、ホスト名に bgp-router 設定があることを確認します。

  4. BGPネイバー設定とBGPピアリング設定オブジェクトを検証します。

    http: //<host ip address>:8083/Snh_ShowBgpNeighborConfigReq?

    図3:サンプル出力、BGPネイバー設定: Sample Output, BGP Neighbor Config:

    http: //<host ip address>:8083/Snh_ShowBgpPeeringConfigReq?

    図4:サンプル出力、BGPピアリング設定: Sample Output, BGP Peering Config:
  5. サンプル設定で BGP ネイバーの状態を確認します。

    http: //<host ip address>:8083/Snh_BgpNeighborReq?ip_address=&domain=

    図5:サンプル出力、BGPネイバーの状態: Sample Output, BGP Neighbor States:

    ピアが確立された状態でない場合は、 last_errorflap_countを確認します。 last_state やlast_eventなど、出力に表示される情報を使用して、BGPステートマシンをデバッグします

    手記:

    表示される画像は、このページに収まるように切り捨てられています。コンソール画面では、水平方向にスクロールして、より多くの列とデータを表示できます。

ルート交換の検証

次の 2 つの仮想ネットワークは、ルート交換のサンプル デバッグ セッションで使用されます。

ルート交換を確認する手順の例

  1. サンプル システム内の各仮想ネットワークのルーティング インスタンスの存在を検証します。

    http ://<host ip address>:8083/Snh_ShowRoutingInstanceReq?name=

    手記:

    この例では、 <host ip address> をシステム上の制御ノードの正しい場所に置き換えます。

    図 6: サンプル出力、ルーティング インスタンスの表示: Sample Output, Show Routing Instance:

    サンプル出力では、ルーティング インスタンスで設定された import_targetexport_target を確認できます。また、テーブルに登録されている xmpp ピア (vroute)も表示されます。

    ユーザーは、必要なルーティング インスタンスの inet テーブルをクリックして、インスタンスに属するルートを表示できます。

    ステップ 2 の情報を使用して、ルートを検証します。

  2. サンプル設定で、特定のルーティング インスタンスのルートを検証します。

    http ://<host ip address>:8083/Snh_ShowRouteReq?x=default-domain:demo:vn1:vn1.inet.0

    次のサンプル出力(切り捨て)では、プロトコルの BGP パスとルートのソースを検証して、どの XMPP エージェントまたは vRouter がルートをプッシュしたかを確認できます。パス ソースが BGP の場合、ルートは BGPピア(別の制御ノード、または MXシリーズ ルーターなどの外部 BGP ルーター)から VRF テーブルにインポートされます。BGPパスは、パス選択順に表示されます。

    図7:サンプル出力、ルートの検証: Sample Output, Validate Route:

  3. l3vpnテーブルを検証します。

    http: //<host ip address>:8083/Snh_ShowRouteReq?x=bgp.l3vpn.0

    図 8: サンプル出力、L3vpnテーブルの検証: Sample Output, Validate L3vpn Table:

    次のサンプル出力は、各ルートのBGPパス属性を表示するために水平方向にスクロールされています。檄。

    拡張コミュニティ(コミュニティ列)によって、この VPN ルートがインポートされる VRF テーブルが決定されます。 origin_vn には、このルートが作成された仮想ネットワークと、ACL の適用に役立つ情報が表示されます

    ラベル(MPLS)列とトンネルカプセル化列は、データパス問題のデバッグに使用できます。

    図9:サンプル出力、L3vpnテーブルの検証、スクロール: Sample Output, Validate L3vpn Table, Scrolled:

ポリシーによるルート交換のデバッグ

このセクションでは、サンプル出力とサンプルのvn1およびvn2を使用して、ポリシーによるルート交換をデバッグする方法を示します。

  1. vn1 と vn2 のトラフィックを許可するネットワーク ポリシーを作成し、そのポリシーを仮想ネットワークに関連付けます。
    図 10: [Create Policy] ウィンドウ Create Policy Window
  2. ルーティングインスタンスのimport_target設定が正しいことを確認します。

    http: //<host ip address>:8083/Snh_ShowRoutingInstanceReq?name=

    図 11: サンプル出力、インポート ターゲットの検証: Sample Output, Validate Import Target:
  3. ルートが VRF からインポートされていることを確認します。

    BGPパスパス属性を使用して、パスのレプリケーションステータスを確認します。宛先 VRF からのルートを複製し、origin-vn を検証する必要があります。

    図12:サンプル出力、ルートインポート: Sample Output, Route Import:

MXシリーズ ルーターとのピアリングのデバッグ

このセクションでは、BGP MXシリーズピアの例を設定し、いくつかのトラブルシューティングシナリオを提供します。

  1. Contrail WebUI(eBGP)を使用して、MXシリーズBGPピアの制御ノードのグローバルAS番号を設定します。
    図 13: [Edit Global ASN] ウィンドウ Edit Global ASN Window
  2. MXシリーズ ルーターのeBGPピアを設定します。Contrail Web UI または Python プロビジョニングを使用します。
    図 14: [Create BGP Peer] ウィンドウ Create BGP Peer Window

    Python プロビジョニング ユーティリティを使用した MXシリーズ BGPピアの設定:

  3. Junos CLIを使用して、MXシリーズルーターに制御ノードピアを設定します。

不正なファミリによるBGPピアダウンエラーのデバッグ

この手順を使用して、 ファミリ の設定の不一致から発生するエラーを特定して解決します。

手記:

この例では、 http: //<host ip address>:の場所を使用しています。 <host ip address> を、ご使用の環境に適したアドレスに置き換えてください。

  1. BGPピアのUVEを確認します。

    http: //<host ip address>:8081/analytics/uves/bgp-peers

  2. リスト内のMXシリーズBGPピアを名前で検索します。

    サンプル出力では、 families はピアによってアドバタイズされたファミリーで、 configured_families はプロビジョニングされたものです。サンプル出力では、ピアに設定されたファミリに不一致があるため、ピアは確立された状態に移行しません。ピア UVE で確認できます。

    図 15: BGP ピア UVE Sample BGP Peer UVEの例
  3. Junos CLI を使用してMXシリーズルーターの設定を更新し、サンプルの families 不一致を修正します。

    set protocols bgp group contrail-control-nodes family inet-vpn unicast

  4. CLI 設定をコミットすると、ピアが立ち上がります。これをUVEで検証します。

    http: //<host ip address>:8081/analytics/uves/bgp-peers

    図 16: 確立された BGP ピア UVE Sample Established BGP Peer UVEのサンプル
  5. Junos CLIを使用して、MXシリーズルーターのピアステータスを確認します。

MXピアリング(iBGP)の設定

  1. グローバルASNを編集します。
    図 17: [Edit Global ASN] ウィンドウ Edit Global ASN Window
  2. Contrail WebUI または Python プロビジョニングを使用して、MXシリーズ IBGP ピアを設定します。
    図 18: [Create BGP Peer] ウィンドウ Create BGP Peer Window

    Python プロビジョニング ユーティリティを使用した MXシリーズ BGPピアの設定:

    python ./provision_mx.py --router_name mx--router_ip <ip address> --router_asn 64512 --api_server_ip <ip address> --api_server_port 8082 --oper add --admin_user admin --admin_password <password> --admin_tenant_name admin

  3. UVEからピアを検証します。

    http ://<host ip address>:8081/analytics/uves/bgp-peers

    図 19: 確立された IBGP ピア UVE Sample Established IBGP Peer UVEのサンプル
  4. 制御ノードのHTTPイントロスペクトページ(この例では8443)で同じ情報を確認できます。

    http: //<host ip address>:8083/Snh_BgpNeighborReq?ip_address=&domain=

    図 20: 確立された IBGP ピア イントロスペクト ウィンドウのサンプル Sample Established IBGP Peer Introspect Window

MXシリーズピアとのルート交換の確認

  1. bgp.l3vpn.0テーブルのルートテーブルを確認します。
    図 21: ルーティング インスタンス ルート テーブル Routing Instance Route Table
  2. パブリック仮想ネットワークを構成します。
    図 22: ルーティング インスタンス ルート テーブル Routing Instance Route Table
  3. public.inet.0テーブル内のルートを確認します。

    http: //<host ip address>:8083/Snh_ShowRouteReq?x=default-domain:admin:public:public.inet.0

    図 23: ルーティング インスタンス パブリック IPv4 ルート テーブル Routing Instance Public IPv4 Route Table
  4. パブリックネットワークで仮想マシンを起動し、public.inet.0テーブルでルートを確認します。

    http: //<host ip address>:8083/ Snh_ShowRouteReq?x=default-domain:admin:public:public.inet.0

    図 24: 仮想マシン ルーティング インスタンスのパブリック IPv4 ルート テーブル Virtual Machine Routing Instance Public IPv4 Route Table
  5. bgp.l3vpn.0テーブルでルートを確認します。

    http: //<host ip address>:8083/Snh_ShowRouteReq?x=bgp.l3vpn.0

    図 25: BGP ルーティング インスタンス ルート テーブル BGP Routing Instance Route Table

MXシリーズ ルーターでルートを確認する

ルーターからJunos CLI showコマンドを使用して、ルートを確認します。