ON THIS PAGE
例:次ホップベースの MPLS Over UDP 動的トンネルの構成
この例では、トンネル複合ネクストホップを含む動的 MPLS オーバー UDP トンネルを構成する方法を示します。MPLS オーバー UDP 機能は、デバイスでサポートされる IP トンネル数を拡大縮小することを可能にします。
Junos OS リリース 18.3 R1 では、PTX シリーズルーターと QFX シリーズスイッチで MPLS オーバー UDP トンネルがサポートされています。PTX ルーターまたは QFX スイッチで構成されたすべての動的トンネルでは、トンネルの複合ルートを解決するために、トンネルコンポジット次ホップ、間接的なネクストホップ、および転送の次ホップが作成されます。また、ポリシー制御を使用して、forwarding-rib構成ステートメントを[edit routing-options dynamic-tunnels]階層レベルで指定することで、選択したプレフィックスを介して動的トンネルを解決することもできます。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
5個の MX シリーズルーター (MPCs と Mic を使用)
PE ルーターで Junos OS リリース16.2 以降が実行されています。
開始する前に:
ループバックインターフェイスを含むデバイスインターフェイスを構成します。
デバイスのルーター ID と autonmous システム番号を設定します。
リモート PE デバイスとの内部 BGP (IBGP) セッションを確立します。
デバイス間のピアリング OSPF 確立します。
概要
Junos OS リリース16.2 から始めると、動的 UDP トンネルは、設定されたすべての UDP トンネルに対してトンネル複合ネクストホップの作成をサポートします。これらの次ホップベースの動的 UDP トンネルは、MPLS UDP トンネルと呼ばれています。MPLS オーバー UDP トンネルでは、トンネル合成の次ホップがデフォルトで有効になります。
MPLS オーバー UDP トンネルは、双方向または一方向である場合があります。PE デバイスが MPLS オーバー UDP トンネルを介して双方向に接続されている場合、双方向の MPLS over UDP トンネルと呼ばれます。2つの PE デバイスが MPLS オーバー UDP トンネルを介して一方の方向に接続されているときに MPLS/IGP が逆方向になっている場合、それを単一方向 MPLS オーバー UDP トンネルと呼んでいます。
単一の MPLS オーバー UDP トンネルは、移行シナリオで使用される場合、または2つの PE デバイスが相互に接続して2つのネットワークを切断する場合に適しています。逆方向トンネルは、単方向 MPLS オーバー UDP トンネルには存在しないため、トラフィックを転送するために、リモート PE デバイス上でフィルターベース MPLS over UDP カプセル化解除を構成する必要があります。
Junos OS のリリース18.2 をはじめ、PTX シリーズルーターと QFX10000 MPLS over UDP トンネルを使用して、リモート PE デバイスを MPLS オーバー UDP パケット用の入力フィルターと、decapsulating の IP および UDP ヘッダーのアクションに設定する必要があります。パケットを逆方向でトンネル転送します。
たとえば、リモート PE デバイスのデバイス PE2 では、単一の MPLS オーバー UDP トンネルの場合、以下の設定が必要です。
PE2
上記の構成例では、 Decap_FilterMPLS over UDP カプセル化解除に使用されるファイアウォールフィルターの名前です。という用語 udp_decapは、デバイス PE2 のコアインターフェイスで UDP パケットを受信するための入力フィルターを MPLS decapsulate し、UDP パケットを転送に使用する MPLS オーバー IP パケットに送信します。
フィルターベースの MPLS over UDP カプセル化解除show firewall filterを表示するなど、既存のファイアウォール動作モードコマンドを使用できます。
たとえば、以下のように記述します。
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 では、MX シリーズルーターで MPCs と Mic を使用して開始すると、MPLS オーバー UDP トンネルの拡張制限が増加します。
Junos リリース19.2 で開始した MX シリーズルーター (MPCs および Mic) では、キャリア・サポート・キャリア (CSC) アーキテクチャを MPLS オーバー UDP トンネルとともに導入し、サポートする間に確立された動的な IPv4 UDP トンネルを介して MPLS トラフィックを伝送することができます。キャリアの PE デバイスです。この機能強化により、提供された MPLS オーバー UDP トンネルの拡張によるメリットがさらに高まります。MPLS over UDP トンネルを使用した CSC サポートは、IPv6 UDP トンネルではサポートされていません。
既存の動的トンネル機能には、完全な静的構成が必要です。現在、通知ルート内のピアデバイスから受信したトンネル情報は無視されます。 Junos OS リリース 17.4 R1 では、MX シリーズルーター上で、次ホップベースの動的 MPLS オーバー UDP トンネルが、BGP カプセル化拡張コミュニティーを使用して通知されます。BGP エクスポートポリシーは、トンネルタイプを指定し、送信側トンネル情報をアドバタイズし、受信側トンネル情報を解析して伝達するために使用されます。受信したタイプのトンネルコミュニティーに従ってトンネルが作成されます。
BGP では、複数のトンネル encapsulations がサポートされています。複数の機能を受信すると、構成された BGP ポリシーとトンネルの優先度に基づいて、次ホップベースの動的トンネルが作成されます。トンネルの優先度は、トンネルを設定するためにトンネルの両端で一貫している必要があります。デフォルトでは、MPLS over UDP トンネルは GRE トンネルよりも優先されます。動的トンネル構成が存在する場合、受信したトンネルコミュニティーよりも優先されます。
次ホップベースの動的 MPLS over UDP トンネルを構成する場合は、以下の考慮事項に注意してください。
IBGP セッションは、PE デバイス間で構成する必要があります。
ネクストホップベースの動的トンネル encapsulations (UDP と GRE) 間のスイッチオーバーは許可されているため、各モードでサポートされる IP トンネルスケーリング値の面でネットワークのパフォーマンスに影響を与える可能性があります。
同じトンネル宛先に対して GRE と UDP の次ホップベースの動的トンネルカプセル化タイプを使用すると、コミットエラーが発生します。
単一方向 MPLS オーバー UDP トンネルでは、パケットを転送するために、フィルターベースの MPLS over UDP カプセル化解除をリモート PE デバイス上で明示的に設定する必要があります。
グレースフルルーティングエンジンスイッチオーバー (GRES) は MPLS over UDP によってサポートされており、MPLS オーバー UDP トンネルタイプフラグは統合型 ISSU および NSR 準拠です。
MPLS over UDP トンネルは、仮想 MX (vMX) でサポートされています。
MPLS over UDP トンネルは、IPv4 にマッピングされた新しいホップ数に基づいて、ダイナミック GRE トンネルの作成をサポートします。
MPLS オーバー UDP トンネルは、contrail との相互運用性をサポートしているため、contrail vRouter から MX ゲートウェイへの MPLS オーバー UDP トンネルが作成されます。これを可能にするには、MX シリーズルーターから contrail vRouter へのルートで、以下のコミュニティーを提供する必要があります。
[edit policy-options community]udp members 0x030c:64512:13;特定の時点では、contrail vRouter—の次ホップベースのダイナミック GRE トンネル、MPLS オーバー UDP トンネル、または VXLAN で、トンネルタイプを1つだけサポートしています。
次ホップベースの動的 MPLS UDP トンネル構成では、以下の機能はサポートされていません。
RSVP 自動メッシュ
標準 IPV6 GRE と UDP トンネルの構成
論理システム
Topology
図 1は、動的 MPLS オーバー UDP トンネルを介したレイヤー 3 VPN のシナリオを示しています。顧客エッジ (CE) デバイス、CE1 と CE2 は、それぞれプロバイダエッジ (PE) デバイス、PE1、PE2 に接続します。PE デバイスはプロバイダデバイス (デバイス P1) に接続され、内部 BGP (IBGP) セッションが2つの PE デバイスを相互に関連付けています。ダイナミックなネクストホップベースの MPL トンネルが、PE デバイス間に設定されています。

