OSPFルーティングインスタンスの設定
OSPFルーティングインスタンスについて
ルーティングインスタンスは、ルーティングテーブル、インターフェイス、ルーティングプロトコルパラメーターの集合です。一連のインターフェイスはルーティングテーブルに属し、OSPFルーティングプロトコルパラメーターがルーティングテーブル内の情報を制御します。さらに、OSPFルーティングインスタンスから学習したルートを、OSPFルーティングテーブルグループのルーティングテーブルにインストールすることができます。
デフォルトのルーティングインスタンスであるプライマリは、メイン inet.0 ルーティングテーブルを指します。プライマリ ルーティング インスタンスは予約されており、ルーティング インスタンスとして指定することはできません。
以下のタイプのルーティングインスタンスを設定できます。
OSPFv2— 転送、レイヤー 2 VPN(仮想プライベート ネットワーク)、非転送、VPN ルーティングおよび転送(VRF)、仮想ルーター、VPLS(仮想プライベート LAN サービス)
OSPFv3—非転送、VRF、仮想ルーター。
各ルーティング インスタンスには、一意の名前と対応する IP ユニキャスト テーブルがあります。たとえば、 my-instance という名前でルーティング インスタンスを設定すると、対応する IP ユニキャスト テーブルは my-instance.inet.0 になります。 my-instance のすべてのルートは my-instance.inet.0 にインストールされます。
また、OSPFの複数のルーティングインスタンスを設定することもできます。
OSPFv2の最小ルーティングインスタンス設定
OSPFv2のルーティングインスタンスを設定するには、設定に少なくとも以下のステートメントを含める必要があります。
[edit] routing-instances { routing-instance-name { interface interface-name; instance-type (forwarding | l2vpn | no-forwarding | virtual-router | vpls | vrf); route-distinguisher (as-number:number | ip-address:number); vrf-import [ policy-names ]; vrf-export [ policy-names ]; protocols { ospf { ... ospf-configuration ... } } } }
論理インターフェイスは、1つのルーティングインスタンスでのみ設定できます。
OSPFv3の最小ルーティングインスタンス設定
OSPFv3のルーティングインスタンスを設定するには、設定に少なくとも以下のステートメントを含める必要があります。
[edit] routing-instances { routing-instance-name { interface interface-name; instance-type (no-forwarding | virtual-router | vrf); vrf-import [ policy-names ]; vrf-export [ policy-names ]; protocols { ospf3 { ... ospf3-configuration ... } } } }
論理インターフェイスは、1つのルーティングインスタンスでのみ設定できます。
OSPF の複数のルーティング インスタンス
レイヤー 3 VPN 実装には、OSPF の複数のインスタンスが使用されます。OSPF の複数のインスタンスでは、異なる VPN のルーティング情報は別々に保持されます。VRFインスタンスは、カスタマーエッジ(CE)ルーターからプロバイダーエッジ(PE)ルーターへのルートをアドバタイズし、PEルーターからCEルーターへのルートをアドバタイズします。各VPNは、そのVPNに属するルーティング情報のみを受信します。
以下の階層レベルでステートメントを含めることで、OSPFの複数のインスタンスを作成することができます。
[edit routing-instances routing-instance-name (ospf | ospf3)]
[edit logical-systems logical-system-name routing-instances routing-instance-name (ospf | ospf3)]
OSPF ルーティング インスタンスからのルートを OSPF ルーティング テーブル グループにインストールする
OSPF ルーティング インスタンスから学習したルートを OSPF ルーティング テーブル グループのルーティング テーブルにインストールするには、 ステートメントを rib-group
含めます。
rib-group group-name;
このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要セクションを参照してください。
例:OSPF の複数のルーティング インスタンスの設定
この例では、OSPFの複数のルーティングインスタンスを設定する方法を示しています。
要件
開始する前に、以下を行います。
デバイス インターフェイスを設定します。 ルーティングデバイス用Junos OSネットワークインターフェイスライブラリを参照してください。
OSPF ネットワーク内のデバイスのルーター識別子を設定します。 例: OSPF ルーター識別子の設定を参照してください。
OSPF 指定ルーターの選択を制御します。例:OSPF 指定ルーター選択の制御を参照してください。
概要
OSPFの複数のルーティングインスタンスを設定する場合、以下のタスクを実行することをお勧めします。
ネットワークに必要なステートメントを使用して、 および
[edit logical-systems logical-system-name protocols (ospf | ospf3)]
階層レベルで[edit protocols (ospf | ospf3)]
OSPFv2またはOSPFv3のデフォルトインスタンスを設定し、ルートがinet.0と転送テーブルにインストールされるようにします。 ルーティング テーブル グループを含める必要があります。追加の OSPFv2 または OSPFv3 ルーティング エンティティごとに OSPFv2 または OSPFv3 ルーティング インスタンスを設定し、以下を設定します。
インターフェイス
ルーティング オプション
そのエンティティに属するOSPFプロトコルステートメント
ルーティング テーブル グループ
デフォルトのルートテーブル inet.0からルーティングインスタンスのルートテーブルにルートをインストールするようにルーティングテーブルグループを設定します。
ルーティングインスタンスからデフォルトのルートテーブル inet.0にルートをインストールするようにルーティングテーブルグループを設定します。
メモ:非転送ルーティング インスタンスには、ルーティング テーブルに対応する転送テーブルがありません。
特定のタグでルートをエクスポートするエクスポートポリシーを作成し、そのタグを使用してルートをインスタンスにエクスポートし直します。詳細については、 ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイドを参照してください。
図 1 は、OSPFv2 または OSPFv3 の複数のルーティング インスタンスを使用して、大規模なネットワーク内でプレフィックスを分離する方法を示しています。ネットワークは、音声ポリシー、その他のポリシー、デフォルトのルーティング インスタンスという 3 つの管理エンティティで構成されています。各エンティティは、バックボーンで接続され、バックボーン エンティティによって管理される複数の地理的に分離されたサイトで構成されています。
トポロジ
サイト A と D は、 音声ポリシー ルーティング インスタンスに属します。サイト B と C は、 もう一方のポリシー インスタンスに属します。バックボーンのエッジにあるデバイス1とデバイス3が、ルーティングインスタンスを接続します。各インスタンスは、個別の OSPF または OSPFv3 インスタンスを実行します(エンティティごとに 1 つ)。
デバイス 1 では、3 つの OSPFv2 または OSPFv3 インスタンス(サイト A(voice-policy)、サイト C(その他のポリシー)、バックボーン(デフォルト インスタンス)にそれぞれ 1 つずつ実行されます。また、デバイス 3 は、サイト B(他のポリシー)、サイト D(voice-policy)、バックボーン(デフォルト インスタンス)にそれぞれ 1 つずつ、3 つの OSPFv2 または OSPFv3 インスタンスを実行します。
デバイス1がOSPFv2またはOSPFv3インスタンスを実行すると、以下が発生します。
デフォルトのインスタンスルーティングテーブルからのルートは、voice-policyおよび他のポリシーインスタンスルーティングテーブルに配置されます。
voice-policy ルーティング インスタンスからのルートは、デフォルトのインスタンス ルーティング テーブルに配置されます。
もう一方のポリシールーティングインスタンスからのルートは、デフォルトのインスタンスルーティングテーブルに配置されます。
voice-policy ルーティング インスタンスからのルートは、他方のポリシー インスタンス ルーティング テーブルに入りません。
もう一方のポリシー ルーティング インスタンスからのルートは、voice-policy インスタンス ルーティング テーブルに入りません。
構成
手順
CLI クイックコンフィギュレーション
OSPFの複数のルーティングインスタンスを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、[edit]階層レベルでCLIにコマンドをコピーアンドペーストして、設定モードから を入力 commit
します。
デバイス1の設定:
[edit] set routing-instances voice-policy interface so-2/2/2 set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-2/2/2 set routing-instances other-policy interface so-4/2/2 set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-4/2/2 set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ] set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ] set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ] set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-2/2/2 set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-4/2/2
デバイス3の設定:
[edit] set routing-instances voice-policy interface so-3/2/2 set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-3/2/2 set routing-instances other-policy interface so-5/2/2 set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-5/2/2 set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ] set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ] set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ] set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-3/2/2 set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-5/2/2
手順
OSPFの複数のルーティングインスタンスを設定するには:
voice-policy と other-policy のルーティング インスタンスを設定します。
メモ:OSPFv3を指定するには、 階層レベルに
ospf3
ステートメントを[edit routing-instances protocols]
含めます。[edit] user@D1# set routing-instances voice-policy interface so-2/2/2 user@D1# set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-2/2/2 user@D1# set routing-instances other-policy interface so-4/2/2 user@D1# set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-4/2/2
[edit] user@D3# set routing-instances voice-policy interface so-3/2/2 user@D3# set routing-instances voice-policy protocols ospf rib-group voice-to-inet area 0.0.0.0 interface so-3/2/2 user@D3#set routing-instances other-policy interface so-5/2/2 user@D3# set routing-instances other-policy protocols ospf rib-group other-to-inet area 0.0.0.0 interface so-5/2/2
ルーティングテーブルグループ inet-to-voice-and-other を設定して、 inet.0 (デフォルトルーティングテーブル)からルートを取得し、 voice-policy.inet.0 および other-policy.inet.0 ルーティングテーブルに配置します。
[edit] user@D1# set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ]
[edit] user@D3# set routing-options rib-groups inet-to-voice-and-other import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ]
ルーティング テーブル グループ voice-to-inet が voice-policy.inet.0 からルートを取得し、 inet.0 デフォルト ルーティング テーブルに配置するように設定します。
[edit] user@D1# set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ]
[edit] user@D3# set routing-options rib-groups voice-to-inet import-rib [ voice-policy.inet.0 inet.0 ]
ルーティング テーブル グループ other-to-inet を設定して、 other-policy.inet.0 からルートを取得し、 inet.0 デフォルト ルーティング テーブルに配置します。
[edit] user@D1# set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ]
[edit] user@D3# set routing-options rib-groups other-to-inet import-rib [ other-policy.inet.0 inet.0 ]
デフォルトのOSPFインスタンスを設定します。
メモ:OSPFv3を指定するには、 階層レベルに
ospf3
ステートメントを[edit routing-instances protocols]
含めます。[edit] user@D1# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-2/2/2 user@D1# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-4/2/2
[edit] user@D3# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-3/2/2 user@D3# set protocols ospf rib-group inet-to-voice-and-other area 0.0.0.0 interface so-5/2/2
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
結果
、 show routing-options
、 コマンドをshow routing-instances
入力して、設定をshow protocols ospf
確認します。出力結果に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
デバイス1の設定:
user@D1# show routing-instances voice-policy { interface so-2/2/2.0; protocols { ospf { rib-group voice-to-inet; area 0.0.0.0 { interface so-2/2/2.0; } } } } other-policy { interface so-4/2/2.0; protocols { ospf { rib-group other-to-inet; area 0.0.0.0 { interface so-4/2/2.0; } } } }
user@D1# show routing-options rib-groups { inet-to-voice-and-other { import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ]; } voice-to-inet { import-rib [ voice-policy.inet.0 inet.0 ]; } other-to-inet { import-rib [ other-policy.inet.0 inet.0 ]; } }
user@D1# show protocols ospf rib-group inet-to-voice-and-other; area 0.0.0.0 { interface so-2/2/2.0; interface so-4/2/2.0; }
デバイス3の設定:
user@D3# show routing-instances voice-policy { interface so-3/2/2.0; protocols { ospf { rib-group voice-to-inet; area 0.0.0.0 { interface so-3/2/2.0; } } } } other-policy { interface so-5/2/2.0; protocols { ospf { rib-group other-to-inet; area 0.0.0.0 { interface so-5/2/2.0; } } } }
user@D3# show routing-options rib-groups { inet-to-voice-and-other { import-rib [ inet.0 voice-policy.inet.0 other-policy.inet.0 ]; } voice-to-inet { import-rib [ voice-policy.inet.0 inet.0 ]; } other-to-inet { import-rib [ other-policy.inet.0 inet.0 ]; } }
user@D3# show protocols ospf rib-group inet-to-voice-and-other; area 0.0.0.0 { interface so-3/2/2.0; interface so-5/2/2.0; }
OSPFv3 の設定を確認するには、 、 、 show routing-options
および コマンドをshow routing-instances
show protocols ospf3
入力します。