Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

cRPDでのレイヤー3オーバーレイのサポート

概要

仮想ルーティングおよび転送(VRF)インスタンスは、オーバーレイ機能を提供するために、MPLSおよびマルチプロトコルBGPのサポートとともにcRPDでサポートされています。

ルーティング インスタンスは、ルーティング テーブル、インターフェイス、およびルーティング プロトコル パラメータの集合です。レイヤー 3 VPN を実装するには、VPN ごとに 1 つのルーティング インスタンスを構成します。VRF は Linux カーネル内のネットワーク デバイスであり、デバイスは table-id に関連付けられています。ルーティングインスタンスは、PEルーターでのみ設定します。Linux ネットワークで VRF を作成できます。VRF デバイスの実装は、レイヤー 3 以降にのみ影響します。各 VPN ルーティング インスタンスは、次のコンポーネントで構成されています。

  • VRF テーブル:各 PE ルーターで、VPN ごとに 1 つの VRF テーブルを設定します。

  • ポリシー ルール:VRF テーブルへのルートのインポートと VRF テーブルからのルートのエクスポートを制御します。

  • CE ルーターから VRF テーブルにルートをインストールする 1 つ以上のルーティング プロトコル—BGP、OSPF、および RIP ルーティング プロトコルを使用することができ、スタティック ルートも使用できます。

VRFデバイスが作成されると、ルーティングテーブルに関連付けられます。スレーブ デバイスを介して VRF に着信するパケットは、VRF デバイスに関連付けられたルーティングテーブルで検索されます。同様に、エグレス ルーティング ルールは、実際のインターフェイスでパケットを送信する前に VRF ドライバに送信するために使用されます。

VRFは、VRFの独立した転送テーブルに基づいて、ルートを管理し、トラフィックを転送するために使用されます。RPD は、タイプ vrf のルーティング インスタンスごとに複数のルーティング テーブルを作成します。テーブルは、各家族の住所ごとに 1 つです。VPN に参加している各 PE ルーターで、各 VPN のルーティング インスタンスを設定する必要があります。ルーティングインスタンスは、 [edit routing-instances] 階層を使用して設定できます。タイプ vrf のルーティング インスタンスは、cRPDでのみサポートされています。

[edit routing-instances routing-instance-name protocols]階層を使用して、VRF の下に BFD、BGP、IS-IS、OSPF バージョン 2(OSPF)、OSPF バージョン 3(OSPFv3)、および ICMP ルーター ディスカバリの複数のインスタンスを作成できます。edit routing-instances instance-name routing-options階層を使用してプロトコル非依存型ルーティングを設定できます。

レイヤー3オーバーレイは、cRPDで次のトンネリングプロトコルをサポートしています。

  • inet.3のスタティックルート

  • BGP ラベル付きユニキャスト

  • GRE トンネリング

  • MPLS 静的 LSP

  • プログラマブルRPD APIを使用してプログラムされたルート

  • MPLS対応インターフェイスでのdirect-ebgp-peering

VRFの下でのインターフェイスの設定

デバイスの奴隷化はRPDによって行われます。つまり、ルーティング インスタンスで設定されたインターフェイスは、カーネルに送信されたnetlinkメッセージを使用してRPDによってvrfデバイスに移行(奴隷化)されます。

インターフェイスがタイプ vrf のルーティング インスタンスで設定されている場合、そのようなリンクがカーネルから学習され、リンクが正しいテーブルに関連付けられていない場合、RPD はリンクをスレーブするためにネットリンク通知を送信します。リンクが存在しない場合、またはRPDがリンクについて学習していない場合、リンクが作成されるかRPDがそれについて学習するたびに、リンクは設定に基づいて正しくスレーブ化されます。

例:cRPDインスタンスでのレイヤー3 VPN(VRF)の設定

この例では、PE ルーターとルート リフレクターで VPNv4 ルート解決を行う例では、PE ルーターに、VRF テーブルへのルートのインポートと VRF テーブルからのルートのエクスポートを制御する特定のポリシーと、BGP ラベル付きユニキャストを使用して学習したネクストホップを設定します。この例では、トラフィックはCE1からCE2に流れます。

必要条件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • Ubuntuソフトウェアバージョン18.04

  • Linux カーネル バージョン 4.5 以降

  • cRPDソフトウェアリリースバージョン19.4R1以降

