例:MPLS ベースのレイヤー 2 VPN の設定
この例では、Junos OS を実行しているルーターまたはスイッチ上で MPLS ベースのレイヤー 2 VPN を設定および検証する方法を示します。
この例は、当社のコンテンツテスト チームが検証し、更新したものです。
Junos OSが動作するルーターとスイッチを使用して、MPLSベースのレイヤー2仮想プライベートネットワークを導入し、レイヤー2接続で顧客サイトを相互接続することができます。レイヤー 2 VPN により、お客様はトランスポートおよびルーティング プロトコルの選択を完全に制御できます。
MPLS ベースの VPN には、プロバイダー ネットワークにおけるベースライン MPLS 機能が必要です。基本的なMPLSが運用可能になると、プロバイダーのコアを介したトランスポートにラベルスイッチパス(LSP)を使用するVPNを設定することができます。
VPN サービスを追加しても、プロバイダ ネットワークでの基本的な MPLS スイッチング動作には影響しません。実際、プロバイダー(P)デバイスは VPN を認識していないため、ベースライン MPLS 設定のみを必要とします。VPN 状態は、PE デバイスでのみ維持されます。これが、MPLSベースのVPNの拡張性が高い主な理由です。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
Junos OS リリース 15.1 以降
Junos OS リリース 20.1R1 で再検証
2 台のプロバイダ エッジ(PE)デバイス
1つのプロバイダー(P)デバイス
2つのカスタマーエッジ(CE)デバイス
この例では、既存の MPLS ベースラインにレイヤー 2 VPN を追加する方法に焦点を当てています。ネットワークに MPLS がまだ導入されていない場合に備えて、基本的な MPLS 設定が提供されます。
MPLS ベースの VPN をサポートするには、基盤となる MPLS ベースラインが以下の機能を備えている必要があります。
MPLSファミリーに対応したコアフェーシングおよびループバックインターフェイスをサポート
プロバイダ(PおよびPE)デバイスのループバックアドレス間の到達性を提供する、OSPF や IS-IS などの内部ゲートウェイプロトコル
LSP に信号を送るための LDP や RSVP などの MPLS シグナリング プロトコル
PEデバイスループバックアドレス間に確立されたLSP
LSP は、特定の VPN に参加する PE デバイスの各ペア間に必要です。将来のVPNの成長に対応するために、すべてのPEデバイス間にLSPを構築するのは良い考えです。LSPは [edit protocols mpls]
階層レベルで設定します。CCC(回線クロスコネクト)の MPLS 設定とは異なり、LSP を PE デバイスの顧客向け(エッジ)インターフェイスに手動で関連付ける必要はありません。代わりに、レイヤー2VPNはBGPシグナリングを使用してレイヤー2サイトの到達可能性を伝えます。このBGPシグナリングにより、リモートレイヤー2 VPNサイトとLSP転送ネクストホップのマッピングが自動化されます。つまり、レイヤー 2 VPN では、LSP から PE デバイスのエッジに面したインターフェイスへの明示的なマッピングは必要ありません。
CCC の詳細については、『 Configuring an MPLS-Based VLAN CCC Using a Layer 2 Circuit』を参照してください。
概要とトポロジー
レイヤー2VPNでは、プロバイダのネットワークとお客様のネットワークが完全に分離されています。レイヤー2VPNの利点には、非標準トランスポートプロトコルのサポートや、顧客とプロバイダネットワーク間のリンクアドレッシングおよびルーティングプロトコル動作の分離などがあります。
VPN の定義には、ローカルおよびリモートの PE デバイスへの変更のみが含まれます。プロバイダーデバイスは基本的なMPLSスイッチング機能しか提供しないため、(ベースラインMPLSサポートは別として)追加の設定は必要ありません。CE デバイスは MPLS を使用しません。レイヤー2 VPN上で動作するために必要なのは、基本的なインターフェイスと、必要に応じてプロトコル設定だけです。レイヤ 2 VPN では、CE デバイスが共有リンクに接続されているかのように設定します。
MPLS ベースラインを設定したら、MPLS ベースのレイヤー 2 VPN を確立するために、PE デバイスで次の機能を構成する必要があります。
を含むBGPグループ
family l2vpn signaling
インスタンスタイプを持つルーティング インスタンス
l2vpn
PE デバイス上の顧客向けインターフェイスは、以下のように設定する必要があります。
VLANタギングが使用されているかどうかに応じて、物理層カプセル化
ethernet-ccc
またはvlan-ccc
を指定します。ルーティング インスタンスの設定で、一致するカプセル化タイプを設定します。
レイヤー2 VPNに使用する論理インターフェイス(ユニット)を
family ccc
で設定します。
図 1 に、この MPLS ベースのレイヤー 2 VPN の例のトポロジーを示します。この図は、プロバイダーネットワークで使用されるインターフェイス名、IPアドレッシング、およびプロトコルの詳細を示しています。また、CE デバイスのアドレッシングとプロトコル スタック操作のエンドツーエンドの性質についても強調しています。レイヤー 3 VPN とは異なり、レイヤー 2 VPN では、CE デバイスの動作はプロバイダ ネットワークに対して不透明です。CEデバイスとプロバイダネットワークの間にピアリング関係はありません。その結果、CE デバイスは、プロバイダー ネットワークではなく、プロバイダー ネットワーク間で OSPF 隣接関係を形成することが予想されます。

