レイヤー 3 VPN 向け GRE トンネル
レイヤー 3 VPN の GRE トンネルの設定
Junos OS では、レイヤー 3 VPN の PE ルーターと CE ルーター間の GRE(一般ルーティング カプセル化)トンネルを設定できます。GRE トンネルには、1 つ以上のホップを含めることができます。PE ルーターからローカル CE ルーター( 図 1 を参照)またはリモート CE ルーター( 図 2 を参照)へのトンネルを設定できます。
トンネルインターフェイスを設定する方法の詳細については、 ルーティングデバイス用Junos OSサービスインターフェイスライブラリを参照してください。
GRE トンネルを手動で設定することも、Junos OS を設定して GRE トンネルを動的にインスタンス化することもできます。
以下のセクションでは、手動および動的に GRE トンネルを設定する方法について説明します。
PE と CE ルーター間の GRE トンネルの手動設定
以下のセクションで説明するように、PE ルーターとローカル CE ルーター、またはリモート CE ルーターのレイヤー 3 VPN 間の GRE トンネルを手動で設定できます。
PE ルーターでの GRE トンネル インターフェイスの設定
GRE トンネルを PE ルーターの論理インターフェイスとして設定します。GRE トンネル インターフェイスを設定するには、 ステートメントを unit
含めます。
unit logical-unit-number { tunnel { source source-address; destination destination-address; routing-instance { destination routing-instance-name; } } family inet { address address; } }
以下の階層レベルでこのステートメントを含めることができます。
[edit interfaces interface-name]
[edit logical-systems logical-system-name interfaces interface-name]
GRE トンネル インターフェイス設定の一環として、以下のステートメントを含める必要があります。
source source-address
—GRE トンネル(通常は PE ルーター)の送信元または送信元を指定します。destination destination-address
— GRE トンネルの宛先またはエンドポイントを指定します。宛先は、プロバイダルーター、ローカルCEルーター、またはリモートCEルーターです。
デフォルトでは、トンネル宛先アドレスはデフォルトのインターネットルーティングテーブルinet.0と見なされます。トンネル宛先アドレスがinet.0にない場合、 ステートメントを設定してトンネル宛先アドレスを検索するルーティングテーブルを指定する routing-instance
必要があります。これは、ルーティング インスタンスの下でトンネルカプセル化インターフェイスも設定されている場合に当てはまるのです。
destination
routing-instance-name
—PE ルーターで GRE トンネル インターフェイスを設定する際に、ルーティング インスタンスの名前を指定します。
GRE トンネル インターフェイスの設定を完了するには、適切なルーティング インスタンスの下に GRE インターフェイスの ステートメントを含 interface
めます。
interface interface-name;
以下の階層レベルでこのステートメントを含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
CE ルーターでの GRE トンネル インターフェイスの設定
GRE トンネルのエンドポイントとして機能するように、ローカルまたはリモート CE ルーターのいずれかを設定できます。
CE ルーターで GRE トンネル インターフェイスを設定するには、 ステートメントを unit
含めます。
unit logical-unit-number { tunnel { source address; destination address; } family inet { address address; } }
以下の階層レベルでこのステートメントを含めることができます。
[edit interfaces interface-name]
[edit logical-systems logical-system-name interfaces interface-name]
GRE トンネルの動的な設定
ルーターがBGPネクストホップアドレスへのVPNルートを受信したが、MPLSパスが利用できない場合、GREトンネルを動的に生成してBGPネットワーク上でVPNトラフィックを伝送できます。GRE トンネルが生成され、そのルーティング情報が inet.3 ルーティング テーブルにコピーされます。IPv4 ルートは、動的 GRE トンネルでサポートされる唯一のタイプのルートです。また、ルーティングプラットフォームにはトンネルPICが必要です。
リモートCEルーターに動的GREトンネルを設定する場合、トンネルインターフェイス上でOSPFを設定しないでください。ルーターがGREトンネルをダウンさせるルーティングループを作成します。ルーターは GRE トンネルの再確立を試みますが、OSPF がトンネル インターフェイスでアクティブになり、トンネル エンドポイントへのルートを発見した場合、再び GRE トンネルをダウンさせる必要があります。リモートCEルーターへの静的GREトンネルを設定する場合、これは問題ではありません。
GRE トンネルを動的に生成するには、 ステートメントを dynamic-tunnels
含めます。
dynamic-tunnels tunnel-name { destination-networks prefix; source-address address; }
以下の階層レベルでこのステートメントを含めることができます。
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
ステートメントを含めて、宛先ネットワークのIPv4プレフィックス範囲(10/8や11.1/16など)を destination-networks
指定します。指定された IPv4 プレフィックス範囲内のトンネルのみが開始できます。
destination-networks prefix;
以下の階層レベルでこのステートメントを含めることができます。
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
ステートメントを含めて、GRE トンネルの送信元アドレスを source-address
指定します。送信元アドレスは、ローカルトンネルエンドポイントの送信元として使用されるアドレスを指定します。これは、ルーター上の任意のローカルアドレス(通常はルーターIDまたはループバックアドレス)です。
source-address address;
以下の階層レベルでこのステートメントを含めることができます。
-
[edit routing-options]
-
[edit routing-instances routing-instance-name routing-options]
-
[edit logical-systems logical-system-name routing-options]
-
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
「」も参照
PE ルーター間の GRE トンネル インターフェイスの設定
この例では、VPN接続を提供するために、PEルーター間の一般ルーティングカプセル化(GRE)トンネルインターフェイスを設定する方法を示しています。この設定を使用して、MPLS 以外のコア ネットワーク上で VPN トラフィックをトンネリングできます。この例で使用するネットワーク トポロジーを 図 3 に示します。この図に示す P ルーターは MPLS を実行しません。
設定情報については、以下のセクションを参照してください。
- ルーターAのルーティングインスタンスの設定
- ルーターDでのルーティングインスタンスの設定
- ルーターAでのMPLS、BGP、OSPFの設定
- ルーターDでのMPLS、BGP、OSPFの設定
- ルーターAのトンネルインターフェイスの設定
- ルーターDでのトンネルインターフェイスの設定
- ルーターAのルーティングオプションの設定
- ルーターDのルーティングオプションの設定
- ルーターAの設定概要
- ルーターDの設定概要
ルーターAのルーティングインスタンスの設定
ルーターAでルーティングインスタンスを設定します。
[edit routing-instances] gre-config { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.176:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
ルーターDでのルーティングインスタンスの設定
ルーターDでルーティングインスタンスを設定します。
[edit routing-instances] gre-config { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.178:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
ルーターAでのMPLS、BGP、OSPFの設定
この例では、P ルーターに MPLS を設定する必要はありませんが、PE ルーターと CE ルーター間のインターフェイスと PE ルーター(ルーター A とルーター D)をリンクする GRE インターフェイス(gr-1/1/0.0
)に対して、PE ルーターで MPLS を設定する必要があります。ルーターAでMPLS、BGP、OSPFを設定します。
[edit protocols] mpls { interface all; } bgp { group pe-to-pe { type internal; neighbor 10.255.14.178 { family inet-vpn { unicast; } } } } ospf { area 0.0.0.0 { interface all; interface gr-1/1/0.0 { disable; } } }
ルーターDでのMPLS、BGP、OSPFの設定
この例では、P ルーターに MPLS を設定する必要はありませんが、PE ルーターと CE ルーター間のインターフェイスと PE ルーター(ルーター D とルーター A)をリンクする GRE インターフェイス(gr-1/1/0.0
)に対して、PE ルーターで MPLS を設定する必要があります。ルーターDでMPLS、BGP、OSPFを設定します。
[edit protocols] mpls { interface all; } bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } } ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface gr-1/1/0.0 { disable; } } }
ルーターAのトンネルインターフェイスの設定
ルーターAのトンネルインターフェイスを設定します(トンネルには番号が付けされていません)。
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.176; destination 10.255.14.178; } family inet; family mpls; }
ルーターDでのトンネルインターフェイスの設定
ルーターDのトンネルインターフェイスを設定します(トンネルには番号が付けされていません)。
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; }
ルーターAのルーティングオプションの設定
ルーターAのルーティングオプション設定の一環として、inet.3ルーティングテーブルでVPNルート解決を有効にするには、ルーティングテーブルグループを設定する必要があります。
ルーターAでルーティングオプションを設定します。
[edit routing-options] interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.178/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
ルーターDのルーティングオプションの設定
ルーターDのルーティングオプション設定の一環として、inet.3ルーティングテーブルでVPNルート解決を有効にするには、ルーティングテーブルグループを設定する必要があります。
ルーターDでルーティングオプションを設定します。
[edit routing-options] interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.176/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
ルーターAの設定概要
ルーティングインスタンスの設定
gre-config { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.176:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
MPLS を設定する
mpls { interface all; }
BGP を設定する
bgp { traceoptions { file bgp.trace world-readable; flag update detail; } group pe-to-pe { type internal; neighbor 10.255.14.178 { family inet-vpn { unicast; } } } }
OSPF を設定する
ospf { area 0.0.0.0 { interface all; interface gr-1/1/0.0 { disable; } } }
トンネル インターフェイスの設定
interface-name { unit 0 { tunnel { source 10.255.14.176; destination 10.255.14.178; } family inet; family mpls; } }
ルーティング オプションの設定
interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.178/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
ルーターDの設定概要
ルーティングインスタンスの設定
gre-config { instance-type vrf; interface fe-1/0/1.0; route-distinguisher 10.255.14.178:69; vrf-import import-config; vrf-export export-config; protocols { ospf { export import-config; area 0.0.0.0 { interface all; } } } }
MPLS を設定する
mpls { interface all; }
BGP を設定する
bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } }
OSPF を設定する
ospf { traffic-engineering; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } interface gr-1/1/0.0 { disable; } } }
トンネル インターフェイスの設定
interface-name { unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; } }
ルーティング オプションの設定
interface-routes { rib-group inet if-rib; } rib inet.3 { static { route 10.255.14.176/32 next-hop gr-1/1/0.0; } } rib-groups { if-rib { import-rib [ inet.0 inet.3 ]; } }
PE と CE ルーター間の GRE トンネル インターフェイスの設定
この例では、PE ルーターと CE ルーター間の GRE トンネル インターフェイスを設定する方法を示します。この設定を使用して、MPLS 以外のコア ネットワーク上で VPN トラフィックをトンネリングできます。この例で使用するネットワーク トポロジーを 図 4 に示します。
この例では、以下のセクションで説明されている手順を実行します。
カプセル化インターフェイスを使用しないルーティング インスタンスの設定
ルーティングインスタンスは、カプセル化インターフェイスの有無にかかわらず設定できます。以下のセクションでは、ルーティングインスタンスを設定せずに設定する方法について説明します。
ルーターPE1でのルーティングインスタンスの設定
ルーターPE1でルーティングインスタンスを設定します。
[edit routing-instances] vpna { instance-type vrf; interface gr-1/2/0.0; route-distinguisher 10.255.14.174:1; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna { type external; peer-as 100; as-override; neighbor 10.49.2.1; } } } }
ルーターPE1でのGREトンネルインターフェイスの設定
ルーターPE1のGREトンネルインターフェイスを設定します。
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.249; destination 192.168.197.250; } family inet { address 10.49.2.2/30; } }
この例では、インターフェイス t3-0/1/3
はGREトンネルのカプセル化インターフェイスとして機能します。
MPLSプロトコルファミリーが clear-dont-fragment-bit
有効になっているインターフェイスで ステートメントを設定する場合、MTU値を指定する必要があります。この MTU 値は、サポートされている最大値(9192)を超えてはなりません。
例えば:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
ルーターPE1でのカプセル化インターフェイスの設定
ルーターPE1でカプセル化インターフェイスを設定します。
[edit interfaces t3-0/1/3] unit 0 { family inet { address 192.168.197.249/30; } }
カプセル化インターフェイスを使用したルーティングインスタンスの設定
トンネルカプセル化インターフェイス、 t3-0/1/3
、 もルーティングインスタンスの下で設定されている場合、インターフェイス定義の下にそのルーティングインスタンスの名前を指定する必要があります。システムは、このルーティング インスタンスを使用してトンネル宛先アドレスを検索します。
ルーティングインスタンスをカプセル化インターフェイスで設定するには、次のセクションの手順を実行します。
ルーターPE1でのルーティングインスタンスの設定
ルーティングインスタンスの下でトンネルカプセル化インターフェイスを設定する場合、ルーターPE1でルーティングインスタンスを設定します。
[edit routing-instances] vpna { instance-type vrf; interface gr-1/2/0.0; interface t3-0/1/3.0; route-distinguisher 10.255.14.174:1; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna { type external; peer-as 100; as-override; neighbor 10.49.2.1; } } } }
ルーターPE1でのGREトンネルインターフェイスの設定
ルーターPE1のGREトンネルインターフェイスを設定します。
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.249; destination 192.168.197.250; routing-instance { destination vpna; } } family inet { address 10.49.2.2/30; } }
MPLSプロトコルファミリーが clear-dont-fragment-bit
有効になっているインターフェイスで ステートメントを設定する場合、MTU値を指定する必要があります。この MTU 値は、サポートされている最大値(9192)を超えてはなりません。
例えば:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
MPLSプロトコルファミリーが clear-dont-fragment-bit
有効になっているインターフェイスで ステートメントを設定する場合、MTU値を指定する必要があります。この MTU 値は、サポートされている最大値(9192)を超えてはなりません。
例えば:
user@host# show interfaces gr-1/2/0 unit 0 { clear-dont-fragment-bit; family inet { mtu 9100; address 10.10.1.1/32; } family mpls { mtu 9100; } }
ルーターPE1でのカプセル化インターフェイスの設定
ルーターPE1でカプセル化インターフェイスを設定します。
[edit interfaces t3-0/1/3] unit 0 { family inet { address 192.168.197.249/30; } }
ルーターCE1でのGREトンネルインターフェイスの設定
ルーターCE1のGREトンネルインターフェイスを設定します。
[edit interfaces gr-1/2/0] unit 0 { tunnel { source 192.168.197.250; destination 192.168.197.249; } family inet { address 10.49.2.1/30; } }