レイヤー3VPN用のネクストホップベースのトンネル
このトピックでは、トンネル複合ネクストホップをサポートするための、動的汎用ルーティングカプセル化(GRE)トンネルと動的MPLS-over-UDPトンネルの設定について説明します。また、なりすまし防止のためのリバース パス フォワーディングの設定方法についても説明します。
ネクストホップベースのMPLS-over-GRE動的トンネルの設定
ネクストホップベースの MPLS-over-GRE トンネルは、トンネルの宛先ルートを解決するために、トンネル複合ネクストホップ、間接ネクストホップ、および転送ネクストホップを作成します。ネクストホップベースのMPLS-over-GREトンネルと、ファイアウォールフィルターベースのトンネルのカプセル化解除を設定できます。
ACXシリーズでは、Junos OS Evolvedリリース24.2R1以降、[edit routing-options dynamic-tunnels]階層にgre next-hop-based-tunnelステートメントを含めることで、動的GREネクストホップベースのトンネルを設定できます。
[edit firewall family family-name filter filter-name term term-name then decapsulate] 階層レベルで gre ステートメントを含めることで、MPLS-over-GRE ファイアウォール フィルターベースのカプセル化解除を設定できます。ファイアウォールフィルタールールでは、カプセル化解除アクションのみがサポートされています。MPLS-over-GRE ファイアウォールのフィルターベースのカプセル化解除は、ファミリー inet でのみサポートされています。
[edit routing-options dynamic-tunnels statistics] 階層レベルで interval ステートメントを使用して特定の間隔を設定することで、カプセル化トンネルの統計情報を取得できます。また、show dynamic-tunnels database statistics コマンドを使用して統計情報を表示することもできます。
動的ネクストホップトンネルのカプセル化の設定
動的ネクストホップ トンネルのカプセル化を設定するには、[edit routing-options dynamic-tunnels] 階層レベルで gre next-hop-based-tunnel ステートメントを含める必要があります。
次に、MPLS-over-GRE カプセル化の設定例を示します。
[edit]
protocols {
bgp {
group IBGP {
type internal;
local-address 192.168.19.190;
family inet {
unicast;
}
}
neighbor 192.168.20.11;
}
}
routing-options {
dynamic-tunnels {
gre full-resolved-next-hop-based-tunnel;
gre next-hop-based-tunnel;
test_tunnel {
source-address 192.168.19.190;
gre;
destination-networks {
192.168.20.0/24 preference 4;
}
}
}
}
カプセル化解除のためのファイアウォールフィルターの設定
次の設定では、SIP、DIP、プロトコルを照合してトンネルパケットを照合します。ファイアウォールフィルターは、デフォルトのルーティング インスタンスにマッピングする必要があります。
このアクションにより、PFEはトンネルヘッダーを取り除き、内部ヘッダーに基づいて処理を続行するようにルーターをプログラムします。
forwarding-options {
family inet {
filter {
input f1;
}
}
}
firewall {
family inet {
filter f1 {
term t1 {
from {
source-address {
192.168.9.190/32;
}
destination-address {
10.255.10.11/32;
} }
then {
decapsulate {
gre;
}
}
}
term t2 {
then accept;
}
}
}
}
カプセル化統計の有効化
PFE には、パケットおよびバイト数レベルでカプセル化統計を提供する機能があります。バイト数の値には、カプセル化ヘッダーが含まれます。デフォルトでは、統計に使用されるカウンターは共有リソースであるため、トンネル カプセル化では統計情報は有効になりません。そのため、 encap-stats-enable CLIステートメントを設定して、カウンター割り当てを有効にする必要があります。
カプセル化統計を有効にするには、以下の CLI を設定します。
user@host# set system packet-forwarding-options tunnel encap-stats-enable
制限
以下に、ACXシリーズでネクストホップベースのMPLS-over-GRE動的トンネルを設定する際の制限を示します。
-
動的なネクストホップベースのトンネルの TTL 伝播はサポートされていません。
-
サービスクラスとMTUはサポートされていません。
-
トンネル発信ノードでカプセル化されたパケットのフローキャッシュが維持されないため、IPv4 と IPv6 の両方のカプセル化のパス MTU ディスカバリーはサポートされていません。
-
内部送信元 IP のトンネルのカプセル化解除時のアンチスプーフィングはサポートされていません。
-
ファイアウォールフィルタールールでは、
decapsulate mpls-in-udpとdecapsulate greのみがトンネルのカプセル化解除でサポートされます。受信コアインターフェイス上の他のファイアウォールフィルタールールは、データパスの制限によりサポートされていません。 -
ファイアウォールフィルターのカプセル化解除ルールは、デフォルトのVRFのみをサポートします。
-
トンネル複合ネクストホップレベルごとのトンネル統計はサポートされていません。
-
統計情報カウンターの割り当ては、先着順(FCFS)ベースです。システムの再起動または evo-pefmand の再起動時に、再起動後に一部のカウンタが 0 以外の値になり、カウンタが増加しない場合があります。
-
IPv4 の場合は /32、IPv6 の場合は /128 のプレフィックス・マスクは、カプセル化解除ベースのフィルター・ルールでのみサポートされます。カプセル化解除ベースのフィルタールールのファイアウォールフィルタープレフィックスリストはサポートされていません。
-
flexible-vlan-tagingはサポートされていません。
-
インターフェイスベースの動的ネクストホップ GRE トンネルはサポートされていません。
-
ラインレートトンネルのカプセル化とカプセル化解除がサポートされているため、
set chassis loopback-dynamic-tunnel設定ステートメントはACXプラットフォームには適用されません。 -
IPv6コアはサポートされていません。
例:ネクストホップベースの動的 GRE トンネルの設定
この例では、インターフェイスネクストホップの代わりに、トンネルコンポジットネクストホップ(CNH)を含む動的汎用ルーティングカプセル化(GRE)トンネルを設定する方法を示しています。ネクストホップベースの動的GREトンネルには、インターフェイスベースの動的GREトンネルに比べて拡張上の利点があります。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
MPCとMICを搭載したMXシリーズルーター5台。
-
PE ルーターで実行されている Junos OS リリース 16.2 以降。
開始する前に、以下を実行します。
-
ループバックインターフェイスを含むデバイスインターフェイスを設定します。
-
機器のルーター ID と自律システム番号を設定する。
-
リモート PE デバイスとの内部 BGP(IBGP)セッションを確立します。
-
デバイス間でOSPFピアリングを確立します。
概要
Junos OS リリース 16.2 以降、動的汎用ルーティング カプセル化(GRE)トンネルは、設定されたすべての GRE トンネルに対して、トンネル複合ネクストホップの作成をサポートしています。
デフォルトでは、設定された新しい動的GREトンネルごとに、対応する論理トンネルインターフェイスが作成されます。これはインターフェイスベースの動的トンネルと呼ばれ、動的トンネルを作成するためのデフォルトモードです。インターフェイスベースの動的トンネルでは、デバイスに設定できるトンネル数は、デバイスでサポートされているインターフェイスの合計数によって異なります。ネクストホップベースの動的GREトンネルは、物理インターフェイスへの依存性を取り除き、GRE トンネルのカプセル化は、論理トンネルインターフェイスを作成せずにネクストホップ命令として実装されます。これにより、デバイス上に作成できる動的トンネルの数に拡張上のメリットが提供されます。
Junos OS リリース 17.1 以降、MPC と MIC を搭載した MXシリーズルーターでは、ネクストホップベースの動的 GRE トンネルのスケーリング制限が引き上げられています。スケーリング値の増加は、ゲートウェイルーターがIPインフラストラクチャを介して多数のサーバーと通信する必要があるデータセンターネットワークにメリットをもたらします。たとえば、Contrail Networking などです。
ある時点で、ネクストホップベースの動的トンネルまたはデフォルトのインターフェイスベースの動的GREトンネルのいずれかがデバイス上に存在できます。あるトンネル モードから別のトンネル モードに切り替えると、既存のトンネルが削除され、サポートされているスケーリング制限に従って、新しいトンネル モードで新しいトンネルが作成されます。同様に、ある時点で、同じトンネル宛先に対して、ネクストホップベースのトンネルカプセル化タイプはGREまたはUDPのいずれかになります。
ネクストホップベースの動的GREトンネルを有効にするには、[edit routing-options dynamic-tunnels gre]階層レベルでnext-hop-based-tunnelステートメントを含めます。
既存の動的トンネル機能では、完全な静的設定が必要です。現在、アドバタイズされたルートでピアデバイスから受信したトンネル情報は無視されます。Junos OS リリース 17.4R1 以降、MXシリーズルーターでは、ネクストホップベースの動的 GRE トンネルは BGP カプセル化拡張コミュニティーを使用してシグナリングされます。BGPエクスポートポリシーは、トンネルタイプの指定、送信側トンネル情報のアドバタイズ、受信側トンネル情報の解析と伝達に使用されます。トンネルは、受信したタイプのトンネルコミュニティに従って作成されます。
BGP では、複数のトンネル カプセル化がサポートされています。複数の機能を受信すると、設定済みのBGPポリシーとトンネル設定に基づいて、ネクストホップベースの動的トンネルが作成されます。トンネルの優先度は、設定するトンネルのトンネル両端で一貫している必要があります。デフォルトでは、MPLS-over-UDP(MPLSoUDP)トンネルがGREトンネルよりも優先されます。動的トンネル設定が存在する場合、受信したトンネルコミュニティよりも優先されます。
ネクストホップベースの動的GREトンネルを設定する場合、以下の考慮事項に注意してください。
-
動的トンネルの作成は、IBGP プロトコルのネクストホップ解決プロセスでトリガーされます。
-
ネクストホップベースのトンネルモードからインターフェイスベースのトンネルモードへの切り替え(またはその逆)は許可されており、各モードでサポートされているIPトンネルスケーリング値の観点から、ネットワークパフォーマンスに影響を与える可能性があります。
-
RSVP 自動メッシュ トンネルは、ネクストホップベースの動的トンネル設定ではサポートされません。
-
この機能では、新しい IPv4-mapped-IPv6 ネクスト ホップに基づく動的 GRE トンネル作成がサポートされます。
-
以下の機能は、ネクストホップベースの動的 GRE トンネル設定ではサポートされていません。
-
RSVP自動メッシュ
-
論理システム
-
送信側(MXシリーズ)でのトンネル単位のトラフィック統計情報収集
-
トンネル インターフェイスでのポリシングやシェーピングなどの QoS の実施。
-
パス最大伝送ユニットの検出
-
GREの主な機能
-
GRE キープアライブ メッセージ用の GRE OAM(運用、管理、保守)。
-
位相幾何学
図 1 は、動的 GRE トンネルを介したレイヤー 3 VPN のシナリオを示しています。カスタマー エッジ(CE)デバイスの CE1 と CE2 は、それぞれプロバイダー エッジ(PE)デバイス PE1 と PE2 に接続します。PE デバイスはプロバイダー デバイス(デバイス P1)に接続され、内部 BGP(IBGP)セッションは 2 つの PE デバイスを相互接続します。PE デバイス間には 2 つの動的 GRE トンネルが設定されています。デバイス PE1 からデバイス PE2 への動的トンネルはネクスト ホップ トンネル モードに基づいており、デバイス PE2 からデバイス PE1 への動的トンネルはインターフェイス トンネル モードに基づいています。
ネクストホップベースの動的GREトンネルは、次のように処理されます。
-
ネクストホップベースの動的GREトンネルが設定された後、inet.3ルーティングテーブル内のプロトコルネクストホップに対して、トンネルCNHを持つトンネル宛先マスクルートが作成されます。この IP トンネル ルートは、動的トンネル設定が削除された場合にのみ取り消されます。
トンネルCNH属性には以下が含まれます。
-
レイヤー 3 VPN CNH が無効になっている場合—送信元アドレスと宛先アドレス、カプセル化文字列、VPN ラベル。
-
レイヤー 3 VPN CNH およびプレフィックス単位の VPN ラベル割り当てが有効な場合—送信元アドレス、宛先アドレス、カプセル化文字列。
-
レイヤー 3 VPN CNH が有効で、プレフィックス単位の VPN ラベル割り当てが無効の場合、送信元アドレス、宛先アドレス、カプセル化文字列。この場合のルートは、セカンダリルートとともに他の仮想ルーティングおよび転送インスタンステーブルに追加されます。
-
-
PE デバイスは、IBGP セッションを使用して相互接続されます。リモート BGP ネイバーへの IBGP ルートのネクストホップはプロトコルのネクストホップであり、トンネルのネクストホップを持つトンネルマスクルートを使用して解決されます。
-
ネクストホップがトンネル複合ネクストホップ上で解決された後、転送ネクストホップを持つ間接ネクストホップが作成されます。
-
トンネルCNHは、間接ネクストホップのネクストホップを転送するために使用されます。
構成
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
CE1の
set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/8
set interfaces lo0 unit 0 family inet address 10.127.0.1/8
set routing-options router-id 10.127.0.1
set routing-options autonomous-system 65200
set protocols bgp group ce1-pe1 export export-loopback-direct
set protocols bgp group ce1-pe1 peer-as 65100
set protocols bgp group ce1-pe1 neighbor 10.0.0.2
set policy-options policy-statement export-loopback-direct term term-1 from interface lo0.0
set policy-options policy-statement export-loopback-direct term term-1 from route-filter 10.127.0.1/8 exact
set policy-options policy-statement export-loopback-direct term term-1 then accept
CE2の
set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.2/24
set interfaces lo0 unit 0 family inet address 10.127.0.5/32
set routing-options router-id 10.127.0.5
set routing-options autonomous-system 65200
set protocols bgp group ce1-pe1 export export-loopback-direct
set protocols bgp group ce1-pe1 peer-as 65100
set protocols bgp group ce1-pe1 neighbor 203.0.113.1
set policy-options policy-statement export-loopback-direct term term-1 from interface lo0.0
set policy-options policy-statement export-loopback-direct term term-1 from route-filter 10.127.0.5/8 exact
set policy-options policy-statement export-loopback-direct term term-1 then accept
PE1
set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.2/8
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/24
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.127.0.2/32
set routing-options static route 10.33.0.0/16 next-hop 192.0.2.2
set routing-options router-id 10.127.0.2
set routing-options autonomous-system 65100
set routing-options dynamic-tunnels gre next-hop-based-tunnel
set routing-options dynamic-tunnels gre-dyn-tunnel-to-pe2 source-address 10.127.0.2
set routing-options dynamic-tunnels gre-dyn-tunnel-to-pe2 gre
set routing-options dynamic-tunnels gre-dyn-tunnel-to-pe2 destination-networks 10.127.0.0/16
set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.127.0.2
set protocols bgp group IBGP family inet-vpn unicast
set protocols bgp group IBGP neighbor 10.127.0.4
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0 passive
set routing-instances L3VPN-Over-GRE-PE1 instance-type vrf
set routing-instances L3VPN-Over-GRE-PE1 interface ge-0/0/0.0
set routing-instances L3VPN-Over-GRE-PE1 route-distinguisher 10.127.0.2:1
set routing-instances L3VPN-Over-GRE-PE1 vrf-target target:600:1
set routing-instances L3VPN-Over-GRE-PE1 protocols bgp group pe1-ce1 peer-as 65200
set routing-instances L3VPN-Over-GRE-PE1 protocols bgp group pe1-ce1 neighbor 10.0.0.1 as-override
P1の
set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.2/24
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.1/24
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.127.0.3/32
set routing-options router-id 10.127.0.3
set routing-options autonomous-system 65100
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0 passive
PE2の
set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.1/24
set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.2/24
set interfaces lo0 unit 0 family inet address 10.127.0.4/32
set routing-options nonstop-routing
set routing-options router-id 10.127.0.4
set routing-options autonomous-system 65100
set routing-options dynamic-tunnels gre-dyn-tunnel-to-pe1 source-address 10.127.0.4
set routing-options dynamic-tunnels gre-dyn-tunnel-to-pe1 gre
set routing-options dynamic-tunnels gre-dyn-tunnel-to-pe1 destination-networks 10.127.0.0/16
set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.127.0.4
set protocols bgp group IBGP family inet-vpn unicast
set protocols bgp group IBGP neighbor 10.127.0.2
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0 passive
set routing-instances L3VPN-Over-GRE-PE2 instance-type vrf
set routing-instances L3VPN-Over-GRE-PE2 interface ge-0/0/0.0
set routing-instances L3VPN-Over-GRE-PE2 route-distinguisher 10.127.0.4:1
set routing-instances L3VPN-Over-GRE-PE2 vrf-target target:600:1
set routing-instances L3VPN-Over-GRE-PE2 protocols bgp group ebgp peer-as 65200
set routing-instances L3VPN-Over-GRE-PE2 protocols bgp group ebgp neighbor 203.0.113.2 as-override
プロシージャ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
デバイスPE1を設定するには:
-
デバイスのループバックインターフェイスを含むデバイスインターフェイスを設定します。
[edit interfaces] user@PE1# set ge-0/0/0 unit 0 family inet address 10.0.0.2/8 user@PE1# set ge-0/0/1 unit 0 family inet address 192.0.2.1/24 user@PE1# set ge-0/0/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 10.127.0.2/8/32 -
デバイスP1をネクストホップ宛先として、デバイスPE1からのルートの静的ルートを設定します。
[edit routing-options] user@PE1# set static route 172.16.0.0/16 next-hop 192.0.2.2 -
機器 PE1 のルータ ID と自律システム番号を設定します。
[edit routing-options] user@PE1# set router-id 10.127.0.2 user@PE1# set autonomous-system 65100 -
PEデバイス間のIBGPピアリングを設定します。
[edit protocols] user@PE1# set bgp group IBGP type internal user@PE1# set bgp group IBGP local-address 10.127.0.2 user@PE1# set bgp group IBGP family inet-vpn unicast user@PE1# set bgp group IBGP neighbor 10.127.0.4 -
管理インターフェイスを除くデバイス PE1 のすべてのインターフェイスで OSPF を設定します。
[edit protocols] user@PE1# set ospf area 0.0.0.0 interface ge-0/0/1.0 user@PE1# set ospf area 0.0.0.0 interface lo0.0 passive -
デバイス PE1 でネクストホップベースの動的 GRE トンネル設定を有効にします。
[edit routing-options] user@PE1# set dynamic-tunnels gre next-hop-based-tunnel -
デバイスPE1からデバイスPE2への動的GREトンネルパラメータを設定します。
[edit routing-options] user@PE1# set dynamic-tunnels gre-dyn-tunnel-to-pe2 source-address 10.127.0.2 user@PE1# set dynamic-tunnels gre-dyn-tunnel-to-pe2 gre user@PE1# set dynamic-tunnels gre-dyn-tunnel-to-pe2 destination-networks 10.127.0.0/16 -
負荷分散ポリシーを転送テーブルにエクスポートします。
[edit routing-options] user@PE1# set forwarding-table export pplb -
デバイス PE1 で VRF ルーティング インスタンスを設定し、その他のルーティング インスタンス パラメータを設定します。
[edit routing-instances] user@PE1# set L3VPN-Over-GRE-PE1 instance-type vrf user@PE1# set L3VPN-Over-GRE-PE1 interface ge-0/0/0.0 user@PE1# set L3VPN-Over-GRE-PE1 route-distinguisher 10.127.0.2:1 user@PE1# set L3VPN-Over-GRE-PE1 vrf-target target:600:1 -
デバイスCE1とのピアリングのために、ルーティング インスタンス設定でBGPを有効にします。
[edit routing-instances] user@PE1# set L3VPN-Over-GRE-PE1 protocols bgp group pe1-ce1 peer-as 65200 user@PE1# set L3VPN-Over-GRE-PE1 protocols bgp group pe1-ce1 neighbor 10.0.0.1 as-override
業績
設定モードから、 show interfaces、 show routing-options、 show protocols、 show routing-instances コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@PE1# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.0.0.2/8;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 10.127.0.2/32;
}
}
}
user@PE1# show routing-options
static {
route 172.16.0.0/16 next-hop 192.0.2.2;
}
router-id 10.127.0.2;
autonomous-system 65100;
dynamic-tunnels {
gre next-hop-based-tunnel;
gre-dyn-tunnel-to-pe2 {
source-address 10.127.0.2;
gre;
destination-networks {
10.127.0.0/16;
}
}
}
user@PE1# show protocols
bgp {
group IBGP {
type internal;
local-address 127.0.0.2;
family inet-vpn {
unicast;
}
neighbor 127.0.0.4;
}
}
ospf {
area 0.0.0.0 {
interface ge-0/0/1.0;
interface lo0.0 {
passive;
}
}
}
user@PE1# show routing-instances
L3VPN-Over-GRE-PE1 {
instance-type vrf;
interface ge-0/0/0.0;
route-distinguisher 127.0.0.2:1;
vrf-target target:600:1;
protocols {
bgp {
group pe1-ce1 {
peer-as 200;
neighbor 10.0.0.1 {
as-override;
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
- PE デバイス間の接続の検証
- デバイスPE1の動的トンネルルートを確認します
- デバイスPE2で動的トンネルルートを確認します
- ルートに予期される indirect-next-hop フラグが付いていることを確認する
PE デバイス間の接続の検証
目的
デバイスPE1とデバイスPE2の間のBGPピアリングステータス、およびデバイスPE2から受信したBGPルートを確認します。
アクション
運用モードから、 show bgp summary コマンドと show route receive-protocol bgp ip-address table bgp.l3vpn.0 コマンドを実行します。
user@PE1> show bgp summary
Groups: 2 Peers: 2 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
bgp.l3vpn.0
2 2 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
127.0.0.4 100 139 136 0 0 58:23 Establ
bgp.l3vpn.0: 2/2/2/0
L3VPN-Over-GRE-PE1.inet.0: 2/2/2/0
10.0.0.1 200 135 136 0 0 58:53 Establ
L3VPN-Over-GRE-PE1.inet.0: 1/1/1/0
user@PE1> show route receive-protocol bgp 10.127.0.4 table bgp.l3vpn.0 bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 10.127.0.4:1:127.0.0.5/8 * 127.0.0.4 65100 65200 I 10.127.0.4:1:203.0.113.0/24 * 127.0.0.4 65100 I
意味
-
最初の出力では、BGP セッションの状態は
Establで、セッションがアップしており、PE デバイスがピアリングされていることを意味します。 -
2番目の出力では、デバイスPE1はデバイスPE2から2つのBGPルートを学習しています。
デバイスPE1の動的トンネルルートを確認します
目的
inet.3 ルーティングテーブル内のルートと、デバイス PE1 の動的トンネル データベース情報を確認します。
アクション
運用モードから、 show route table inet.3 コマンドと show dynamic-tunnels database terse コマンドを実行します。
user@PE1> show route table inet.3
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.127.0.0/8 *[Tunnel/300] 01:01:45
Tunnel
10.127.0.4/8 *[Tunnel/300] 00:10:24
Tunnel Composite
user@PE1> show dynamic-tunnels database terse
Table: inet.3
Destination-network: 10.127.0.0/8
Destination Source Next-hop Type Status
10.127.0.4/8 10.127.0.2 0xb395e70 nhid 612 gre Up
意味
-
最初の出力では、デバイス PE1 がネクストホップベースの動的 GRE トンネルで設定されているため、トンネル複合ルートが inet.3 ルーティングテーブル ルート エントリー用に作成されます。
-
2 番目の出力では、デバイス PE1 からデバイス PE2 に作成された動的 GRE トンネルがアップしており、ネクストホップ インターフェイスではなく、ネクストホップ ID が割り当てられています。
デバイスPE2で動的トンネルルートを確認します
目的
inet.3 ルーティングテーブル内のルートと、デバイス PE2 の動的トンネル データベース情報を確認します。
アクション
運用モードから、 show route table inet.3 コマンドと show dynamic-tunnels database terse コマンドを実行します。
user@PE2> show route table inet.3
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.127.0.0/8 *[Tunnel/300] 01:06:52
Tunnel
10.127.0.2/8 *[Tunnel/300] 01:04:45
> via gr-0/1/0.32769
user@PE1> show dynamic-tunnels database terse Table: inet.3 Destination-network: 127.0.0.0/8 Destination Source Next-hop Type 10. 10.127.0.2/8 10.127.0.4 gr-0/1/0.32769 gre Up
意味
-
最初の出力では、デバイス PE2 にデフォルトのインターフェイスベースの動的 GRE トンネル設定があるため、inet.3 ルーティングテーブル ルート エントリー用に新しいインターフェイスが作成されます。
-
2番目の出力では、デバイスPE2からデバイスPE1に作成された動的GREトンネルがアップしており、新しく作成されたインターフェイス名が割り当てられています。
ルートに予期される indirect-next-hop フラグが付いていることを確認する
目的
デバイス PE1 とデバイス PE2 が、パケット転送エンジン 転送テーブル上の転送ネクストホップ バインディングへの間接ネクストホップを維持するように設定されていることを確認します。
アクション
運用モードから、デバイスPE1とデバイスPE2で show krt indirect-next-hop コマンドを実行します。
user@PE1> show krt indirect-next-hop
Indirect Nexthop:
Index: 1048574 Protocol next-hop address: 10.127.0.4
RIB Table: bgp.l3vpn.0
Label: Push 299792
Policy Version: 1 References: 2
Locks: 3 0xb2ab630
Flags: 0x0
INH Session ID: 0x0
INH Version ID: 0
Ref RIB Table: unknown
Tunnel type: GRE, Reference count: 3, nhid: 612
Destination address: 10.127.0.4, Source address: 10.127.0.2
Tunnel id: 1, VPN Label: Push 299792, TTL action: prop-ttl
IGP FRR Interesting proto count : 2
Chain IGP FRR Node Num : 1
IGP Resolver node(hex) : 0xb3c6d9c
IGP Route handle(hex) : 0xb1ad230 IGP rt_entry protocol : Tunnel
IGP Actual Route handle(hex) : 0x0 IGP Actual rt_entry protocol : Any
user@PE2> show krt indirect-next-hop
Indirect Nexthop:
Index: 1048574 Protocol next-hop address: 10.127.0.2
RIB Table: bgp.l3vpn.0
Label: Push 299792
Policy Version: 2 References: 2
Locks: 3 0xb2ab630
Flags: 0x2
INH Session ID: 0x145
INH Version ID: 0
Ref RIB Table: unknown
Next hop: via gr-0/1/0.32769
Label operation: Push 299792
Label TTL action: prop-ttl
Load balance label: Label 299792: None;
Label element ptr: 0xb395d40
Label parent element ptr: 0x0
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x144
IGP FRR Interesting proto count : 2
Chain IGP FRR Node Num : 1
IGP Resolver node(hex) : 0xb3d36e8
IGP Route handle(hex) : 0xb1af060 IGP rt_entry protocol : Tunnel
IGP Actual Route handle(hex) : 0x0 IGP Actual rt_entry protocol : Any
意味
-
最初の出力では、デバイス PE1 にデバイス PE2 へのネクストホップベースの動的 GRE トンネルがあります。
-
2番目の出力では、デバイスPE2は、デバイスPE1へのインターフェイスベースの動的GREトンネルを持っています。
トラブルシューティング
ネクストホップベースの動的トンネルのトラブルシューティングについては、以下を参照してください。
コマンドのトラブルシューティング
問題
ネクストホップベースの動的GREトンネル設定が有効になっていません。
解決
ネクストホップベースのGREトンネル設定をトラブルシューティングするには、[edit routing-options dynamic-tunnels]ステートメント階層で以下のtraceoptionsコマンドを使用します。
-
traceoptions file file-name -
traceoptions file size file-size -
traceoptions flag all
例えば:
[edit routing-options dynamic-tunnels]
traceoptions {
file gre_dyn_pe1.wri size 4294967295;
flag all;
}
例:ネクストホップベースの MPLS-over-UDP 動的トンネルの設定
この例では、トンネル コンポジット ネクストホップを含む動的 MPLS-over-UDP トンネルを設定する方法を示します。MPLS-over-UDP 機能は、デバイスでサポートされる IP トンネルの数に関して拡張上の利点を提供します。
Junos OS リリース 18.3R1 以降、MPLS-over-UDP トンネルは PTXシリーズ ルーターと QFXシリーズ スイッチでサポートされます。PTX ルーターまたは QFX スイッチ上に設定された動的トンネルごとに、トンネル複合ネクストホップ、間接ネクストホップ、転送ネクストホップが作成され、トンネル宛先ルートが解決されます。また、ポリシー制御を使用して、[edit routing-options dynamic-tunnels]階層レベルで forwarding-rib 設定ステートメントを含めることで、選択したプレフィックスを介した動的トンネルを解決することもできます。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
MPCとMICを搭載したMXシリーズルーター5台。
-
プロバイダ エッジ(PE)ルーターで実行されている Junos OS リリース 16.2 以降。
開始する前に、以下を実行します。
-
ループバックインターフェイスを含むデバイスインターフェイスを設定します。
-
デバイスのルーター ID と自動システム番号を設定します。
-
リモート PE デバイスとの内部 BGP(IBGP)セッションを確立します。
-
デバイス間でOSPFピアリングを確立します。
概要
Junos OS リリース 16.2 以降、動的 UDP トンネルは、設定されたすべての UDP トンネルに対してトンネル複合ネクストホップの作成をサポートしています。これらのネクストホップベースの動的 UDP トンネルは、MPLS-over-UDP トンネルと呼ばれます。トンネル複合ネクストホップは、MPLS-over-UDPトンネルに対してデフォルトで有効になっています。
MPLS-over-UDP トンネルは、本質的に双方向または単方向です。
-
双方向—PE デバイスが MPLS-over-UDP トンネルを介して双方向に接続されている場合、双方向 MPLS-over-UDP トンネルと呼ばれます。
-
一方向—2 つの PE デバイスが MPLS-over-UDP トンネルを介して一方向に接続され、MPLS/IGP を介して反対方向に接続されている場合、単方向 MPLS-over-UDP トンネルと呼ばれます。
単方向 MPLS-over-UDP トンネルは、移行シナリオや、2 つの PE デバイスが 2 つのディスジョイント ネットワークを介して相互に接続を提供する場合に使用されます。逆方向のトンネルは単方向の MPLS-over-UDP トンネルには存在しないため、トラフィックを転送するには、リモート PE デバイスでフィルターベースの MPLS-over-UDP カプセル化解除を設定する必要があります。
Junos OS リリース 18.2R1以降、PTXシリーズルーターと単方向MPLS-over-UDPトンネルを持つQFX10000では、MPLS-over-UDPパケットの入力フィルターと、逆トンネル方向にパケットを転送するためのIPおよびUDPヘッダーのカプセル化を解除するアクションを使用して、リモートPEデバイスを設定する必要があります。
例えば、リモート PE デバイスであるデバイス PE2 では、単方向 MPLS-over-UDP トンネルに対して以下の設定が必要です。
PE2の
[edit firewall filter] user@host# set Decap_Filter term udp_decap from protocol udp user@host# set Decap_Filter term udp_decap from destination-port 6635 user@host# set Decap_Filter term udp_decap then count UDP_PKTS user@host# set Decap_Filter term udp_decap then decapsulate mpls-in-udp user@host# set Decap_Filter term def then count def_pkt user@host# set Decap_Filter term def then accept
上記の設定例では、 Decap_Filter は MPLS-over-UDP のカプセル化解除に使用されるファイアウォールフィルターの名前です。用語 udp_decap は、デバイス PE2 のコアに面したインターフェイスで UDP パケットを受け入れるための入力フィルターであり、転送のために MPLS-over-UDP パケットを MPLS-over-IP パケットにカプセル化解除します。
show firewall filterなどの既存のファイアウォール動作モードコマンドを使用して、フィルターベースのMPLS-over-UDPカプセル化解除を表示できます。
例えば:
user@host >show firewall filter Decap_Filter Filter: Decap_Filter Counters: Name Bytes Packets UDP_PKTS 16744 149 def_pkt 13049 136
単方向 MPLS-over-UDP トンネルの場合:
-
IPv4 アドレスのみが外部ヘッダーとしてサポートされています。フィルターベースの MPLS-over-UDP カプセル化解除は、外部ヘッダーの IPv6 アドレスをサポートしていません。
-
カプセル化解除後は、デフォルトのルーティング インスタンスのみがサポートされます。
Junos OS リリース 17.1 以降、MPC と MIC を搭載した MXシリーズルーターでは、MPLS-over-UDP トンネルのスケーリング制限が引き上げられました。
Junosリリース19.2R1以降、MPCとMICを搭載したMXシリーズルーターでは、サポートキャリアのPEデバイス間で確立された動的IPv4 UDPトンネルでMPLSトラフィックを伝送するMPLS-over-UDPトンネルを使用して、キャリアサポートキャリア(CSC)アーキテクチャを導入できます。この機能拡張により、MPLS-over-UDP トンネルが提供する拡張上のメリットがさらに向上します。MPLS-over-UDP トンネルでの CSC サポートは、IPv6 UDP トンネルではサポートされていません。
既存の動的トンネル機能では、完全な静的設定が必要です。現在、アドバタイズされたルートでピアデバイスから受信したトンネル情報は無視されます。Junos OS リリース 17.4R1 以降、MXシリーズルーターでは、ネクストホップベースの動的 MPLS-over-UDP トンネルは、BGP カプセル化拡張コミュニティーを使用してシグナリングされます。BGPエクスポートポリシーは、トンネルタイプの指定、送信側トンネル情報のアドバタイズ、受信側トンネル情報の解析と伝達に使用されます。トンネルは、受信したタイプのトンネルコミュニティに従って作成されます。
BGP では、複数のトンネル カプセル化がサポートされています。複数の機能を受信すると、設定済みのBGPポリシーとトンネル設定に基づいて、ネクストホップベースの動的トンネルが作成されます。トンネルの優先度は、設定するトンネルのトンネル両端で一貫している必要があります。デフォルトでは、MPLS-over-UDP トンネルは GRE トンネルよりも優先されます。動的トンネル設定が存在する場合、受信したトンネルコミュニティよりも優先されます。
ネクストホップベースの動的 MPLS-over-UDP トンネルを設定する場合、以下の点に注意してください。
-
IBGP セッションは、PE デバイス間で設定する必要があります。
-
ネクストホップベースの動的トンネルカプセル化(UDPとGRE)間の切り替えは許可されており、これは各モードでサポートされているIPトンネルスケーリング値の観点からネットワークパフォーマンスに影響を与える可能性があります。
-
同じトンネル宛先に対してGREとUDPの両方のネクストホップベースの動的トンネルカプセル化タイプがあると、コミットが失敗します。
-
単方向 MPLS-over-UDP トンネルの場合、転送されるパケットのリモート PE デバイスでフィルターベースの MPLS-over-UDP カプセル化解除を明示的に設定する必要があります。
-
グレースフルルーティングエンジンスイッチオーバー(GRES)はMPLS-over-UDPでサポートされており、MPLS-over-UDPトンネルタイプフラグはISSUおよびNSRに準拠しています。
-
MPLS-over-UDP トンネルは、Lite モードの仮想 MX(vMX)でサポートされています。
-
MPLS-over-UDP トンネルは、新しい IPv4-mapped-IPv6 ネクストホップに基づく動的 GRE トンネル作成をサポートします。
-
MPLS-over-UDP トンネルは Contrail との相互運用性でサポートされており、MPLS-over-UDP トンネルは Contrail vRouter から MX ゲートウェイに作成されます。これを有効にするには、MXシリーズルーターからContrail vRouterへのルートで次のコミュニティをアドバタイズする必要があります。
[edit policy-options community] udp members 0x030c:64512:13;
ある時点で、Contrail vRouter がサポートするトンネル タイプは、ネクストホップベースの動的 GRE トンネル、MPLS-over-UDP トンネル、VXLAN の 1 つだけです。
-
以下の機能は、ネクストホップベースの動的 MPLS-over-UDP トンネル設定ではサポートされていません。
-
RSVP自動メッシュ
-
プレーンなIPV6 GREおよびUDPトンネル設定
-
論理システム
-
位相幾何学
図 2 は、動的 MPLS-over-UDP トンネルを介したレイヤー 3 VPN のシナリオを示しています。カスタマー エッジ(CE)デバイスの CE1 と CE2 は、それぞれプロバイダー エッジ(PE)デバイス PE1 と PE2 に接続します。PE デバイスはプロバイダー デバイス(デバイス P1)に接続され、内部 BGP(IBGP)セッションは 2 つの PE デバイスを相互接続します。PE デバイス間では、動的なネクストホップベースの双方向 MPL-over-UDP トンネルが設定されます。
MPLS-over-UDP トンネルは次のように処理されます。
-
MPLS-over-UDP トンネルが設定されると、トンネル複合ネクストホップを持つトンネル宛先マスクルートが inet.3 ルーティングテーブルのトンネルに対して作成されます。この IP トンネル ルートは、動的トンネル設定が削除された場合にのみ取り消されます。
トンネル複合ネクストホップ属性には、以下が含まれます。
-
レイヤー 3 VPN コンポジット ネクスト ホップが無効になっている場合、送信元アドレスと宛先アドレス、カプセル化文字列、VPN ラベル。
-
レイヤー 3 VPN コンポジット ネクスト ホップおよびプレフィックス単位の VPN ラベル割り当てが有効な場合、送信元アドレス、宛先アドレス、カプセル化文字列。
-
レイヤー 3 VPN コンポジット ネクストホップが有効で、プレフィックス単位の VPN ラベル割り当てが無効な場合、送信元アドレス、宛先アドレス、カプセル化文字列。この場合のルートは、セカンダリルートとともに他の仮想ルーティングおよび転送インスタンステーブルに追加されます。
-
-
PE デバイスは、IBGP セッションを使用して相互接続されます。リモート BGP ネイバーへの IBGP ルートのネクストホップはプロトコルのネクストホップであり、トンネルのネクストホップを持つトンネルマスクルートを使用して解決されます。
-
プロトコル ネクストホップがトンネル複合ネクストホップ上で解決された後、転送ネクストホップを持つ間接ネクストホップが作成されます。
-
トンネル コンポジット ネクストホップは、間接ネクストホップのネクストホップを転送するために使用されます。
構成
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
CE1の
set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/8 set interfaces lo0 unit 0 family inet address 10.127.0.1/32 set routing-options router-id 10.127.0.1 set routing-options autonomous-system 65200 set protocols bgp group ce1-pe1 export export-loopback-direct set protocols bgp group ce1-pe1 peer-as 100 set protocols bgp group ce1-pe1 neighbor 10.0.0.2 set policy-options policy-statement export-loopback-direct term term-1 from interface lo0.0 set policy-options policy-statement export-loopback-direct term term-1 from route-filter 10.127.0.1/32 exact set policy-options policy-statement export-loopback-direct term term-1 then accept
CE2の
set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.2/24 set interfaces lo0 unit 0 family inet address 10.127.0.5/32 set routing-options router-id 10.127.0.5 set routing-options autonomous-system 65200 set protocols bgp group ce1-pe1 export export-loopback-direct set protocols bgp group ce1-pe1 peer-as 65100 set protocols bgp group ce1-pe1 neighbor 203.0.113.1 set policy-options policy-statement export-loopback-direct term term-1 from interface lo0.0 set policy-options policy-statement export-loopback-direct term term-1 from route-filter 10.127.0.5/32 exact set policy-options policy-statement export-loopback-direct term term-1 then accept
PE1
set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.2/8 set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.127.0.2/32 set routing-options static route 10.33.0/16 next-hop 192.0.2.2 set routing-options router-id 10.127.0.2 set routing-options autonomous-system 65100 set routing-options forwarding-table export pplb set routing-options dynamic-tunnels gre next-hop-based-tunnel set routing-options dynamic-tunnels udp-dyn-tunnel-to-pe2 source-address 10.127.0.2 set routing-options dynamic-tunnels udp-dyn-tunnel-to-pe2 udp set routing-options dynamic-tunnels udp-dyn-tunnel-to-pe2 destination-networks 10.127.0.0/24 set protocols bgp group IBGP type internal set protocols bgp group IBGP local-address 10.127.0.2 set protocols bgp group IBGP family inet-vpn unicast set protocols bgp group IBGP neighbor 10.127.0.4 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set routing-instances MPLS-over-UDP-PE1 instance-type vrf set routing-instances MPLS-over-UDP-PE1 interface ge-0/0/0.0 set routing-instances MPLS-over-UDP-PE1 route-distinguisher 10.127.0.2:1 set routing-instances MPLS-over-UDP-PE1 vrf-target target:600:1 set routing-instances MPLS-over-UDP-PE1 protocols bgp group pe1-ce1 peer-as 65200 set routing-instances MPLS-over-UDP-PE1 protocols bgp group pe1-ce1 neighbor 10.0.0.1 as-override
P1の
set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.2/24 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.127.0.3/32 set routing-options router-id 10.127.0.3 set routing-options autonomous-system 65100 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
PE2の
set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.1/24 set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.2/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.127.0.4/8 set routing-options nonstop-routing set routing-options router-id 10.127.0.4 set routing-options autonomous-system 65100 set routing-options forwarding-table export pplb set routing-options dynamic-tunnels udp-dyn-tunnel-to-pe1 source-address 10.127.0.4 set routing-options dynamic-tunnels udp-dyn-tunnel-to-pe1 udp set routing-options dynamic-tunnels udp-dyn-tunnel-to-pe1 destination-networks 10.127.0.0/24 set protocols bgp group IBGP type internal set protocols bgp group IBGP local-address 10.127.0.4 set protocols bgp group IBGP family inet-vpn unicast set protocols bgp group IBGP neighbor 10.127.0.2 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set routing-instances MPLS-over-UDP-PE2 instance-type vrf set routing-instances MPLS-over-UDP-PE2 interface ge-0/0/0.0 set routing-instances MPLS-over-UDP-PE2 route-distinguisher 10.127.0.4:1 set routing-instances MPLS-over-UDP-PE2 vrf-target target:600:1 set routing-instances MPLS-over-UDP-PE2 protocols bgp group ebgp peer-as 65200 set routing-instances MPLS-over-UDP-PE2 protocols bgp group ebgp neighbor 203.0.113.2 as-override
プロシージャ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
デバイスPE1を設定するには:
-
デバイスのループバックインターフェイスを含むデバイスインターフェイスを設定します。
[edit interfaces] user@PE1# set ge-0/0/0 unit 0 family inet address 10.0.0.2/8 user@PE1# set ge-0/0/1 unit 0 family inet address 192.0.2.1/24 user@PE1# set ge-0/0/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 10.127.0.2/8
-
デバイスP1をネクストホップ宛先として、デバイスPE1からのルートの静的ルートを設定します。
[edit routing-options] user@PE1# set static route 10.33.0.0/16 next-hop 192.0.2.2
-
機器 PE1 のルータ ID と自律システム番号を設定します。
[edit routing-options] user@PE1# set router-id 10.127.0.2 user@PE1# set autonomous-system 65100
-
(PTXシリーズのみ)選択したプレフィックス上の MPLS-over-UDP 動的トンネルルートを解決するために、ポリシー制御を設定します。
[edit routing-options dynamic-tunnels] user@PTX-PE1# set forwarding-rib inet.0 inet-import dynamic-tunnel-fwd-route-import
-
(PTXシリーズのみ)上の動的トンネル宛先ルートを解決するための inet-import ポリシーを設定します。
[edit policy-options] user@PTX-PE1# set policy-statement dynamic-tunnel-fwd-route-import term 1 from route-filter 10.127.0.4/32 exact user@PTX-PE1# set policy-statement dynamic-tunnel-fwd-route-import term 1 then accept user@PTX-PE1# set policy-options policy-statement dynamic-tunnel-fwd-route-import then reject
-
PEデバイス間のIBGPピアリングを設定します。
[edit protocols] user@PE1# set bgp group IBGP type internal user@PE1# set bgp group IBGP local-address 10.127.0.2 user@PE1# set bgp group IBGP family inet-vpn unicast user@PE1# set bgp group IBGP neighbor 10.127.0.4
-
管理インターフェイスを除くデバイス PE1 のすべてのインターフェイスで OSPF を設定します。
[edit protocols] user@PE1# set ospf area 0.0.0.0 interface ge-0/0/1.0 user@PE1# set ospf area 0.0.0.0 interface lo0.0 passive
-
デバイス PE1 でネクストホップベースの動的 GRE トンネル設定を有効にします。
手記:この手順は、ネクストホップベースの動的 GRE トンネルと MPLS-over-UDP トンネルの実装の違いを説明するためだけに必要です。
[edit routing-options] user@PE1# set dynamic-tunnels gre next-hop-based-tunnel
-
デバイスPE1からデバイスPE2へのMPLS-over-UDPトンネルパラメータを設定します。
[edit routing-options] user@PE1# set dynamic-tunnels udp-dyn-tunnel-to-pe2 source-address 10.127.0.2 user@PE1# set dynamic-tunnels udp-dyn-tunnel-to-pe2 udp user@PE1# set dynamic-tunnels udp-dyn-tunnel-to-pe2 destination-networks 10.127.0.0/24
-
デバイス PE1 で VRF ルーティング インスタンスを設定し、その他のルーティング インスタンス パラメータを設定します。
[edit routing-instances] user@PE1# set MPLS-over-UDP-PE1 instance-type vrf user@PE1# set MPLS-over-UDP-PE1 interface ge-0/0/0.0 user@PE1# set MPLS-over-UDP-PE1 route-distinguisher 10.127.0.2:1 user@PE1# set MPLS-over-UDP-PE1 vrf-target target:600:1
-
デバイスCE1とのピアリングのために、ルーティング インスタンス設定でBGPを有効にします。
[edit routing-instances] user@PE1# set MPLS-over-UDP-PE1 protocols bgp group pe1-ce1 peer-as 65200 user@PE1# set MPLS-over-UDP-PE1 protocols bgp group pe1-ce1 neighbor 10.0.0.1 as-override
業績
設定モードから、 show interfaces、 show routing-options、 show protocols、 show routing-instances コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@PE1# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.0.0.2/8;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 10.127.0.2/32;
}
}
}
user@PE1# show routing-options
static {
route 10.33.0.0/16 next-hop 192.0.2.2;
}
router-id 10.127.0.2;
autonomous-system 65100;
forwarding-table {
export pplb;
}
dynamic-tunnels {
gre next-hop-based-tunnel;
udp-dyn-tunnel-to-pe2 {
source-address 10.127.0.2;
udp;
destination-networks {
10.127.0.0/24;
}
}
}
user@PE1# show protocols
bgp {
group IBGP {
type internal;
local-address 10.127.0.2;
family inet-vpn {
unicast;
}
neighbor 10.127.0.4;
}
}
ospf {
area 0.0.0.0 {
interface ge-0/0/1.0;
interface lo0.0 {
passive;
}
}
}
user@PE1# show routing-instances
MPLS-over-UDP-PE1 {
instance-type vrf;
interface ge-0/0/0.0;
route-distinguisher 10.127.0.2:1;
vrf-target target:600:1;
protocols {
bgp {
group pe1-ce1 {
peer-as 65200;
neighbor 10.0.0.1 {
as-override;
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
- PE デバイス間の接続の検証
- デバイスPE1の動的トンネルルートを確認します
- デバイスPE2で動的トンネルルートを確認します
- ルートに予期される indirect-next-hop フラグが付いていることを確認する
PE デバイス間の接続の検証
目的
デバイスPE1とデバイスPE2の間のBGPピアリングステータス、およびデバイスPE2から受信したBGPルートを確認します。
アクション
運用モードから、 show bgp summary コマンドと show route receive-protocol bgp ip-address table bgp.l3vpn.0 コマンドを実行します。
user@PE1> show bgp summary
Groups: 2 Peers: 2 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
bgp.l3vpn.0
2 2 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.127.0.4 65100 139 136 0 0 58:23 Establ
bgp.l3vpn.0: 2/2/2/0
MPLS-over-UDP-PE1.inet.0: 2/2/2/0
10.10.0.1 65200 135 136 0 0 58:53 Establ
MPLS-over-UDP-PE1.inet.0: 1/1/1/0
user@PE1> show route receive-protocol bgp 10.127.0.4 table bgp.l3vpn.0 bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 10.127.0.4:1:127.0.0.5/8 * 10.127.0.4 65100 65200 I
意味
-
最初の出力では、BGP セッションの状態は
Establで、セッションがアップしており、PE デバイスがピアリングされていることを意味します。 -
2番目の出力では、デバイスPE1がデバイスPE2からBGPルートを学習しています。
デバイスPE1の動的トンネルルートを確認します
目的
inet.3 ルーティングテーブル内のルートと、デバイス PE1 の動的トンネル データベース情報を確認します。
アクション
動作モードから、 show route table inet.3、 show dynamic-tunnels database terse、 show dynamic-tunnels database、および show dynamic-tunnels database summary コマンドを実行します。
user@PE1> show route table inet.3
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.127.0.0/24 *[Tunnel/300] 00:21:18
Tunnel
127.0.0.4/8 *[Tunnel/300] 00:21:18
Tunnel Composite
user@PE1> show dynamic-tunnels database terse Table: inet.3 Destination-network: 10.127.0.0/24 Destination Source Next-hop Type Status 10.127.0.4/8 10.127.0.2 0xb395b10 nhid 613 udp Up
user@PE1> show dynamic-tunnels database
Table: inet.3
. . .
Tunnel to: 10.127.0.4/32
Reference count: 2
Next-hop type: UDP
Source address: 10.127.0.2 Tunnel Id: 2
Next hop: tunnel-composite, 0xb395b10, nhid 613
VPN Label: Push 299776 Reference count: 3
Traffic Statistics: Packets 0, Bytes 0
State: Up
user@PE1> show dynamic-tunnels database summary Dynamic Tunnels, Total 1 displayed GRE Tunnel: Active Tunnel Mode, Next Hop Base IFL Based, Total 0 displayed, Up 0, Down 0 Nexthop Based, Total 0 displayed, Up 0, Down 0 RSVP Tunnel: Total 0 displayed UDP Tunnel: Total 1 displayed, Up 1, Down 0
意味
-
最初の出力では、デバイス PE1 が MPLS-over-UDP トンネルで設定されているため、inet.3 ルーティングテーブル ルート エントリーに対してトンネル複合ルートが作成されます。
-
残りの出力では、MPLS-over-UDP トンネルが、トンネル カプセル化タイプ、トンネル ネクスト ホップ パラメーター、およびトンネル ステータスとともに表示されます。
デバイスPE2で動的トンネルルートを確認します
目的
inet.3 ルーティングテーブル内のルートと、デバイス PE2 の動的トンネル データベース情報を確認します。
アクション
運用モードから、 show route table inet.3コマンドと show dynamic-tunnels database terse コマンドを実行します。
user@PE2> show route table inet.3
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.127.0.0/24 *[Tunnel/300] 00:39:31
Tunnel
10.127.0.2/32 *[Tunnel/300] 00:24:53
Tunnel Composite
user@PE1> show dynamic-tunnels database terse Table: inet.3 Destination-network: 127.0.0.0/8 Destination Source Next-hop Type Status 10.127.0.2/32 10.127.0.4 0xb395450 nhid 615 udp Up
意味
出力は、デバイスPE1と同様に、MPLS-over-UDPトンネルの作成と、ネクストホップインターフェイスとして割り当てられたネクストホップIDを示しています。
ルートに予期される indirect-next-hop フラグが付いていることを確認する
目的
デバイス PE1 とデバイス PE2 が、パケット転送エンジン 転送テーブル上の転送ネクストホップ バインディングへの間接ネクストホップを維持するように設定されていることを確認します。
アクション
運用モードから、デバイスPE1とデバイスPE2で show krt indirect-next-hop コマンドを実行します。
user@PE1> show krt indirect-next-hop
Indirect Nexthop:
Index: 1048574 Protocol next-hop address: 10.127.0.4
RIB Table: bgp.l3vpn.0
Label: Push 299776
Policy Version: 1 References: 1
Locks: 3 0xb2ab630
Flags: 0x0
INH Session ID: 0x0
INH Version ID: 0
Ref RIB Table: unknown
Tunnel type: UDP, Reference count: 3, nhid: 613
Destination address: 10.127.0.4, Source address: 10.127.0.2
Tunnel id: 2, VPN Label: Push 299776, TTL action: prop-ttl
IGP FRR Interesting proto count : 1
Chain IGP FRR Node Num : 1
IGP Resolver node(hex) : 0xb3c70dc
IGP Route handle(hex) : 0xb1ae688 IGP rt_entry protocol : Tunnel
IGP Actual Route handle(hex) : 0x0 IGP Actual rt_entry protocol : Any
user@PE2> show krt indirect-next-hop
Indirect Nexthop:
Index: 1048575 Protocol next-hop address: 10.127.0.2
RIB Table: bgp.l3vpn.0
Label: Push 299776
Policy Version: 1 References: 2
Locks: 3 0xb2ab740
Flags: 0x0
INH Session ID: 0x0
INH Version ID: 0
Ref RIB Table: unknown
Tunnel type: UDP, Reference count: 3, nhid: 615
Destination address: 10.127.0.2, Source address: 10.127.0.4
Tunnel id: 1, VPN Label: Push 299776, TTL action: prop-ttl
IGP FRR Interesting proto count : 2
Chain IGP FRR Node Num : 1
IGP Resolver node(hex) : 0xb3d3a28
IGP Route handle(hex) : 0xb1ae634 IGP rt_entry protocol : Tunnel
IGP Actual Route handle(hex) : 0x0 IGP Actual rt_entry protocol : Any
意味
出力は、PEデバイス間にネクストホップベースの動的MPLS-over-UDPトンネルが作成されていることを示しています。
トラブルシューティング
ネクストホップベースの動的トンネルのトラブルシューティングについては、以下を参照してください。
コマンドのトラブルシューティング
問題
ネクストホップベースの動的 MPLS-over-UDP トンネル設定が有効になりません。
解決
ネクストホップベースの MPLS-over-UDP トンネル設定のトラブルシューティングを行うには、[edit routing-options dynamic-tunnels] ステートメント階層で以下のtracerouteコマンドを使用します。
-
traceoptions file file-name -
traceoptions file size file-size -
traceoptions flag all
例えば:
[edit routing-options dynamic-tunnels]
traceoptions {
file udp_dyn_pe1.wri size 4294967295;
flag all;
}
ネクストホップベースの動的トンネルのなりすまし防止保護の概要
データセンターへの大規模なIPトンネルの導入の増加に伴い、侵害されたVM(仮想マシン)からの悪意のあるトラフィックをユーザーが制限できるセキュリティ対策を追加する必要があります。考えられる攻撃の1つは、ゲートウェイルーターを介して侵害されたサーバーから任意の顧客VPNにトラフィックを注入することです。このような場合、IPトンネルのなりすまし防止チェックにより、正当な送信元のみが、指定されたIPトンネルからデータセンターにトラフィックを挿入していることが保証されます。
ネクストホップベースの動的IPトンネルは、デバイス上で作成された動的トンネルごとにトンネル複合ネクストホップを作成します。ネクストホップベースの動的トンネルでは、新しい動的トンネルが設定されるたびに物理インターフェイスへの依存がなくなるため、ネクストホップベースの動的トンネルを設定することで、デバイス上で作成できる動的トンネルの数よりも拡張性に優れています。Junos OS リリース 17.1 以降、ネクストホップベースの動的 IP トンネルのなりすまし防止機能がネクストホップベースの動的トンネルに提供されます。この機能強化により、侵害されたサーバーからゲートウェイルーターを経由して任意の顧客VPNにトラフィックが挿入されるのを防ぐためのセキュリティ対策が実装されます。
アンチスプーフィングは、パケット転送エンジンのリバースパスフォワーディングチェックを使用して実装されます。このチェックは、トンネルを介してルーティング インスタンスに到達するトラフィックに対して実装されます。現在、ゲートウェイルーターがトンネルからトラフィックを受信すると、宛先検索のみが実行され、それに応じてパケットが転送されます。なりすまし防止保護が有効な場合、ゲートウェイルーターはトンネル宛先の検索に加えて、VPN内のカプセル化パケットIPヘッダーの送信元アドレス検索も行います。これにより、正規の送信元が、指定されたIPトンネルを介してトラフィックを注入していることが保証されます。その結果、なりすまし防止保護により、トンネルトラフィックが指定されたトンネル上の正当な送信元から受信されることが保証されます。
図 3 は、なりすまし防止保護の要件を含むトポロジーの例を示しています。
この例では、ゲートウェイルーターはルーターGです。ルーターGには、グリーンとブルーの2つのVPNがあります。サーバーAとサーバーBの2つのサーバーは、それぞれネクストホップベースの動的トンネルT1とT2を介してルーターGのグリーンとブルーのVPNに到達できます。サーバーに接続された複数のホストおよび仮想マシン(P、Q、R、S、T)は、ゲートウェイ ルーターであるルーター G を介して VPN に到達できます。ルーター G には、Green VPN と Blue VPN の仮想ルーティングおよび転送(VRF)テーブルがあり、それぞれにこれらの VPN 内の仮想マシンの到達可能性情報が入力されています。
例えば、VPN Green では、ルーター G はトンネル T1 を使用してホスト P に到達し、トンネル T2 を使用してホスト R と S に到達し、トンネル T1 と T2 の間でロードバランシングを行ってマルチホーム ホスト Q に到達します。VPN Blue では、ルーター G はトンネル T1 を使用してホスト P と R に到達し、トンネル T2 を使用してホスト Q と T に到達します。
以下の場合、チェックはリバース パス フォワーディングにパスします。
パケットは、指定されたトンネル上の正当な送信元から送信されます。
VPN Green のホスト P は、トンネル T1 を使用してホスト X にパケットを送信します。ルーター G はトンネル T1 を経由してホスト P に到達できるため、パケットの通過を許可し、ホスト X へパケットを転送します。
パケットは、指定されたトンネル上のマルチホーム ソースから送信されます。
VPN Green のホスト Q は、サーバー A と B でマルチホームされており、トンネル T1 と T2 を介してルーター G に到達できます。ホスト Q は、トンネル T1 を使用してホスト Y にパケットを送信し、トンネル T2 を使用してホスト X にパケットを送信します。ルーター G はトンネル T1 と T2 を通ってホスト Q に到達できるため、パケットの通過を許可し、それぞれホスト Y とホスト X に転送します。
レイヤー 3 VPN では、スプーフィング対策保護はデフォルトで有効になっていません。ネクストホップベースの動的トンネルでアンチスプーフィングを有効にするには、[edit routing-instances routing-instance-name routing-options forwarding-table]階層レベルでip-tunnel-rpf-checkステートメントを含めます。リバース パス フォワーディング チェックは、VRF ルーティング インスタンスにのみ適用されます。デフォルト モードは strict に設定されており、指定されていないトンネルの送信元から着信するパケットはチェックに合格しません。ip-tunnel-rpf-checkモードをlooseに設定して、存在しない送信元からのパケットの場合、リバースパス転送チェックに失敗させることができます。オプションのファイアウォールフィルターを ip-tunnel-rpf-check ステートメントの下に設定して、リバースパス転送チェックに失敗したパケットをカウントして記録することができます。
次のサンプル出力は、なりすまし防止設定を示しています。
[edit routing-instances routing-instance-name routing-options forwarding-table]
ip-tunnel-rpf-check {
mode loose;
fail-filter filter-name;
}
ネクストホップベースの動的トンネルにアンチスプーフィング保護を設定する際には、以下のガイドラインを考慮してください。
アンチスプーフィング保護は、IPv4 トンネルと IPv4 データ トラフィックに対してのみ有効にできます。アンチスプーフィング機能は、IPv6 トンネルおよび IPv6 データ トラフィックではサポートされていません。
ネクストホップベースの動的トンネルのなりすまし対策は、侵害された仮想マシン(内部ソースのリバースパス転送チェック)を検出して防止できますが、ラベルスプーフィングである侵害されたサーバーは検出および防止できません。
ネクストホップベースの IP トンネルは、inet.0 ルーティングテーブルを起点と終点とすることができます。
なりすまし防止保護は、VRF ルーティング インスタンスにラベルスイッチ インターフェイス(LSI)(
vrf-table-labelを使用)、または VT(仮想トンネル)インターフェイスがある場合に効果的です。VRFルーティング インスタンスper-next-hopラベルでは、なりすまし防止保護はサポートされていません。rpf fail-filterは、内部 IP パケットにのみ適用されます。なりすまし防止チェックを有効にしても、デバイス上のネクストホップベースの動的トンネルの拡張制限には影響しません。
VRF ルーティング インスタンスに対してアンチスプーフィング保護を有効にしたシステム リソース使用率は、アンチスプーフィング保護が有効でないネクストホップベースの動的トンネルの使用率よりもわずかに高くなります。
なりすまし防止保護では、追加の送信元 IP アドレス チェックが必要になりますが、これはネットワーク パフォーマンスへの影響を最小限に抑えます。
スプーフィング対策により、GRES(グレースフルルーティングエンジンスイッチオーバー)とISSU(インサービスソフトウェアアップグレード)がサポートされています。
例:ネクストホップベースの動的トンネルのなりすまし防止保護の設定
この例では、VRF(仮想ルーティングおよび転送)ルーティング インスタンスのリバース パス フォワーディング チェックを設定して、ネクストホップベースの動的トンネルのなりすまし防止保護を有効にする方法を示します。このチェックでは、正当な送信元が指定されたIPトンネルを介してトラフィックを挿入していることを確認します。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
MICを搭載した3台のMXシリーズルーターで、それぞれがホストデバイスに接続。
1 つまたはすべてのルーターで実行されている Junos OS リリース 17.1 以降。
開始する前に、以下を実行します。
フレキシブルPICコンセントレータでトンネルサービス設定を有効にします。
ルーター インターフェイスを設定します。
ルーター ID を設定し、ルーターに自律システム番号を割り当てます。
トンネル エンドポイントとの内部 BGP(IBGP)セッションを確立します。
すべてのルータで RSVP を設定します。
すべてのルータでOSPF またはその他の内部ゲートウェイ プロトコルを設定します。
2 つのルーター間に 2 つの動的なネクストホップベースの IP トンネルを設定します。
すべてのルーターツーホスト接続に対して VRF ルーティング インスタンスを設定します。
概要
Junos OS リリース 17.1 以降、なりすまし防止機能がネクストホップベースの動的 IP トンネルに追加され、パケット転送エンジンの逆方向のパス転送を使用して、トンネルを通過してルーティング インスタンスに到達するトラフィックのチェックが実装されます。
現在、ゲートウェイルーターがトンネルからトラフィックを受信すると、宛先アドレスのルックアップのみが転送される前に行われます。なりすまし防止保護により、ゲートウェイルーターはVPN内のカプセル化パケットIPヘッダーの送信元アドレス検索を行い、正規の送信元が指定されたIPトンネルを介してトラフィックを挿入していることを確認します。これは厳密モードと呼ばれ、なりすまし防止保護の既定の動作です。指定されていないトンネルからのトラフィックを通過させるには、リバース パス フォワーディング チェックを lose モードで有効にします。存在しない送信元から受信したトラフィックの場合、リバース パス転送チェックはストリクト モードとルーズ モードの両方で失敗します。
アンチスプーフィングは、VRF ルーティング インスタンスでサポートされています。動的トンネルのなりすまし防止を有効にするには、[edit routing-instances routing-instance-name routing-options forwarding-table]階層レベルでip-tunnel-rpf-checkステートメントを含めます。
位相幾何学
図 4 は、なりすまし防止保護が有効なネットワーク トポロジーの例を示しています。ルーター R0、R1、および R2 は、それぞれホスト Host0、Host1、および Host2 に接続されています。2つのGRE(一般ルーティングのカプセル化)ネクストホップベースの動的トンネル、トンネル1とトンネル2は、それぞれルーターR0をルーターR1およびR2に接続します。VRF ルーティング インスタンスは、各ルーターとそれに接続されたホスト デバイスの間で実行されます。
例として、3つのパケット(パケットA、B、およびC)がルーターR2からネクストホップベースの動的GREトンネル(トンネル2)を介してルーター0で受信されます。これらのパケットの送信元 IP アドレスは、172.17.0.2(パケット A)、172.18.0.2(パケット B)、172.20.0.2(パケット C)です。
パケット A とパケット B の送信元 IP アドレスは、それぞれホスト 2 とホスト 1 に属しています。パケット C は存在しない送信元トンネルです。この例の指定トンネルはトンネル 2 で、非指定トンネルはトンネル 1 です。したがって、パケットは次のように処理されます。
Packet A—送信元が指定されたトンネル(トンネル 2)から来ているため、パケット A はリバース パス転送チェックに合格し、トンネル 2 を経由する転送として処理されます。
Packet B—送信元がトンネル 1(非宛先トンネル)から来ているため、デフォルトでは、パケット B は厳密モードでのリバース パス転送チェックに失敗します。ルーズ モードが有効な場合、パケット B の転送が許可されます。
Packet C—送信元が存在しないトンネル送信元であるため、パケット C はリバース パス転送チェックに失敗し、パケットは転送されません。
構成
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
ルーターR0
set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.1/24 set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.1/24 set interfaces ge-0/0/2 vlan-tagging set interfaces ge-0/0/2 unit 0 vlan-id 1 set interfaces ge-0/0/2 unit 0 family inet address 172.16.0.1/16 set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set routing-options router-id 10.1.1.1 set routing-options autonomous-system 100 set routing-options dynamic-tunnels gre next-hop-based-tunnel set routing-options dynamic-tunnels T1 source-address 192.0.2.1 set routing-options dynamic-tunnels T1 gre set routing-options dynamic-tunnels T1 destination-networks 192.0.2.0/24 set routing-options dynamic-tunnels T2 source-address 198.51.100.1 set routing-options dynamic-tunnels T2 gre set routing-options dynamic-tunnels T2 destination-networks 198.51.100.0/24 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols bgp group IBGP type internal set protocols bgp group IBGP local-address 10.1.1.1 set protocols bgp group IBGP family inet-vpn unicast set protocols bgp group IBGP neighbor 20.1.1.1 set protocols bgp group IBGP neighbor 30.1.1.1 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface all set routing-instances VPN1 instance-type vrf set routing-instances VPN1 interface ge-0/0/2.0 set routing-instances VPN1 route-distinguisher 100:100 set routing-instances VPN1 vrf-target target:100:1 set routing-instances VPN1 vrf-table-label set routing-instances VPN1 routing-options forwarding-table ip-tunnel-rpf-check mode strict set routing-instances VPN1 protocols bgp group External type external set routing-instances VPN1 protocols bgp group External family inet unicast set routing-instances VPN1 protocols bgp group External peer-as 200 set routing-instances VPN1 protocols bgp group External neighbor 172.16.0.1
ルーター R1
set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.2/24 set interfaces ge-0/0/1 vlan-tagging set interfaces ge-0/0/1 unit 0 vlan-id 2 set interfaces ge-0/0/1 unit 0 family inet address 172.18.0.1/16 set interfaces lo0 unit 0 family inet address 20.1.1.1/32 set routing-options router-id 20.1.1.1 set routing-options autonomous-system 100 set routing-options dynamic-tunnels gre next-hop-based-tunnel set routing-options dynamic-tunnels T1 source-address 192.0.2.2 set routing-options dynamic-tunnels T1 gre set routing-options dynamic-tunnels T1 destination-networks 192.0.2.0/24 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols bgp group IBGP type internal set protocols bgp group IBGP local-address 20.1.1.1 set protocols bgp group IBGP family inet-vpn unicast set protocols bgp group IBGP neighbor 30.1.1.1 set protocols bgp group IBGP neighbor 10.1.1.1 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface all set routing-instances VPN2 instance-type vrf set routing-instances VPN2 interface ge-0/0/1.0 set routing-instances VPN2 route-distinguisher 100:200 set routing-instances VPN2 vrf-target target:200:1 set routing-instances VPN2 vrf-table-label
R2の
set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.2/24 set interfaces ge-0/0/2 vlan-tagging set interfaces ge-0/0/2 unit 0 vlan-id 3 set interfaces ge-0/0/2 unit 0 family inet address 172.17.0.1/16 set interfaces lo0 unit 0 family inet address 30.1.1.1/32 set routing-options router-id 30.1.1.1 set routing-options autonomous-system 100 set routing-options dynamic-tunnels gre next-hop-based-tunnel set routing-options dynamic-tunnels T2 source-address 198.51.100.2 set routing-options dynamic-tunnels T2 gre set routing-options dynamic-tunnels T2 destination-networks 198.51.100.0/24 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols bgp group IBGP type internal set protocols bgp group IBGP local-address 30.1.1.1 set protocols bgp group IBGP family inet-vpn unicast set protocols bgp group IBGP neighbor 20.1.1.1 set protocols bgp group IBGP neighbor 10.1.1.1 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface all set routing-instances VPN3 instance-type vrf set routing-instances VPN3 interface ge-0/0/2.0 set routing-instances VPN3 route-distinguisher 100:300 set routing-instances VPN3 vrf-target target:300:1 set routing-instances VPN3 vrf-table-label
プロシージャ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
ルーター R0 の設定を行う。
ループバック インターフェイスを含め、ルーター R0 のインターフェイスを設定します。
[edit interfaces] user@R0# set ge-0/0/0 unit 0 family inet address 192.0.2.1/24 user@R0# set ge-0/0/1 unit 0 family inet address 198.51.100.1/24 user@R0# set ge-0/0/2 vlan-tagging user@R0# set ge-0/0/2 unit 0 vlan-id 1 user@R0# set ge-0/0/2 unit 0 family inet address 172.16.0.1/16 user@R0# set lo0 unit 0 family inet address 10.1.1.1/32
ルーター R0 のルーター ID と自律システム番号を割り当てます。
[edit routing-options] user@R0# set router-id 10.1.1.1 user@R0# set autonomous-system 100
ルーター間のIBGPピアリングを設定します。
[edit protocols] user@R0# set bgp group IBGP type internal user@R0# set bgp group IBGP local-address 10.1.1.1 user@R0# set bgp group IBGP family inet-vpn unicast user@R0# set bgp group IBGP neighbor 20.1.1.1 user@R0# set bgp group IBGP neighbor 30.1.1.1
管理インターフェイスを除くルーター R0 のすべてのインターフェイスで OSPF を設定します。
[edit protocols] user@R0# set ospf traffic-engineering user@R0# set ospf area 0.0.0.0 interface lo0.0 passive user@R0# set ospf area 0.0.0.0 interface all
管理インターフェイスを除くルーター R0 のすべてのインターフェイスで RSVP を設定します。
[edit protocols] user@R0# set rsvp interface all user@R0# set rsvp interface fxp0.0 disable
ルーター R0 でネクストホップベースの動的 GRE トンネル設定を有効にします。
[edit routing-options] user@R0# set dynamic-tunnels gre next-hop-based-tunnel
ルーター R0 からルーター R1 への動的 GRE トンネル パラメーターを設定します。
[edit routing-options] user@R0# set dynamic-tunnels T1 source-address 192.0.2.1 user@R0# set dynamic-tunnels T1 gre user@R0# set dynamic-tunnels T1 destination-networks 192.0.2.0/24
ルーター R0 からルーター R2 への動的 GRE トンネル パラメーターを設定します。
[edit routing-options] user@R0# set dynamic-tunnels T2 source-address 198.51.100.1 user@R0# set dynamic-tunnels T2 gre user@R0# set dynamic-tunnels T2 destination-networks 198.51.100.0/24
ルーター R0 で VRF(仮想ルーティングおよび転送)ルーティング インスタンスを設定し、ホスト 1 に接続するインターフェイスを VRF インスタンスに割り当てます。
[edit routing-instances] user@R0# set VPN1 instance-type vrf user@R0# set VPN1 route-distinguisher 100:100 user@R0# set VPN1 vrf-target target:100:1 user@R0# set VPN1 vrf-table-label user@R0# set VPN1 interface ge-0/0/2.0
VRFルーティング インスタンス用にホスト1との外部BGPセッションを設定します。
[edit routing-instances] user@R0# set VPN1 protocols bgp group External type external user@R0# set VPN1 protocols bgp group External family inet unicast user@R0# set VPN1 protocols bgp group External peer-as 200 user@R0# set VPN1 protocols bgp group External neighbor 172.16.0.1
ルーター R0 上の VRF ルーティング インスタンスのなりすまし防止保護を設定します。これにより、ルーター0でネクストホップベースの動的トンネルT1およびT2のリバースパス転送チェックが可能になります。
[edit routing-instances] user@R0# set VPN1 routing-options forwarding-table ip-tunnel-rpf-check mode strict
業績
設定モードから、 show interfaces、 show routing-options、 show protocols、 show routing-options コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R0# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 198.51.100.1/24;
}
}
}
ge-0/0/2 {
vlan-tagging;
unit 0 {
vlan-id 1;
family inet {
address 172.16.0.1/16;
}
}
}
lo0 {
unit 0 {
family inet {
address 10.1.1.1/32;
}
}
}
user@R0# show routing-options
router-id 10.1.1.1;
autonomous-system 100;
dynamic-tunnels {
gre next-hop-based-tunnel;
T1 {
source-address 192.0.2.1;
gre;
destination-networks {
192.0.2.0/24;
}
}
T2 {
source-address 198.51.100.1;
gre;
destination-networks {
198.51.100.0/24;
}
}
}
user@R0# show protocols
rsvp {
interface all;
interface fxp0.0 {
disable;
}
}
bgp {
group IBGP {
type internal;
local-address 10.1.1.1;
family inet-vpn {
unicast;
}
neighbor 20.1.1.1;
neighbor 30.1.1.1;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface all;
}
}
user@R0# show routing-instances
VPN1 {
instance-type vrf;
interface ge-0/0/2.0;
route-distinguisher 100:100;
vrf-target target:100:1;
vrf-table-label;
routing-options {
forwarding-table {
ip-tunnel-rpf-check {
mode strict;
}
}
}
protocols {
bgp {
group External {
type external;
family inet {
unicast;
}
peer-as 200;
neighbor 172.16.0.1;
}
}
}
}
検証
設定が正常に機能していることを確認します。
基本設定の確認
目的
ルーターR0とルーターR1およびR2の間のOSPFおよびBGPピアリングステータスを確認します。
アクション
運用モードから、 show ospf neighbor コマンドと show bgp summary コマンドを実行します。
user@R0> show ospf neighbor
Address Interface State ID Pri Dead
192.0.2.2 ge-0/0/0.0 Full 20.1.1.1 128 32
198.51.100.2 ge-0/0/1.0 Full 30.1.1.1 128 32
user@R0> show bgp summary
Groups: 2 Peers: 3 Down peers: 1
Table Tot Paths Act Paths Suppressed History Damp State Pending
bgp.l3vpn.0
0 0 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
20.1.1.1 100 182 178 0 0 1:20:27 Establ
bgp.l3vpn.0: 0/0/0/0
30.1.1.1 100 230 225 0 0 1:41:51 Establ
bgp.l3vpn.0: 0/0/0/0
172.16.0.1 200 0 0 0 0 1:42:08 Establ
意味
OSPFおよびBGPセッションは、ルーターR0、R1、R2の間で稼働しています。
動的トンネル設定の検証
目的
ルーターR0とルーターR1およびR2間のネクストホップベースの動的GREトンネルのステータスを確認します。
アクション
運用モードから、 show route table inet.3コマンドと show dynamic-tunnels database terse コマンドを実行します。
user@R0> show route table inet.3
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.0.2.0/24 *[Tunnel/300] 01:47:57
Tunnel
192.0.2.2/24 *[Tunnel/300] 01:47:57
Tunnel Composite
198.51.100.0/24 *[Tunnel/300] 01:47:57
Tunnel
198.51.100.2/24 *[Tunnel/300] 01:47:57
Tunnel Composite
user@R0> show dynamic-tunnels database terse Table: inet.3 Destination-network: 192.0.2.0/24 Destination Source Next-hop Type Status 192.0.2.2/24 192.0.2.1 0xb395e70 nhid 612 gre Up Destination-network: 198.51.100.0/24 Destination Source Next-hop Type Status 198.51.100.2 198.51.100.1 0xb395e70 nhid 612 gre Up
意味
トンネル1とトンネル2の2つのネクストホップベース動的GREトンネルが立ち上がっています。
なりすまし防止保護の設定の確認
目的
ルーター R0 の VRF ルーティング インスタンスでリバース パス転送チェックが有効になっていることを確認します。
アクション
動作モードから、 show krt table VPN1.inet.0 detailを実行します。
user@R0> show krt table VPN1.inet.0 detail
KRT tables:
VPN1.inet.0 : GF: 1 krt-index: 8 ID: 0 kernel-id: 8
flags: (null)
tunnel rpf config data : enable, strict, filter [0], 0x2
tunnel rpf tlv data : enable, strict, filter [0], 0x4
unicast reverse path: disabled
fast-reroute-priority: 0
Permanent NextHops
Multicast : 0 Broadcast : 0
Receive : 0 Discard : 0
Multicast Discard: 0 Reject : 0
Local : 0 Deny : 0
Table : 0
意味
設定されたリバースパス転送チェックは、厳密モードのVRFルーティング インスタンスで有効になります。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。