MPLS オーバー UDP トンネルは、以下のように処理されます。
- MPLS オーバー UDP トンネルが構成された後、inet. 3 ルーティングテーブル内でトンネルに対してトンネルの複合次ホップを持つトンネル宛先マスクルートが作成されます。この IP トンネルルートは、動的トンネルの構成が削除された場合にのみ、ウィズドロウされます。
トンネル複合の次ホップ属性には、以下が含まれています。
レイヤー 3 VPN 複合次ホップが、送信—元と宛先のアドレス、カプセル化文字列、VPN ラベルを無効にしている場合。
レイヤー 3 VPN 複合次ホップおよびプレフィックスごとの VPN ラベル割り当てが有効に—なっている場合は、送信元アドレス、宛先アドレス、カプセル化文字列を使用できます。
レイヤー 3 VPN 複合次ホップが有効になっており、プレフィックスごとの VPN ラベル—割り当てが無効になっている場合は、送信元アドレス、宛先アドレス、カプセル化文字列を使用します。この場合のルートは、もう一方の仮想ルーティングおよび転送インスタンステーブルに追加され、2番目のルートがあります。
- PE デバイスは、IBGP セッションを使用して相互接続されています。リモート BGP の近隣への IBGP ルートのネクストホップは、プロトコルのネクストホップです。トンネルのネクストホップを使用してトンネルマスクルートを使って解決されます。
- プロトコルのネクストホップがトンネル複合次ホップで解決された後、次ホップを転送する間接的なホップが作成されます。
- トンネル合成次ホップは、間接的な次ホップの次のホップを転送するために使用されます。
構成
CLI 簡単構成
この例を簡単に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細を変更し、コマンドを[edit]階層レベルで CLI にコピー & ペーストしてから設定commitモードから開始します。
CE1
CE2
PE1
P1
PE2
ステップごとの手順
次の例では、構成階層のさまざまなレベルを移動する必要があります。Cli のナビゲートの詳細については、『 Using the CLI Editor in Configuration Modeの「 CLI ユーザーガイド」を参照してください。
デバイス PE1 を構成するには、次のようにします。
- デバイスのループバックインターフェイスを含むデバイスインターフェイスを構成します。[edit interfaces]user@PE1# set ge-0/0/0 unit 0 family inet address 10.0.0.2/8user@PE1# set ge-0/0/1 unit 0 family inet address 192.0.2.1/24user@PE1# set ge-0/0/1 unit 0 family mplsuser@PE1# set lo0 unit 0 family inet address 127.0.0.2/8
- デバイス P1 を備えた PE1 とのルートの静的ルートを、次ホップの宛先として設定します。[edit routing-options]user@PE1# set static route 33.0.0.0/8 next-hop 192.0.2.2
- デバイス PE1 のルーター ID と自律システム番号を設定します。[edit routing-options]user@PE1# set router-id 127.0.0.2user@PE1# set autonomous-system 100
- (PTX シリーズのみ)選択したプレフィックスを介して MPLS オーバー UDP 動的トンネルルートを解決するように、ポリシー制御を構成します。[edit routing-options dynamic-tunnels]user@PTX-PE1# set forwarding-rib inet.0 inet-import dynamic-tunnel-fwd-route-import
- (PTX シリーズのみ)動的トンネル宛先ルートを解決するための inet インポートポリシーを設定します。[edit policy-options]user@PTX-PE1# set policy-statement dynamic-tunnel-fwd-route-import term 1 from route-filter 127.0.0.0/8 exactuser@PTX-PE1# set policy-statement dynamic-tunnel-fwd-route-import term 1 then acceptuser@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 internaluser@PE1# set bgp group IBGP local-address 127.0.0.2user@PE1# set bgp group IBGP family inet-vpn unicastuser@PE1# set bgp group IBGP neighbor 127.0.0.4
- 管理インターフェイスを除く、デバイス PE1 のすべてのインターフェイスで OSPF を構成します。[edit protocols]user@PE1# set ospf area 0.0.0.0 interface ge-0/0/1.0user@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 オーバー UDP トンネルパラメーターを構成します。[edit routing-options]user@PE1# set dynamic-tunnels udp-dyn-tunnel-to-pe2 source-address 127.0.0.2user@PE1# set dynamic-tunnels udp-dyn-tunnel-to-pe2 udpuser@PE1# set dynamic-tunnels udp-dyn-tunnel-to-pe2 destination-networks 127.0.0.0/8
- デバイス PE1 およびその他のルーティングインスタンスのパラメーターで VRF ルーティングインスタンスを構成します。[edit routing-instances]user@PE1# set MPLS-over-UDP-PE1 instance-type vrfuser@PE1# set MPLS-over-UDP-PE1 interface ge-0/0/0.0user@PE1# set MPLS-over-UDP-PE1 route-distinguisher 127.0.0.2:1user@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 200user@PE1# set MPLS-over-UDP-PE1 protocols bgp group pe1-ce1 neighbor 10.0.0.1 as-override
結果
構成モードからshow interfaces、、、 show routing-optionsshow protocols、およびshow routing-instancesコマンドを入力して設定を確認します。出力に意図した構成が表示されない場合は、この例の手順を繰り返して設定を修正します。
デバイスの設定が完了したら、設定commitモードから入力します。
検証
構成が正常に機能していることを確認します。
PE デバイス間の接続の確認
目的
デバイス PE1 とデバイス PE2 の間でピアリングステータスを検証し、デバイス PE2 から受信した BGP ルートを 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 MPLS-over-UDP-PE1.inet.0: 2/2/2/0 10.0.0.1 200 135 136 0 0 58:53 Establ MPLS-over-UDP-PE1.inet.0: 1/1/1/0
user@PE1> show route receive-protocol bgp 127.0.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 127.0.0.4:1:127.0.0.5/8 * 127.0.0.4 100 200 I 127.0.0.4:1:200.1.1.0/24 * 127.0.0.4 100 I
意味
最初の出力ではEstabl、セッションが稼働していて PE デバイスが起動していることを BGP セッション状態としています。
2つ目の出力では、デバイス PE1 がデバイス PE2 から2つの 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 127.0.0.0/8 *[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: 127.0.0.0/8 Destination Source Next-hop Type Status 127.0.0.4/8 127.0.0.2 0xb395b10 nhid 613 udp Up
user@PE1> show dynamic-tunnels database
Table: inet.3 Destination-network: 55.0.0.0/8 Destination-network: 55.66.0.0/16 Destination-network: 55.66.77.0/24 Tunnel to: 127.0.0.4/8 Reference count: 2 Next-hop type: UDP Source address: 127.0.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 オーバー UDP トンネルで構成されているため、inet. 3 ルーティングテーブルルートエントリに対してトンネル複合ルートが作成されます。
残りの出力では、MPLS オーバー 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 127.0.0.0/8 *[Tunnel/300] 00:39:31 Tunnel 127.0.0.2/8 *[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 127.0.0.2/8 127.0.0.4 0xb395450 nhid 615 udp Up
意味
この出力には、MPLS UDP トンネル作成と、デバイス PE1 と同様のネクストホップインターフェイスとして割り当てられた next-hop ID が示されています。
ルートに予期された間接的な next-hop フラグがあることを確認しています
目的
デバイス PE1 とデバイス PE2 が、パケット転送エンジン転送テーブルに next-hop binding を転送するために、間接的な次ホップを維持するように設定されていることを確認します。
アクション
運用モードから、 show krt indirect-next-hopデバイス PE1 およびデバイス PE2 でコマンドを実行します。
user@PE1> show krt indirect-next-hop
Indirect Nexthop: Index: 1048574 Protocol next-hop address: 127.0.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: 127.0.0.4, Source address: 127.0.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: 127.0.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: 127.0.0.2, Source address: 127.0.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 デバイス間に next-hop ベースの動的 MPLS UDP トンネルが作成されることを示しています。
トラブルシューティング
次ホップベースの動的トンネルのトラブルシューティングについては、以下を参照してください。
トラブルシューティングのコマンド
問題
次ホップベースの動的 MPLS UDP トンネルの設定は有効になりません。
ソリューション
Next-hop ベースの MPLS UDP トンネル構成のトラブルシューティングを行うには、 traceroute[edit routing-options dynamic-tunnels]ステートメント階層で次のコマンドを使用します。
traceoptions file file-name
traceoptions file size file-size
traceoptions flag all
たとえば、以下のように記述します。