レイヤー 3 VPN(VRF)を設定する前に、以下の基本コンポーネントをインストールする必要があります。

  • cRPDインスタンスが作成されるホストOS上のMPLSモジュール。詳細については、「 ホスト OS で設定を構成する」を参照してください。

  • プロバイダー エッジルーター(PE1)、プロバイダー ルーター(P)、およびプロバイダエッジルーター(PE2)。インストールについては、 Docker への cRPD のインストールを参照してください。

概要

VPNv4 ルート解決を設定するには、VPN に参加している各 PE ルーター上の各 VPN に対して VRF タイプのルーティング インスタンスを設定し、それにスタティック ルートを追加する必要があります。 static ステートメントは、 vrfblue.inet.0 ルーティングテーブルにインストールされる静的ルートを設定します。Linux カーネルで作成されたすべての VRF デバイスに対応するループバック インターフェイスまたはデバイスはありません。ただし、ループバックホストアドレスはVRFデバイスに直接追加され、RPDで学習できます。

位相幾何学

図 1 に、レイヤー 3 VPN(VRF)トポロジーを示します

図 1:レイヤー 3 VPN(VRF)トポロジー Network topology diagram showing MPLS setup with CE1 and CE2 routers, PE1 and PE2 provider edge routers, P core router, and VRF blue instance.

構成

BGP LUによるPE1ルーターの設定

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。

  1. テーブル mpls.0 を作成します。

  2. ルートを受け入れるポリシーを設定します。

  3. PE1およびその他のルーティング インスタンスパラメータでVRFルーティング インスタンスを設定します。

  4. ルーターIDを設定します。

  5. BGP セッションを設定します。

  6. MPLSでインターフェイスを設定します。

業績

設定モードから、 show protocols bgp コマンドと show routing-instances コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから コミットを入力します。

BGP LU による P ルーターの設定

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。

  1. テーブル mpls.0 を作成します。

  2. ルートを受け入れるポリシーを設定します。

  3. BGP セッションを設定します。

  4. ルーターIDを設定します。

  5. MPLSでインターフェイスを設定します。

業績

設定モードから、 show protocols bgp コマンドと show policy-options コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

BGP LUによるPE2ルーターの設定

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。

  1. テーブル mpls.0 を作成します。

  2. ルートを受け入れるポリシーを設定します。

  3. PE2およびその他のルーティング インスタンスパラメータでVRFルーティング インスタンスを設定します。

  4. BGP セッションを設定します。

  5. ルーターIDを設定します。

  6. MPLSでインターフェイスを設定します。

業績

設定モードから、 show protocols bgp コマンドと show routing-instances コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

検証

PE1でのVPNv4解決の確認

目的

PE1でVPNv4ルートを検証するには:

アクション

動作モードから、 show route table vrfblue.inet.0 10.5.5.5 コマンドを入力します。

動作モードから、 show route table mpls.0 コマンドを入力します。

bash モードから、 ip route list table 5 5.5.5.5 コマンドを入力します。

bash モードから、 ip -f mpls route コマンドを入力します。

意味

PE1には、ネクストホップ10.4.4.4でPE2から学習したCE2への vrfblue.inet.0 ルートがあり、これはPルーターからのBGP LUを使用して解決されていることがわかります。

P での BGP LU の検証

目的

PでVPNv4ルートを検証するには:

アクション

bash モードから、 ip -f mpls route show コマンドを入力します。

動作モードから、 show route table mpls.0 コマンドを入力します。

意味

PからPE1およびPからPE2へのMPLSおよびVPNルートを表示できます。

PE2 での VPNv4 解決の検証

目的

PE2でVPNv4ルートを検証するには:

アクション

動作モードから、 show route table vrfblue.inet.0 10.1.1.1 コマンドを入力します。

動作モードから、 show route table mpls.0 コマンドを入力します。

bash モードから、 ip route list table 5 10.1.1.1 コマンドを入力します。

bash モードから、 ip -f mpls route コマンドを入力します。

意味

PE2 ルーターでは、PE1 は、ネクストホップを 10.2.2.2 とする VPNv4 プレフィックスとして 10.1.1.1 に関する BGP LU を使用して vrfblue.inet.0 VRF テーブルのルートを表示します。