例:MPLSベースのレイヤー2VPNを設定する
この例では、Junos OSを実行しているルーターまたはスイッチ上でMPLSベースのレイヤー2VPNを構成および検証する方法を示します。
この例は、当社のコンテンツテストチームが検証し、更新しました。
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
特定のVPNに参加するPEデバイスの各ペア間にLSPが必要となります。将来のVPNの増加に対応するために、すべてのPEデバイス間にLSPを構築することをお勧めします。LSP は [edit protocols mpls] 階層レベルで設定します。回線クロスコネクト(CCC)の MPLS 設定とは異なり、LSP を PE デバイスの顧客向け(エッジ)インターフェイスに手動で関連付ける必要はありません。代わりに、レイヤー 2 VPN は BGP シグナリングを使用してレイヤー 2 サイトの到達可能性を伝えます。このBGPシグナリングは、リモートレイヤー2 VPNサイトのLSP転送ネクストホップへのマッピングを自動化します。つまり、レイヤー2 VPNでは、PEデバイスのエッジに面したインターフェイスへのLSPの明示的なマッピングは必要ありません。
CCCの詳細については、 レイヤー2回線を使用したMPLSベースVLAN CCCの設定を参照してください。
概要とトポロジー
レイヤー2 VPNは、プロバイダとお客様のネットワークを完全に分離します。レイヤー2 VPNのメリットには、非標準のトランスポートプロトコルのサポートや、顧客ネットワークとプロバイダネットワーク間のリンクアドレッシングおよびルーティングプロトコル運用の分離が含まれます。
VPN の定義には、ローカルおよびリモートの PE デバイスへの変更のみが含まれます。プロバイダデバイスは基本的なMPLSスイッチング機能のみを提供するため、(ベースラインMPLSサポートを除く)追加の設定は必要ありません。CEデバイスはMPLSを使用していません。レイヤー2 VPN上で動作するには、基本的なインターフェイスと、必要に応じてプロトコル設定のみが必要です。レイヤー2 VPNの場合、CEデバイスを共有リンクに接続されているかのように設定します。
MPLSベースラインを設定したら、MPLSベースのレイヤー2 VPNを確立するために、PEデバイスで以下の機能を設定する必要があります。
を持つBGPグループ
family l2vpn signalingインスタンスタイプが
l2vpnPEデバイス上の顧客向けインターフェイスは、次のように設定する必要があります。
VLANタグ付けが使用されているかどうかに応じて、物理層のカプセル化を
ethernet-cccまたはvlan-ccc指定します。ルーティングインスタンス設定で一致するカプセル化タイプを設定します。
レイヤー2 VPNに使用する論理インターフェイス(ユニット)を
family cccで設定します。
図1に、このMPLSベースのレイヤー2VPNの例のトポロジーを示します。この図は、プロバイダ ネットワークで使用されるインターフェイス名、IP アドレッシング、プロトコルの詳細を示しています。また、CEデバイスのアドレッシングとプロトコルスタック操作のエンドツーエンドの性質についても説明しています。レイヤー 3 VPN とは異なり、CE デバイスの操作はレイヤー 2 VPN のプロバイダ ネットワークに対して不透明です。CEデバイスとプロバイダネットワークの間にピアリング関係はありません。その結果、CEデバイスは、プロバイダネットワークではなく、プロバイダネットワークを横断してOSPF隣接関係を形成することが予想されます。
クイック設定
このセクションの設定を使用して、MPLSベースのレイヤー2VPNをすばやく起動して稼働させることができます。設定には、レイヤー 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ベースのレイヤー2VPN用のローカルPE(PE1)デバイスの設定
このセクションでは、この例でPE1デバイスを設定するために必要な手順について説明します。この例で使用されているCEデバイスとPデバイスの設定については、「 例:MPLSベースのレイヤー2 VPNを設定する 」セクションを参照してください。
MPLS ベースラインを設定する(必要な場合)
レイヤー 2 VPN を設定する前に、PE デバイスの MPLS ベースラインが機能していることを確認してください。すでにMPLSベースラインがある場合は、ローカルPEデバイスにレイヤー2 VPNを追加する手順に進むことができます。
-
ホスト名を設定します。
[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
注意:レイヤー2 VPNは、プロバイダネットワークのフラグメント化をサポートしていません。プロバイダネットワークが、MPLSおよび仮想ルーティングおよび転送(VRF)ラベルがPEデバイスによって追加された 後、 CEデバイスが生成できる最大のフレームをサポートすることが重要です。この例では、プロバイダコアが4000バイトのMTUをサポートするように設定しながら、CEデバイスをデフォルトの1500バイトの最大伝送単位(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
-
リモートPEデバイスのループバックアドレスへのLSPを定義します。
[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ファミリーを目的のユニットに追加します。ヒント:同じ PE デバイス上で、MPLS ベースのレイヤー 2 VPN と MPLS ベースのレイヤー 3 VPN の両方を設定できます。ただし、レイヤー 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ベースのレイヤー2VPN、またはMPLSベースのレイヤー3VPNのいずれを導入する場合でも、同じように設定されます。これは、エッジに面したインターフェイスや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ベースのレイヤー2VPN用のリモートPE(PE2)デバイスの設定
このセクションでは、この例でPE2デバイスの設定に必要な手順について説明します。この例で使用されているCEデバイスとPデバイスの設定については、「 例:MPLSベースのレイヤー2 VPNを設定する 」セクションを参照してください。
MPLS ベースラインを設定する(必要な場合)
レイヤー 2 VPN を設定する前に、PE デバイスの MPLS ベースラインが機能していることを確認してください。すでにMPLSベースラインがある場合は、ローカルPEデバイスにレイヤー2 VPNを追加する手順に進むことができます。
-
ホスト名を設定します。
[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
注意:レイヤー2 VPNは、プロバイダネットワークのフラグメント化をサポートしていません。プロバイダネットワークが、MPLSおよび仮想ルーティングおよび転送(VRF)ラベルがPEデバイスによって追加された 後、 CEデバイスが生成できる最大のフレームをサポートすることが重要です。この例では、プロバイダコアが4000バイトのMTUをサポートするように設定しながら、CEデバイスをデフォルトの1500バイトの最大伝送単位(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
-
リモートPEデバイスのループバックアドレスへのLSPを定義します。
[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ネイバーとして設定します。必ずPE1のループバックアドレスをBGPネイバーとして指定してください。
[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-typel2vpnで指定します。[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ベースのレイヤー2VPNが正しく動作することを確認します。
- プロバイダの 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デバイスとの間で送受信(56)された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ルートと、リモートPEデバイスへのBGPピアリングを介して学習したリモートルートの両方が含まれています。どちらの表も、リモートレイヤー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デバイスインターフェイスの動作や設定を検証しません。これは、CEデバイスの操作がレイヤー2 VPNのプロバイダネットワークに対して不透明であるためです。
アクション
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バイトのInternet Control Message Protocol(ICMP)と20バイトのIPヘッダーが追加され、合計パケットサイズは1500バイトになります。do-not-fragmentスイッチを追加すると、CEデバイスがローカルMTUに基づいてフラグメント化を実行できなくなります。この方法では、CE デバイス間で標準長のイーサネット フレームを送信するときに、フラグメント化が可能でない、または必要ないことを確認できます。