フル メッシュ VPN
シンプルなフルメッシュ VPN トポロジーの構成
この例では、以下のコンポーネントで構成されるシンプルなフルメッシュ サービス プロバイダ VPN 設定方法を示しています(図 1 を参照)。
2 つの独立した VPN(VPN-A および VPN-B)
PE(プロバイダ エッジ)ルーター 2 台(サービス VPN-A および VPN-B の両方)
シグナリング プロトコルとしての RSVP
1 台の RSVP ラベルスイッチ パス(LSP)で、1 台のプロバイダ(P)ルーターを介して 2 台の PE ルーター間をトンネリング

この設定では、ルーター VPN-A-Paris からルーター VPN-A-Tokyo への VPN A でのルート配信は次のように行われます。
サービス カスタマー エッジ(CE VPN-A-Paris が PE ルーター ルーター A へのルートを発表します。
ルーター A は、受信した発表されたルートを VPN ルーティングおよび転送(VRF)テーブル VPN-A.inet.0 にインストールします。
ルーター A は、ルーターとMPLS VPN-A-Paris 間のインターフェイスに対するカスタム ラベルを作成します。
ルーター A は VRF エクスポート ポリシーをチェックします。
ルーター A は、ルート識別機能を使用して、IPv4(インターネット プロトコル バージョン 4)のルートをルーター VPN-A-Paris から VPN IPv4 形式に変換し、2 つの PE ルーター間で IBGP を使用してこれらのルートを PE ルーター C にアナウンスします。
ルーター C は VRF インポート ポリシーをチェックし、ポリシーに一致するルートすべて bgp.l3vpn.0 スイッチにルーティング テーブル。(一致しないルートは破棄されます)。
ルーター C は VRF インポート ポリシーをチェックし、VPN-A.inet.0 ゲートウェイと一致するルートルーティング テーブル。ルートは IPv4 形式でインストールされます。
ルーター C は、ルーター VPN-A-Tokyo へのルートCEをアナウンスし、ルーターのプライマリ ルーターにルーティング テーブル。(ネットワークで稼働するJunos OSプラットフォームでは、ルーティング テーブルは inet.0 です)。
ルーター C は、ルーター VPN-A-Paris 宛のすべてのパケットをルーター VPN-A-Tokyo からルーティングするために、ルーター A とルーター A の間で LSP を使用します。
この例の最後のセクションでは、図 1 に示す各サービス P ルーターで VPN 機能を設定するために必要なステートメントを 統合しています。
この例では、ルートの識別とルート ターゲットにAS自律システム(AS)番号が使用されています。この数字は図の場合にのみ使用されます。VPN を設定する場合は、割り当てられた番号ASする必要があります。
以下のセクションでは、PE ルーターおよび P ルーターで VPN 機能を設定する方法について説明します。ネットワーク CE VPN に関する情報は持たないので、通常は設定します。
- PE IGP P ルーターでの設定の有効化
- P ルーターでの RSVP MPLSの有効化
- PE ルーター MPLS間の LSP トンネルの設定
- PE ルーターでの IBGP の設定
- PE ルーター上の VPN のルーティング インスタンスの設定
- PE ルーターでの VPN ポリシーの設定
- ルーター別にまとめたシンプルな VPN 構成
PE IGP P ルーターでの設定の有効化
PE ルーターと P ルーターが自らルーティング情報を交換するには、これらすべてのルーターで内部ゲートウェイ プロトコル(IGP)を設定する必要があります。または、スタティック ルートを設定する必要があります。ルーティング プロトコル プロセス(rpd [edit protocols]
)のプライマリ インスタンス(つまり、階層レベル)で、VPN [edit routing-instances]
ルーティング インスタンス内ではなく(階層レベルではない)でIGPを設定します。
標準的な方法でIGPを設定します。この設定例には、設定のこの部分は含めではありません。
P ルーターでの RSVP MPLSの有効化
PルーターのルーターBでは、RSVPとMPLSを設定する必要があります。このルーターは、2つのPEルーター、ルーターA、ルーターC間のMPLS LSPパスに存在します。
[edit] protocols { rsvp { interface so-4/0/0.0; interface so-6/0/0.0; } mpls { interface so-4/0/0.0; interface so-6/0/0.0; } }
PE ルーター MPLS間の LSP トンネルの設定
この設定例では、RSVP が VPN シグナリングに使用されます。そのため、RSVP の設定に加えて、IGP での トラフィック制御 サポートを有効にする必要があります。VPN トラフィックをトンネリングするために MPLS LSP を作成する必要があります。
PE ルーター A で RSVP を有効にし、ポート LSP トンネルのMPLS設定します。この例では、トラフィック制御のサポートが有効OSPF。MPLS LSP interface
を設定する場合は、PE およびルーターへのインターフェイスを含め、MPLS に参加しているすべてのインターフェイスにステートメントを含CEします。PE ルーターと PE ルーター間のCE ステートメントが必要で、PE ルーターがプライベート インターフェイスの MPLS ラベルを作成できる必要があります。 interface
この例では、最初のステートメントで、LSP に接続されたインターフェイス上で MPLS を設定し、残りの 3 つの設定は CE、PE ルーターと別のルーターに接続するインターフェイス上で MPLS を設定します。
[edit] protocols { rsvp { interface so-3/0/0.0; } mpls { label-switched-path RouterA-to-RouterC { to 10.255.245.47; } interface so-3/0/0.0; interface so-6/0/0.0; interface so-6/0/1.0; interface ge-0/3/0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface so-3/0/0.0; } } }
PE ルーター C で RSVP を有効にし、ポート LSP トンネルのMPLS設定します。トラフィック制御 は OSPFに対して有効で、L CE SP および MPLS ルーターへのインターフェイス上で MPLS を設定します。
[edit] protocols { rsvp { interface so-2/0/0.0; } mpls { label-switched-path RouterC-to-RouterA { to 10.255.245.68; } interface so-2/0/0.0; interface ge-1/0/0.0; interface at-1/2/0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface so-2/0/0.0; } } }
PE ルーターでの IBGP の設定
PE ルーターで、次のプロパティを使用して IBGP セッションを設定します。
VPN ファミリー —IBGP セッションが VPN 用と示す場合は、 ステートメントを含
family inet-vpn
にします。ループバック アドレス — ローカル
local-address
PE ルーターのループバック アドレスを指定するステートメントを含します。VPN の IBGP セッションは、ループバック アドレスを使用して実行されます。また、階層レベルでlo0
インターフェイスを設定する[edit interfaces]
必要があります。この例では、ルーターの設定のこの部分は含めではありません。ネイバー アドレス — ループバック(
neighbor
)アドレスである近隣 PE ルーターの IP アドレスを指定する ステートメントをlo0
含けます。
PE ルーター A で、IBGP を設定します。
[edit] protocols { bgp { group PE-RouterA-to-PE-RouterC { type internal; local-address 10.255.245.68; family inet-vpn { unicast; } neighbor 10.255.245.47; } } }
PE ルーター C で、IBGP を設定します。
[edit] protocols { bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; } } }
PE ルーター上の VPN のルーティング インスタンスの設定
PE ルーターはどちらも VPN-A および VPN-B をサービスします。そのため、各ルーター上に 2 つのルーティング インスタンス(VPN ごとに 1 つ)を設定する必要があります。各VPNについて、ルーティング インスタンスで以下を定義する必要があります。
ルートの識別:PE ルーター上の各ルーティング インスタンスに対して一意である必要があります。
これは、あるVPN内のアドレスと別のVPN内のアドレスを区別するために使用されます。
インスタンス タイプ :
vrf
PE ルーター上に VRF テーブルを作成します。ネットワーク ルーターにCEインターフェイス。
VRF インポート ポリシーとエクスポート ポリシー(同じ VPN をサービスする各 PE ルーター上で同じポリシーを使用する必要があります)。インポート ポリシーにステートメントだけが含まれている場合を含
then reject
める場合を含める場合は、コミュニティへの参照を含める必要があります。そうしないと、設定をコミットするとコミットが失敗します。メモ:この例では、ルートの識別にAS番号を使用しています。この数字は図の場合にのみ使用されます。VPN を設定する場合は、割り当てられた番号ASする必要があります。
PE ルーターと PE ルーター CE間のルーティング(PE ルーターが接続されたルーターとの間で VPN 関連のルートを分散CEされます。ルーティング プロトコルの設定(ルーティング プロトコルの設定BGP、ルーティング、OSPF RIP)を実行するか、スタティック ルーティングを設定できます。
PE ルーター A で、VPN-A の以下のルーティング インスタンスを設定します。この例では、ルーター A は静的ルートを使用して、接続されている 2 つのルーター間でルートCEを分散します。
[edit] routing-instance { VPN-A-Paris-Munich { instance-type vrf; interface so-6/0/0.0; interface so-6/0/1.0; route-distinguisher 65535:0; vrf-import VPN-A-import; vrf-export VPN-A-export; routing-options { static { route 172.16.0.0/16 next-hop so-6/0/0.0; route 172.17.0.0/16 next-hop so-6/0/1.0; } } } }
PE ルーター C で、VPN-A の以下のルーティング インスタンスを設定します。この例では、ルーターC はBGPされるルーター間でルートCEを分散します。
[edit] routing-instance { VPN-A-Tokyo { instance-type vrf; interface ge-1/0/0.0; route-distinguisher 65535:1; vrf-import VPN-A-import; vrf-export VPN-A-export; protocols { bgp { group VPN-A-Site2 { peer-as 1; neighbor 10.12.1.2; } } } } }
PE ルーター A で、VPN-B の以下のルーティング インスタンスを設定します。この例では、ルーター A はOSPFされるルーター間でルートCEを分散します。
[edit] policy-options { policy-statement bgp-to-ospf { from { protocol bgp; route-filter 192.168.1.0/24 orlonger; } then accept; } } routing-instance { VPN-B-Madrid { instance-type vrf; interface ge-0/3/0.0; route-distinguisher 65535:2; vrf-import VPN-B-import; vrf-export VPN-B-export; protocols { ospf { export bgp-to-ospf; area 0.0.0.0 { interface ge-0/3/0; } } } } }
PE ルーター C で、VPN-B の以下のルーティング インスタンスを設定します。この例では、ルーター C は RIP を使用して、接続されているルーター間CEルートを分散します。
[edit] policy-options { policy-statement bgp-to-rip { from { protocol bgp; route-filter 192.168.2.0/24 orlonger; } then accept; } } routing-instance { VPN-B-Osaka { instance-type vrf; interface at-1/2/0.0; route-distinguisher 65535:3; vrf-import VPN-B-import; vrf-export VPN-B-export; protocols { rip { group PE-C-to-VPN-B { export bgp-to-rip; neighbor at-1/2/0; } } } } }
PE ルーターでの VPN ポリシーの設定
PE ルーターの VRF テーブルに適切なルートがインストールされていることを確認するには、各 PE ルーターで VPN インポート ポリシーとエクスポート ポリシーを設定します。VRF テーブルは、VPN 内でパケットを転送するために使用されます。VPN-A の場合、VRF テーブルは VPN-A.inet.0、VPN-B の場合は VPN-B.inet.0 です。
VPN ポリシーでは、VPN ターゲット コミュニティも設定します。
次の例では、ルート ターゲットにプライベート AS番号が使用されています。この数字は図の場合にのみ使用されます。VPN を設定する場合は、割り当てられた番号ASする必要があります。この例に示すポリシー変更は、VPN を機能するために必要なポリシーのみです。ポリシーを設定する場合は、必要に応じて追加の変更も可能です。
PE ルーター A で、次の VPN インポート ポリシーとエクスポート ポリシーを設定します。
[edit] policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol static; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol ospf; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
PE ルーター C で、次の VPN インポート ポリシーとエクスポート ポリシーを設定します。
[edit] policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol bgp; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol rip; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
ルーターに VPN ポリシーを適用 vrf-export
するには、ルーティング インスタンスの設定時に および vrf-import
ステートメントを含にします。両方の VPN では、VRF のインポート ポリシーとエクスポート ポリシーにより、PE ルーター間で実行されている IBGP セッション全体でルート配信が処理されます。
PE ルーター A に VPN ポリシーを適用するには、次のステートメントを含にします。
[edit] routing-instance { VPN-A-Paris-Munich { vrf-import VPN-A-import; vrf-export VPN-A-export; } VPN-B-Madrid { vrf-import VPN-B-import; vrf-export VPN-B-export; } }
PE ルーター C に VPN ポリシーを適用するには、次のステートメントを含にします。
[edit] routing-instance { VPN-A-Tokyo { vrf-import VPN-A-import; vrf-export VPN-A-export; } VPN-B-Osaka { vrf-import VPN-B-import; vrf-export VPN-B-export; } }
ルーター別にまとめたシンプルな VPN 構成
ルーター A(PE ルーター)
VPN-A のルーティング インスタンス
routing-instance { VPN-A-Paris-Munich { instance-type vrf; interface so-6/0/0.0; interface so-6/0/1.0; route-distinguisher 65535:0; vrf-import VPN-A-import; vrf-export VPN-A-export; } }
インスタンス ルーティング プロトコル
routing-options { static { route 172.16.0.0/16 next-hop so-6/0/0.0; route 172.17.0.0/16 next-hop so-6/0/1.0; } }
VPN-Bのルーティング インスタンス
routing-instance { VPN-B-Madrid { instance-type vrf; interface ge-0/3/0.0; route-distinguisher 65535:2; vrf-import VPN-B-import; vrf-export VPN-B-export; } }
インスタンス ルーティング プロトコル
protocols { ospf { area 0.0.0.0 { interface ge-0/3/0; } } }
プライマリ プロトコル インスタンス
protocols { }
RSVP の有効化
rsvp { interface so-3/0/0.0; }
LSP のMPLS設定
mpls { label-switched-path RouterA-to-RouterC { to 10.255.245.47; } interface so-3/0/0.0; interface so-6/0/0.0; interface so-6/0/1.0; interface ge-0/3/0.0; }
IBGP の設定
bgp { group PE-RouterA-to-PE-RouterC { type internal; local-address 10.255.245.68; family inet-vpn { unicast; } neighbor 10.255.245.47; } }
トラフィックエンジニアリングOSPF対応の設定と設定
ospf { traffic-engineering; area 0.0.0.0 { interface so-3/0/0.0; } }
VPN ポリシーの設定
policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol static; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol ospf; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
ルーター B(P ルーター)
プライマリ プロトコル インスタンス
protocols { }
RSVP の有効化
rsvp { interface so-4/0/0.0; interface so-6/0/0.0; }
デバイスをMPLS
mpls { interface so-4/0/0.0; interface so-6/0/0.0; }
ルーター C(PE ルーター)
VPN-A のルーティング インスタンス
routing-instance { VPN-A-Tokyo { instance-type vrf; interface ge-1/0/0.0; route-distinguisher 65535:1; vrf-import VPN-A-import; vrf-export VPN-A-export; } }
インスタンス ルーティング プロトコル
protocols { bgp { group VPN-A-Site2 { peer-as 1; neighbor 10.12.1.2; } } }
VPN-Bのルーティング インスタンス
VPN-B-Osaka { instance-type vrf; interface at-1/2/0.0; route-distinguisher 65535:3; vrf-import VPN-B-import; vrf-export VPN-B-export; }
インスタンス ルーティング プロトコル
protocols { rip { group PE-C-to-VPN-B { neighbor at-1/2/0; } } }
プライマリ プロトコル インスタンス
protocols { }
RSVP の有効化
rsvp { interface so-2/0/0.0; }
LSP のMPLS設定
mpls { label-switched-path RouterC-to-RouterA { to 10.255.245.68; } interface so-2/0/0.0; interface ge-1/0/0.0; interface at-1/2/0.0; }
IBGP の設定
bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; } }
トラフィックエンジニアリングOSPF対応の設定と設定
ospf { traffic-engineering; area 0.0.0.0 { interface so-2/0/0.0; } }
VPN ポリシーの設定
policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol bgp; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol rip; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
ルート リフレクタを使用したフルメッシュ VPN トポロジーの設定
この例は、フルメッシュ VPN トポロジーの例の一部です(「 シンプル フルメッシュ VPN トポロジーの構成 」で説明)、PE ルーターの 1 つがフルメッシュ ルート リフレクタBGPされています。この変動では、シンプルなフルメッシュ VPN トポロジーの構成におけるルーター C はルート リフレクタです。設定を変更する唯一の変更は cluster
、BGP グループを設定する際に ステートメントを含める必要があります。
[edit] protocols { bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; cluster 4.3.2.1; } } }