クイックコンフィグレーション
このセクションの設定を使用して、MPLS ベースのレイヤー 2 VPN を迅速に稼働させることができます。この構成には、レイヤー2 VPNをサポートする機能するMPLSベースラインが含まれています。この例では、設定のVPNの側面に焦点を当てています。この例で使用されているベースライン MPLS 機能の詳細については、以下のリンクを参照してください。
CLIクイック構成
デバイスの設定では、管理インターフェイス、静的ルート、システム ログ、システム サービス、およびユーザー ログイン情報が省略されます。設定のこれらの部分は場所によって異なり、MPLS や VPN 機能とは直接関係ありません。
ご使用の環境に合わせて必要に応じて以下のコマンドを編集し、ローカル CE(CE1)デバイス端末ウィンドウに貼り付けます。
CE1デバイスの完全な設定。
set system host-name ce1 set interfaces ge-0/0/0 description "Link from CE1 to PE1" set interfaces ge-0/0/0 unit 0 family inet address 172.16.1.1/30 set interfaces lo0 unit 0 family inet address 172.16.255.1/32 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
環境の詳細に合わせて必要に応じて以下のコマンドを編集し、ローカル PE(PE1)デバイス端末ウィンドウに貼り付けます。
PE1デバイスの完全な設定。
set system host-name pe1 set interfaces ge-0/0/0 description "Link from PE1 to CE1" set interfaces ge-0/0/0 encapsulation ethernet-ccc set interfaces ge-0/0/0 unit 0 family ccc set interfaces ge-0/0/1 description "Link from PE1 to P-router" set interfaces ge-0/0/1 mtu 4000 set interfaces ge-0/0/1 unit 0 family inet address 10.1.23.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set routing-instances l2vpn1 protocols l2vpn interface ge-0/0/0.0 description "EDGE LINK BETWEEN PE1 AND CE1" set routing-instances l2vpn1 protocols l2vpn site CE-1 interface ge-0/0/0.0 remote-site-id 2 set routing-instances l2vpn1 protocols l2vpn site CE-1 site-identifier 1 set routing-instances l2vpn1 protocols l2vpn encapsulation-type ethernet set routing-instances l2vpn1 instance-type l2vpn set routing-instances l2vpn1 interface ge-0/0/0.0 set routing-instances l2vpn1 route-distinguisher 192.168.0.1:12 set routing-instances l2vpn1 vrf-target target:65412:12 set routing-options autonomous-system 65412 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.1 set protocols bgp group ibgp family l2vpn signaling set protocols bgp group ibgp neighbor 192.168.0.3 set protocols mpls label-switched-path lsp_to_pe2 to 192.168.0.3 set protocols mpls interface ge-0/0/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/1.0
P デバイスの完全な設定。
set system host-name p set interfaces ge-0/0/0 description "Link from P-router to PE1" set interfaces ge-0/0/0 mtu 4000 set interfaces ge-0/0/0 unit 0 family inet address 10.1.23.2/24 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 description "Link from P-router to PE2" set interfaces ge-0/0/1 mtu 4000 set interfaces ge-0/0/1 unit 0 family inet address 10.1.34.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 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 rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0
PE2 デバイスの完全な設定。
set system host-name pe2 set interfaces ge-0/0/0 description "Link from PE2 to CE2" set interfaces ge-0/0/0 encapsulation ethernet-ccc set interfaces ge-0/0/0 unit 0 family ccc set interfaces ge-0/0/1 description "Link from PE2 to P-router" set interfaces ge-0/0/1 mtu 4000 set interfaces ge-0/0/1 unit 0 family inet address 10.1.34.2/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set routing-instances l2vpn1 protocols l2vpn interface ge-0/0/0.0 description "EDGE LINK BETWEEN PE2 AND CE2" set routing-instances l2vpn1 protocols l2vpn site CE-2 interface ge-0/0/0.0 remote-site-id 1 set routing-instances l2vpn1 protocols l2vpn site CE-2 site-identifier 2 set routing-instances l2vpn1 protocols l2vpn encapsulation-type ethernet set routing-instances l2vpn1 instance-type l2vpn set routing-instances l2vpn1 interface ge-0/0/0.0 set routing-instances l2vpn1 route-distinguisher 192.168.0.3:12 set routing-instances l2vpn1 vrf-target target:65412:12 set routing-options autonomous-system 65412 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.3 set protocols bgp group ibgp family l2vpn signaling set protocols bgp group ibgp neighbor 192.168.0.1 set protocols mpls label-switched-path lsp_to_pe1 to 192.168.0.1 set protocols mpls interface ge-0/0/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/1.0
CE2デバイスの完全な設定。
set system host-name ce2 set interfaces ge-0/0/0 description "Link from CE2 to PE2" set interfaces ge-0/0/0 unit 0 family inet address 172.16.1.2/30 set interfaces lo0 unit 0 family inet address 172.16.255.2/32 set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
作業に満足したら、必ずすべてのデバイスで設定変更をコミットしてください。新しいMPLSベースのレイヤー2VPNのリリースおめでとうございます!VPNが期待どおりに機能していることを確認するために必要な手順については、 検証 セクションを参照してください。
MPLS ベースのレイヤー 2 VPN 用のローカル PE(PE1)デバイスの設定
このセクションでは、この例で PE1 デバイスを設定するために必要な手順について説明します。この例で使用されている CE デバイスおよび P デバイスの設定については、「 例:MPLS ベースのレイヤー 2 VPN の設定 」の項を参照してください。
MPLS ベースラインを設定します(必要な場合)。
レイヤー2 VPNを設定する前に、PEデバイスに有効なMPLSベースラインがあることを確認してください。すでに MPLS ベースラインがある場合は、レイヤー 2 VPN をローカル PE デバイスに追加するためのステップバイステップの手順に進むことができます。
-
ホスト名を設定します。
[edit] user@pe1# set system host-name pe1
-
インターフェイスを設定します。
[edit] user@pe1# set interfaces ge-0/0/1 description "Link from PE1 to P-router" [edit] user@pe1# set interfaces ge-0/0/1 mtu 4000 [edit] user@pe1# set interfaces ge-0/0/1 unit 0 family inet address 10.1.23.1/24 [edit] user@pe1# set interfaces ge-0/0/1 unit 0 family mpls [edit] user@pe1# set interfaces lo0 unit 0 family inet address 192.168.0.1/32
注意:レイヤー2VPNは、プロバイダーネットワークでのフラグメント化をサポートしていません。プロバイダー ネットワークは、MPLS および VRF(仮想ルーティングおよび転送)ラベルが PE デバイスによって追加された 後に CE デバイスが生成できる最大のフレームをサポートすることが重要です。この例では、CE デバイスをデフォルトの 1500 バイトの最大送信単位(MTU)のままにし、プロバイダ コアが 4000 バイトの MTU をサポートするように設定します。この設定では、CE デバイスがプロバイダーのネットワーク内の MTU を超えないようにすることで、破棄を回避します。
-
プロトコルを設定します。
手記:トラフィックエンジニアリングは、RSVP シグナル化された LSP でサポートされていますが、基本的な MPLS スイッチングや VPN 導入に必須ではありません。提供される MPLS ベースラインは、RSVP を使用して LSP にシグナリングし、OSPF のトラフィック制御を可能にします。ただし、パス制約は設定されていないため、LSPは内部ゲートウェイプロトコルの最短パスでルーティングされることが想定されます。
[edit ]user@pe1# set protocols ospf area 0.0.0.0 interface lo0.0 [edit] user@pe1# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 [edit] user@pe1# set protocols ospf traffic-engineering [edit] user@pe1# set protocols mpls interface ge-0/0/1.0 [edit] user@pe1# set protocols rsvp interface lo0.0 [edit] user@pe1# set protocols rsvp interface ge-0/0/1.0
-
LSP をリモート PE デバイスのループバック アドレスに定義します。
[edit] user@pe1# set protocols mpls label-switched-path lsp_to_pe2 to 192.168.0.3
プロシージャ
手順
以下の手順に従って、レイヤー 2 VPN の PE1 デバイスを設定します。
エッジに面したインターフェイスを設定します。ユニット0に
family ccc
があるethernet-ccc
の物理カプセル化タイプを指定します。これは、タグなしイーサネットインターフェイスの唯一の有効なユニット番号です。VLANタギングを使用している場合は、カプセル化を指定しvlan-ccc
目的のユニットにCCCファミリーを追加します。先端:MPLS ベースのレイヤー 2 VPN と MPLS ベースのレイヤー 3 VPN の両方を同じ PE デバイス上で設定できます。ただし、レイヤー2 VPNとレイヤー3 VPNの両方をサポートするように、同じカスタマーエッジ向けインターフェイスを設定することはできません。
[edit]user@pe1# set interfaces ge-0/0/0 encapsulation ethernet-ccc [edit] user@pe1# set interfaces ge-0/0/0 unit 0 family ccc [edit] user@pe1# set interfaces ge-0/0/0 description "Link from PE1 to CE1"
手記:レイヤー2 VPNでは、PEデバイスのエッジに面したインターフェイスを、物理デバイスレベルでCCCカプセル化で設定し、ユニットレベルでCCCファミリーを設定する必要があります。プロバイダデバイスは、CCC、MPLSベースのレイヤー2 VPN、MPLSベースのレイヤー3 VPNのいずれを展開する場合でも、同じ方法で設定されます。これは、エッジに面したインターフェイスやVPN認識がないためです。
ローカルとリモートの PE デバイス間のピアリングに BGP グループを設定します。PEデバイスのループバックアドレスをローカルアドレスとして使用し、
family l2vpn signaling
を有効にします。[edit protocols bgp] user@pe1# set group ibgp local-address 192.168.0.1 family l2vpn signaling
BGP グループ タイプを内部として構成します。
[edit protocols bgp] user@pe1# set group ibgp type internal
リモート PE デバイスのループバック アドレスを BGP ネイバーとして設定します。
[edit protocols bgp] user@pe1# set group ibgp neighbor 192.168.0.3
BGP 自律システム番号を設定します。
[edit routing-options] user@pe1# set autonomous-system 65412
ルーティング インスタンスを設定します。まず、インスタンス名 l2vpn1を
instance-type
l2vpn
で指定します。[edit routing-instances] user@pe1# set l2vpn1 instance-type l2vpn
PE デバイスの顧客向けインターフェイスを、ルーティング インスタンスに属するように設定します。
[edit routing-instances] user@pe1# set l2vpn1 interface ge-0/0/0
ルーティング インスタンスのルート識別子を設定します。この設定は、特定の PE デバイス上の特定の VRF から送信されたルートを区別するために使用されます。これは、各 PE デバイスの各ルーティング インスタンスに固有である必要があります。
[edit routing-instances] user@pe1# set l2vpn1 route-distinguisher 192.168.0.1:12
インスタンスの仮想ルーティングおよび転送(VRF)テーブルのルートターゲットを設定します。
vrf-target
ステートメントは、指定されたコミュニティタグをアドバタイズされたすべてのルートに追加し、ルートインポートでも同じ値を自動的にマッチングさせます。適切なルート交換を行うためには、特定のVPNを共有するPEデバイス上で一致するルートターゲットを設定する必要があります。[edit routing-instances] user@pe1# set l2vpn1 vrf-target target:65412:12
手記:インポートおよびエクスポート オプションを使用して VRF インポートおよびエクスポート ポリシーを明示的に設定することで、より複雑なポリシーを作成できます。詳細については、「 vrf-import 」と 「vrf-export 」を参照してください。
インスタンスで
l2vpn
プロトコルを設定し、エッジに面したリンクで使用するカプセル化を指定します。エッジインターフェイスにVLANタグが付けられている場合は、必ずethernet-vlan
を指定してください。[edit routing-instances] user@pe1# set l2vpn1 protocols l2vpn encapsulation-type ethernet
インスタンスの
l2vpn
スタンザの下にエッジに面したインターフェイスを説明とともに追加します。[edit routing-instances] user@pe1# set l2vpn1 protocols l2vpn interface ge-0/0/0.0 description "L2vpn Link Between PE1 and CE1"
レイヤー 2 VPN サイト情報を構成し、エッジに面したインターフェイスをローカルの顧客サイトに関連付けます。
[edit routing-instances] user@pe1# set l2vpn1 protocols l2vpn site CE-1 site-identifier 1 interface ge-0/0/0.0 remote-site-id 2
手記:この例では、PE1デバイスのサイトIDは 1 で、PE2デバイスのサイトIDは 2です。ローカルPEデバイス(PE1)では、リモートサイトは
remote-site-id
値2で正しく設定されています。PE1デバイスで変更をコミットし、CLI運用モードに戻ります。
[edit] user@pe1# commit and-quit
業績
PE1デバイスでの設定の結果を表示します。出力には、この例で追加された機能設定のみが反映されます。
user@pe1> show configuration interfaces { ge-0/0/0 { description "Link from PE1 to CE1"; encapsulation ethernet-ccc; unit 0 { family ccc; } } ge-0/0/1 { description "Link from PE1 to P-router"; mtu 4000; unit 0 { family inet { address 10.1.23.1/24; } family mpls; } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } } } routing-instances { l2vpn1 { protocols { l2vpn { interface ge-0/0/0.0 { description "L2vpn Link Between PE1 and CE1" ; } site CE-1 { interface ge-0/0/0.0 { remote-site-id 2; } site-identifier 1; } encapsulation-type ethernet; } } instance-type l2vpn; interface ge-0/0/0.0; route-distinguisher 192.168.0.1:12; vrf-target target:65412:12; } } routing-options { autonomous-system 65412; } protocols { bgp { group ibgp { type internal; local-address 192.168.0.1; family l2vpn { signaling; } neighbor 192.168.0.3; } } mpls { label-switched-path lsp_to_pe2 { to 192.168.0.3; } interface ge-0/0/1.0; } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface ge-0/0/1.0; } } rsvp { interface lo0.0; interface ge-0/0/1.0; } }
MPLS ベースのレイヤー 2 VPN 用のリモート PE(PE2)デバイスの設定
このセクションでは、この例で PE2 デバイスを設定するために必要な手順について説明します。この例で使用されている CE デバイスおよび P デバイスの設定については、「 例:MPLS ベースのレイヤー 2 VPN の設定 」の項を参照してください。
MPLS ベースラインを設定します(必要な場合)。
レイヤー2 VPNを設定する前に、PEデバイスに有効なMPLSベースラインがあることを確認してください。すでに MPLS ベースラインがある場合は、ステップバイステップの手順に進み、レイヤー 2 VPN をローカル PE デバイスに追加できます。
-
ホスト名を設定します。
[edit] user@pe2# set system host-name pe2
-
インターフェイスを設定します。
[edit] user@pe2# set interfaces ge-0/0/1 description "Link from PE2 to P-router" [edit] user@pe2# set interfaces ge-0/0/1 mtu 4000 [edit] user@pe2# set interfaces ge-0/0/1 unit 0 family inet address 10.1.34.2/24 [edit] user@pe2# set interfaces ge-0/0/1 unit 0 family mpls [edit] user@pe2# set interfaces lo0 unit 0 family inet address 192.168.0.3/32
注意:レイヤー2VPNは、プロバイダーネットワークでのフラグメント化をサポートしていません。プロバイダー ネットワークは、MPLS および VRF(仮想ルーティングおよび転送)ラベルが PE デバイスによって追加された 後に CE デバイスが生成できる最大のフレームをサポートすることが重要です。この例では、CE デバイスをデフォルトの 1500 バイトの最大送信単位(MTU)のままにし、プロバイダ コアが 4000 バイトの MTU をサポートするように設定します。この設定では、CE デバイスがプロバイダーのネットワーク内の MTU を超えないようにすることで、破棄を回避します。
-
プロトコルを設定します。
手記:トラフィックエンジニアリングは、RSVP シグナル化された LSP でサポートされていますが、基本的な MPLS スイッチングや VPN 導入に必須ではありません。提供される MPLS ベースラインは、RSVP を使用して LSP にシグナリングし、OSPF のトラフィック制御を可能にします。ただし、パス制約は設定されていないため、LSPは内部ゲートウェイプロトコルの最短パスでルーティングされることが想定されます。
[edit] user@pe2# set protocols ospf area 0.0.0.0 interface lo0.0 [edit] user@pe2# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 [edit] user@pe2# set protocols ospf traffic-engineering [edit] user@pe2# set protocols mpls interface ge-0/0/1.0 [edit] user@pe2# set protocols rsvp interface lo0.0 [edit] user@pe2# set protocols rsvp interface ge-0/0/1.0
-
LSP をリモート PE デバイスのループバック アドレスに定義します。
[edit] user@pe2# set protocols mpls label-switched-path lsp_to_pe1 to 192.168.0.1
プロシージャ
手順
以下の手順に従って、レイヤー 2 VPN の PE2 デバイスを設定します。
エッジフェーシングインターフェイスのカプセル化とファミリーを設定します。これはタグなしインターフェイスであるため、ユニット0のみが
ccc
ファミリーに対して有効であることを思い出してください。[edit]user@pe2# set interfaces ge-0/0/0 encapsulation ethernet-ccc [edit] user@pe2# set interfaces ge-0/0/0 unit 0 family ccc [edit] user@pe1# set interfaces ge-0/0/0 description "Link from PE2 to CE2"
BGP グループを設定します。PE デバイスのループバック アドレスをローカル アドレスとして指定し、
family l2vpn signaling
を有効にします。[edit protocols bgp] user@pe2# set group ibgp local-address 192.168.0.3 family l2vpn signaling
BGP グループ タイプを内部として構成します。
[edit protocols bgp] user@pe2# set group ibgp type internal
PE1デバイスをBGPネイバーとして設定します。BGPネイバーとしてPE1のループバックアドレスを必ず指定してください。
[edit protocols bgp] user@pe2# set group ibgp neighbor 192.168.0.1
BGP 自律システム番号を設定します。
[edit routing-options] user@pe2# set autonomous-system 65412
ルーティング インスタンスを設定します。まず、インスタンス名l2vpn1
instance-type
l2vpn
を指定します。[edit routing-instances] user@pe2# set l2vpn1 instance-type l2vpn
PE デバイスのカスタマー エッジに面したインターフェイスを、ルーティング インスタンスに属するように設定します。
[edit routing-instances] user@pe2# set l2vpn1 interface ge-0/0/0
インスタンスのルート識別子を設定します。
[edit routing-instances] user@pe2# set l2vpn1 route-distinguisher 192.168.0.3:12
インスタンスのVPN仮想ルーティングおよび転送(VRF)テーブルのルートターゲットを設定します。割り当てられたターゲットは、PE1デバイスで設定されたターゲットと一致する必要があります。
[edit routing-instances] user@pe2# set l2vpn1 vrf-target target:65412:12
l2vpn
プロトコルのインスタンスを設定し、エッジに面するリンクで使用するカプセル化を指定します。[edit routing-instances] user@pe2# set l2vpn1 protocols l2vpn encapsulation-type ethernet
説明とともに、インスタンスの
l2vpn
階層の下に PE デバイスのエッジに面したインターフェイスを追加します。[edit routing-instances] user@pe2# set l2vpn1 protocols l2vpn interface ge-0/0/0.0 description "L2vpn Link Between PE2 and CE2"
インスタンスのレイヤー2 VPNサイト情報を設定し、ローカルサイトの下にあるPEデバイスのエッジに面したインターフェイスを一覧表示します。PE2デバイスで設定されたローカルサイトIDは、PE1デバイスで設定したリモートサイトIDと一致する必要があり、その逆も同様です。
[edit routing-instances] user@pe1# set l2vpn1 protocols l2vpn site CE-2 site-identifier 2 interface ge-0/0/0.0 remote-site-id 1
手記:この例では、PE2デバイスのサイトIDは 2 で、PE1デバイスのサイトIDは 1です。PE2デバイスでは、リモートサイトは
remote-site-id
値1で正しく設定されています。PE2デバイスで変更をコミットし、CLI操作モードに戻ります。
[edit] user@pe1# commit and-quit
業績
PE2 デバイスでの設定の結果を表示します。
user@pe2# show
interfaces { ge-0/0/0 { description "Link from PE2 to CE2"; encapsulation ethernet-ccc; unit 0 { family ccc; } } ge-0/0/1 { description "Link from PE2 to P-router"; mtu 4000; unit 0 { family inet { address 10.1.34.2/24; } family mpls; } } lo0 { unit 0 { family inet { address 192.168.0.3/32; } } } } routing-instances { l2vpn1 { protocols { l2vpn { interface ge-0/0/0.0 { description "L2vpn Link Between PE2 and CE2" ; } site CE-2 { interface ge-0/0/0.0 { remote-site-id 1; } site-identifier 2; } encapsulation-type ethernet; } } instance-type l2vpn; interface ge-0/0/0.0; route-distinguisher 192.168.0.3:12; vrf-target target:65412:12; } } routing-options { autonomous-system 65412; } protocols { bgp { group ibgp { type internal; local-address 192.168.0.3; family l2vpn { signaling; } neighbor 192.168.0.1; } } mpls { label-switched-path lsp_to_pe1 { to 192.168.0.1; } interface ge-0/0/1.0; } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface ge-0/0/1.0; } } rsvp { interface lo0.0; interface ge-0/0/1.0; } }
検証
以下のタスクを実行して、MPLS ベースのレイヤー 2 VPN が正常に動作することを確認します。
- プロバイダOSPF隣接関係とルート交換の確認
- MPLSおよびRSVPインターフェイス設定の確認
- RSVP シグナル化 LSP の検証
- BGP セッション ステータスの検証
- ルーティングテーブル内のレイヤー2 VPNルートの検証
- レイヤー 2 VPN 接続ステータスの確認
- レイヤー 2 VPN 接続を使用したリモート PE デバイスへの Ping
- レイヤー2 VPN上でCEデバイスのエンドツーエンド動作を検証
プロバイダOSPF隣接関係とルート交換の確認
目的
隣接関係ステータスとOSPFが学習したリモートプロバイダーデバイスのループバックアドレスへのルートを確認して、プロバイダーネットワークでOSPFプロトコルが正しく動作していることを確認します。MPLS LSP の確立には、適切な IGP 運用が不可欠です。
アクション
user@pe1> show ospf neighbor Address Interface State ID Pri Dead 10.1.23.2 ge-0/0/1.0 Full 192.168.0.2 128 38
user@pe1> show route protocol ospf | match 192.168 192.168.0.2/32 *[OSPF/10] 1w5d 20:48:59, metric 1 192.168.0.3/32 *[OSPF/10] 2w0d 00:08:30, metric 2
意味
出力では、PE1 デバイスが P デバイス(192.168.0.2
)に対して OSPF 隣接関係を確立したことを示しています。また、P およびリモート PE デバイスのループバック アドレス(192.168.0.2
)および(192.168.0.3
)が、ローカル PE デバイスの OSPF を介して学習されていることも示しています。
MPLSおよびRSVPインターフェイス設定の確認
目的
RSVP および MPLS プロトコルが PE デバイスのコアに面したインターフェイスで動作するように設定されていることを確認します。このステップでは、コアに面するインターフェイスのユニットレベルで family mpls
が正しく設定されていることも確認します。
アクション
user@pe1> show mpls interface Interface State Administrative groups (x: extended) ge-0/0/1.0 Up <none>
user@pe1> show rsvp interface RSVP interface: 2 active Active Subscr- Static Available Reserved Highwater Interface State resv iption BW BW BW mark ge-0/0/1.0 Up 1 100% 1000Mbps 1000Mbps 0bps 0bps lo0.0 Up 0 100% 0bps 0bps 0bps 0bps
意味
出力は、MPLS と RSVP がローカル PE デバイスのコアに接続するインターフェイスとループバック インターフェイスで正しく設定されていることを示しています。
RSVP シグナル化 LSP の検証
目的
PE デバイス間で RSVP セッション(イングレスとエグレス)が正しく確立されていることを確認します。
アクション
user@pe1> show rsvp session To From State Rt Style Labelin Labelout LSPname 192.168.0.3 192.168.0.1 Up 0 1 FF - 299888 lsp_to_pe2 Total 1 displayed, Up 1, Down 0 Egress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 192.168.0.1 192.168.0.3 Up 0 1 FF 3 - lsp_to_pe1 Total 1 displayed, Up 1, Down 0 Transit RSVP: 0 sessions Total 0 displayed, Up 0, Down 0
意味
出力は、イングレスとエグレスの両方の RSVP セッションが PE デバイス間で正しく確立されていることを示しています。LSPの確立に成功した場合は、MPLSベースラインが稼働していることを示します。
BGP セッション ステータスの検証
目的
PE デバイス間の BGP セッションが、レイヤー 2 VPN ネットワーク層到達可能性情報(NLRI)のサポートで正しく確立されていることを確認します。
アクション
user@pe1> show bgp summary Threading mode: BGP I/O Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending bgp.l2vpn.0 1 1 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.0.3 65412 6 5 0 0 1:34 Establ bgp.l2vpn.0: 1/1/1/0 l2vpn1.l2vpn.0: 1/1/1/0
意味
出力には、リモート PE デバイス(192.168.0.3
)への BGP セッションが正しく確立されていること(Establ
)が表示され、 Up/Dwn
フィールドを通じて、セッションが現在の状態にある時間(1:34
)が表示されます。また、リモート PE デバイスに送信された(5
)およびリモート PE デバイスから受信された(6
)の BGP パケットの数も示します。 flaps
フィールドは、状態遷移が発生していないことを確認し(0
)、セッションが安定していることを示します。また、レイヤー 2 VPN NLRI が PE デバイス間で正しく交換されていることにも注意してください。この出力は、PE デバイス間の BGP ピアリングがレイヤー 2 VPN をサポートする準備ができていることを確認します。
ルーティングテーブル内のレイヤー2 VPNルートの検証
目的
PE1デバイスのルーティングテーブルに、CEデバイス間のトラフィック転送に使用されるレイヤー2 VPNルートが入力されていることを確認します。
アクション
user@pe1> show route table bgp.l2vpn.0 bgp.l2vpn.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.3:12:2:1/96 *[BGP/170] 00:51:36, localpref 100, from 192.168.0.3 AS path: I, validation-state: unverified > to 10.1.23.2 via ge-0/0/1.0, label-switched-path lsp_to_pe2
user@pe1> show route table l2vpn1.l2vpn.0 l2vpn1.l2vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.1:12:1:1/96 *[L2VPN/170/-101] 01:48:30, metric2 1 Indirect 192.168.0.3:12:2:1/96 *[BGP/170] 00:51:57, localpref 100, from 192.168.0.3 AS path: I, validation-state: unverified > to 10.1.23.2 via ge-0/0/1.0, label-switched-path lsp_to_pe2
意味
コマンド show route table bgp.l2vpn.0
は、PE デバイスで受信したすべてのレイヤー 2 VPN ルートを表示します。コマンド show route table l2vpn1.l2vpn.0
は、ルート ターゲットが一致した結果として l2vpn1
ルーティング インスタンスにインポートされたレイヤー 2 VPN ルートを表示します。 l2vpn1.l2vpn.0
テーブルには、ローカル PE デバイスのレイヤー 2 VPN ルートと、BGP ピアリングを介してリモート PE デバイスに対して学習されたリモート ルートの両方が含まれています。どちらの表も、リモート レイヤー 2 VPN ルートが、転送ネクストホップとして lsp_to_pe2
LSP に正しく関連付けられていることを示しています。出力は、ローカル PE デバイスが PE2 デバイスからリモート顧客サイトについて学習したことを確認します。また、プロバイダー ネットワーク上の MPLS トランスポートを使用して、レイヤー 2 VPN トラフィックを PE2 デバイスに転送できることも示しています。
レイヤー 2 VPN 接続ステータスの確認
目的
レイヤー2 VPN 接続のステータスを確認します。
アクション
user@pe1> show l2vpn connections Layer-2 VPN connections: Legend for connection status (St) EI -- encapsulation invalid NC -- interface encapsulation not CCC/TCC/VPLS EM -- encapsulation mismatch WE -- interface and instance encaps not same VC-Dn -- Virtual circuit down NP -- interface hardware not present CM -- control-word mismatch -> -- only outbound connection is up CN -- circuit not provisioned <- -- only inbound connection is up OR -- out of range Up -- operational OL -- no outgoing label Dn -- down LD -- local site signaled down CF -- call admission control failure RD -- remote site signaled down SC -- local and remote site ID collision LN -- local site not designated LM -- local site ID not minimum designated RN -- remote site not designated RM -- remote site ID not minimum designated XX -- unknown connection status IL -- no incoming label MM -- MTU mismatch MI -- Mesh-Group ID not available BK -- Backup connection ST -- Standby connection PF -- Profile parse failure PB -- Profile busy RS -- remote site standby SN -- Static Neighbor LB -- Local site not best-site RB -- Remote site not best-site VM -- VLAN ID mismatch HS -- Hot-standby Connection Legend for interface status Up -- operational Dn -- down Instance: l2vpn1 Edge protection: Not-Primary Local site: CE-1 (1) connection-site Type St Time last up # Up trans 2 rmt Up Jul 28 10:47:18 2020 1 Remote PE: 192.168.0.3, Negotiated control-word: Yes (Null) Incoming label: 800009, Outgoing label: 800006 Local interface: ge-0/0/0.0, Status: Up, Encapsulation: ETHERNET Flow Label Transmit: No, Flow Label Receive: No
意味
出力のSt
フィールドは、connection-site
2
でRemote PE
192.168.0.3
するレイヤー2 VPN 接続がUp
であることを示しています。また、出力では、PE デバイスのエッジに面したインターフェイス名ge-0/0/0.0
と動作ステータスが up
として確認されます。また、PE デバイスの顧客向けインターフェイスでイーサネット カプセル化が設定されていることを確認します。これは、この例で使用されているタグなしイーサネットインターフェイスの正しいカプセル化です。これまでに実行した検証手順では、レイヤー2 VPNのコントロールプレーンが動作していることがわかります。レイヤー2 VPNのデータプレーンは、以下の手順で検証します。
レイヤー 2 VPN 接続を使用したリモート PE デバイスへの Ping
目的
ローカルとリモートの PE デバイス間のレイヤー 2 VPN 接続を確認します。 ping mpls l2vpn
コマンドには 2 つの形式があります。どちらも、PE デバイス間のレイヤー 2 VPN ルーティングと MPLS 転送をテストします。最初のコマンドは単一のリモート サイトを想定し、2 番目のコマンドはローカルおよびリモート サイトの識別子を指定します。これは、マルチサイトのレイヤー 2 VPN をテストする場合に便利です。これは、リモートサイトIDを使用して、目的のリモートPEデバイスをターゲットにできるためです。
ping mpls l2vpn
コマンドは、PE デバイス間のレイヤー 2 VPN ルート交換と MPLS 転送を検証します。これは、ローカル PE のレイヤー 2 VPN ルーティング インスタンスからリモート PE デバイスの 127.0.0.1 ループバック アドレスへのトラフィックを生成することによって行われます。このコマンドは、CE デバイス インターフェイスの動作や設定を検証するものではありません。これは、レイヤー2 VPNでは、CEデバイスの動作がプロバイダネットワークに対して不透明であるためです。
アクション
user@pe1> ping mpls l2vpn interface ge-0/0/0.0 reply-mode ip-udp !!!!! --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
user@pe1> ping mpls l2vpn instance l2vpn1 remote-site-id 2 local-site-id 1 detail Request for seq 1, to interface 334, labels <800002, 299840>, packet size 88 Reply for seq 1, return code: Egress-ok, time: 593.784 ms Local transmit time: 2020-07-13 16:15:55 UTC 241.357 ms Remote receive time: 2020-07-13 16:15:55 UTC 835.141 ms Request for seq 2, to interface 334, labels <800002, 299840>, packet size 88 Reply for seq 2, return code: Egress-ok, time: 591.700 ms Local transmit time: 2020-07-13 16:15:56 UTC 241.405 ms Remote receive time: 2020-07-13 16:15:56 UTC 833.105 ms Request for seq 3, to interface 334, labels <800002, 299840>, packet size 88 Reply for seq 3, return code: Egress-ok, time: 626.084 ms Local transmit time: 2020-07-13 16:15:57 UTC 241.407 ms Remote receive time: 2020-07-13 16:15:57 UTC 867.491 ms Request for seq 4, to interface 334, labels <800002, 299840>, packet size 88 Reply for seq 4, return code: Egress-ok, time: 593.061 ms Local transmit time: 2020-07-13 16:15:58 UTC 241.613 ms Remote receive time: 2020-07-13 16:15:58 UTC 834.674 ms Request for seq 5, to interface 334, labels <800002, 299840>, packet size 88 Reply for seq 5, return code: Egress-ok, time: 594.192 ms Local transmit time: 2020-07-13 16:15:59 UTC 241.357 ms Remote receive time: 2020-07-13 16:15:59 UTC 835.549 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
意味
この出力では、PE デバイス間でレイヤー 2 VPN 転送プレーンが正しく動作していることを確認します。
レイヤー2 VPN上でCEデバイスのエンドツーエンド動作を検証
目的
CE デバイス間のレイヤー 2 VPN 接続を確認します。この手順では、CE デバイスに動作インターフェイスがあり、レイヤー 2 接続用に適切に設定されていることを確認します。これは、CE デバイスが OSPF 隣接関係を確立し、ループバック アドレス間でトラフィックをエンドツーエンドで受け渡しできることを確認することによって行われます。
アクション
user@ce1> show ospf neighbor Address Interface State ID Pri Dead 172.16.1.2 ge-0/0/0.0 Full 172.16.255.2 128 32
user@ce1> show ospf route | match 172 172.16.255.2/32 *[OSPF/10] 01:34:50, metric 1 > to 172.16.1.2 via ge-0/0/0.0
user@ce1> ping 172.16.255.2 size 1472 do-not-fragment count 2 PING 172.16.255.2 (172.16.255.2): 1472 data bytes 1480 bytes from 172.16.255.2: icmp_seq=0 ttl=64 time=4.404 ms 1480 bytes from 172.16.255.2: icmp_seq=1 ttl=64 time=5.807 ms --- 172.16.255.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.404/5.106/5.807/0.702 ms
意味
この出力は、CEデバイス間でレイヤー2 VPN接続が正しく機能していることを示しています。これにより、ローカル CE デバイスがプロバイダ コアを介してリモート CE デバイス 172.16.1.2
に OSPF 隣接関係を確立し、ローカル CE デバイスが OSPF 経由でリモート CE デバイスのループバックアドレスへのルートを学習した 172.16.255.2
ことを確認します。また、この出力は、CE デバイスがローカル フラグメンテーションを発生させることなく、1500 バイトの IP パケットを渡すことができることも示しています。また、ping が成功すると、フレームがプロバイダーのネットワークでサポートされている MTU を超えていないことも確認されます。
ping
コマンドに追加された size
引数は、1472 バイトのエコーデータを生成します。さらに 8 バイトのインターネット制御メッセージ プロトコル(ICMP)と 20 バイトの IP ヘッダーが追加され、合計パケット サイズは 1500 バイトになります。do-not-fragment
スイッチを追加することで、CE デバイスはローカル MTU に基づいてフラグメンテーションを実行できなくなります。この方法により、CE デバイス間で標準長のイーサネット フレームを送信する際に、フラグメンテーションができないこと、または必要ないことが確認されます。