レイヤー 3 VPN のインターネット アクセスの有効化
このトピックでは、VPN 内のカスタマー エッジ(CE)ルーターにインターネット アクセスを提供するように PE(プロバイダ エッジ)ルーターを構成する方法と、ネットワーク アドレス変換器(NAT)を介して CE ルーターにインターネット トラフィックをルーティングするようにルーターを構成する例を示します。使用する方法は、個々のネットワークのニーズと仕様によって異なります。
レイヤー3VPNを介した非VRFインターネットアクセス
Junos OSは、レイヤー3 VPN(仮想プライベートネットワーク)からのインターネットアクセスをサポートします。また、[edit routing-instances routing-instance-name routing-options static route]階層レベルでnext-tableステートメントを設定する必要があります。設定されている場合、このステートメントは、VPNテーブル(ルーティング インスタンス)からメインルーティングテーブル(デフォルトインスタンス)inet.0へのデフォルトルートを指すことができます。メイン ルーティングテーブルには、すべてのインターネット ルートが格納され、最終的なルート解決が行われます。
ここでは、VPNルーティングおよび転送(VRF)インターフェイスを使用せずに、レイヤー3 VPN内のCEルーターにインターネットアクセスを提供する方法について説明します。これらの方法は、レイヤー 3 VPN を効果的にバイパスするため、ここでは詳しく説明しません。
CEルーターはPEルーターとは独立してインターネットにアクセスします
この設定では、PE ルーターはインターネット アクセスを提供しません。CE ルーターは、インターネット トラフィックを別のサービス プロバイダーに送信するか、同じサービス プロバイダーで別のルーターに送信します。PE ルーターは、レイヤー 3 VPN トラフィックのみを処理します( 図 1 を参照)。
を提供しない
PEルーターは、レイヤー2インターネットサービスを提供
この設定では、PEルーターはレイヤー2デバイスとして機能し、インターネットルートのフルセットを持つ別のルーターにレイヤー2接続(回線クロスコネクト[CCC]など)を提供します。CE ルーターは、PE ルーターに対して 1 つの物理インターフェイスと 2 つの論理インターフェイスのみを使用することも、PE ルーターに対して複数の物理インターフェイスを使用することもできます( 図 2 を参照)。
に接続されたルーターに接続します
レイヤー3VPNによる分散型インターネットアクセス
このシナリオでは、PE ルーターは CE ルーターにインターネット アクセスを提供します。次の例では、インターネット ルート(またはデフォルト)が、選択された CE ルーターにインターネット アクセスを提供する PE ルーターの inet.0 テーブルに存在することを前提としています。
VPNからインターネットにアクセスする場合、VPNがパブリックアドレス空間を使用している場合を除き、VPNのプライベートアドレスとインターネット上で使用されているパブリックアドレスの間でネットワークアドレス変換(NAT)を実行する必要があります。このセクションでは、VPN にインターネット アクセスを提供する方法の例をいくつか紹介しますが、そのほとんどでは CE ルータでアドレス変換を行う必要があります。ただし、「 別の NAT デバイスを介してインターネット トラフィックをルーティング する」の例では、サービス プロバイダーが PE ルーターに接続された NAT デバイスを使用して NAT 機能を提供する必要があります。
いずれの例でも、パブリックの宛先からリバーストラフィックを受信するためには、VPNのパブリックIPアドレスプール(そのエントリーが変換されたプライベートアドレスに対応する)をinet.0テーブルに追加し、インターネットルーターに伝送する必要があります。
レイヤー 3 VPN の異なるインターフェイスを介した VPN トラフィックとインターネット トラフィックのルーティング
この例では、VPNとインターネットトラフィックは異なるインターフェイスを介してルーティングされます。CEルーターは、VPNインターフェイスを介してVPNトラフィックを送信し、ルーターPE1のメインルーティングテーブルの一部である別のインターフェイスを介してインターネットトラフィックを送信します(CEルーターは、2つの論理ユニットを持つ1つの物理インターフェイス、または2つの物理インターフェイスのいずれかを使用できます)。NAT は CE ルーターでも発生します( 図 3 を参照)。
を介したVPNとインターネットトラフィックのルーティング
PE ルーターは、VPN のパブリック IP アドレス プールをインストールし、他のコア ルーターにアドバタイズするように構成されています(リターン トラフィック用)。VPN トラフィックは正常にルーティングされます。 図 4 は、PE ルーターの vpn 設定を示しています。
この例の構成には、次の機能があります。
-
ルーターPE1は、2つの論理インターフェイスを使用して、フレームリレーカプセル化を使用してルーターCE1に接続します。
-
ルーターPE1とルーターCE1間のルーティングプロトコルはEBGPです。
-
ルーターCE1のパブリックIPアドレスプールは、
10.12.1.254(10.12.1.0/24)を介して10.12.1.1されます。 -
next-hop-self設定は、ルーターPE1のfix-nh policyステートメントから導き出されます。PE ルーターはnext-hop-selfを使用することを余儀なくされ、ネクストホップ解決は VPN 以外のルートの PE ルーターのループバック アドレスに対してのみ行われます(デフォルトでは、VPN インターネット プロトコル バージョン 4 [IPv4] ルートはnext-hop-selfによって送信されます)。
ルーターCE1には、それ以外はパブリックインターフェイスを指す静的デフォルトルートを設定することができます。
次のセクションでは、異なるインターフェイスを介してVPNおよびインターネットトラフィックをルーティングする方法を示します。
- ルーターPE1のインターフェイス設定
- ルーターPE1でのルーティングオプションの設定
- ルーターPE1でのBGP、IS-IS、およびLDPプロトコルの設定
- ルーターPE1でのルーティングインスタンスの設定
- ルーターPE1でのポリシーオプションの設定
- 異なるインターフェイスによってルーティングされるトラフィック:ルーター別に要約された設定
ルーターPE1のインターフェイス設定
VPNトラフィックを処理するインターフェイスとインターネットトラフィックを処理するインターフェイスを設定します。
[edit]
interfaces {
t3-0/2/0 {
dce;
encapsulation frame-relay;
unit 0 {
description "to CE1 VPN interface";
dlci 10;
family inet {
address 192.168.197.13/30;
}
}
unit 1 {
description "to CE1 public interface";
dlci 20;
family inet {
address 192.168.198.201/30;
}
}
}
}
ルーターPE1でのルーティングオプションの設定
ルーターPE1で静的ルートを設定して、inet.0のCEルーターのパブリックIPアドレスプールへのルートをインストールします。
[edit]
routing-options {
static {
route 10.12.1.0/24 next-hop 192.168.198.202;
}
}
ルーターPE1でのBGP、IS-IS、およびLDPプロトコルの設定
ルーターPE1でBGPを設定して、非VPNおよびVPNピアリングを許可し、VPNのパブリックIPアドレスプールをアドバタイズします。
[edit]
protocols {
bgp {
group pe-pe {
type internal;
local-address 10.255.14.171;
family inet {
any;
}
family inet-vpn {
any;
}
export [fix-nh redist-static];
neighbor 10.255.14.177;
neighbor 10.255.14.179;
}
}
}
ルーターPE1でIS-ISを設定して、内部ルートへのアクセスを許可します。
[edit protocols]
isis {
level 1 disable;
interface so-0/0/0.0;
interface lo0.0;
}
ルーターPE1でLDPを設定し、VPNルートをトンネリングします。
[edit protocols]
ldp {
interface so-0/0/0.0;
}
ルーターPE1でのルーティングインスタンスの設定
ルーターPE1でルーティング インスタンスを設定します。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
protocols {
bgp {
group to-CE1 {
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
ルーターPE1でのポリシーオプションの設定
ルーターPE1でポリシーオプションを設定する必要があります。 fix-nh ポリシー ステートメントは、すべての非 VPN ルートに対して next-hop-self を設定します。
[edit]
policy-options {
policy-statement fix-nh {
then {
next-hop self;
}
}
}
redist-staticポリシーステートメントは、VPNのパブリックIPアドレスプールをアドバタイズします。
[edit policy-options]
policy-statement redist-static {
term a {
from {
protocol static;
route-filter 10.12.1.0/24 exact;
}
then accept;
}
term b {
then reject;
}
}
vpnaのインポートおよびエクスポートポリシーを設定します。
[edit policy-options]
policy-statement vpna-import {
term a {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term b {
then reject;
}
}
policy-statement vpna-export {
term a {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term b {
then reject;
}
}
community vpna-comm members target:63000:100;
異なるインターフェイスによってルーティングされるトラフィック:ルーター別に要約された設定
ルーターPE1
インターフェイス
interfaces {
t3-0/2/0 {
dce;
encapsulation frame-relay;
unit 0 {
description "to CE1 VPN interface";
dlci 10;
family inet {
address 192.168.197.13/30;
}
}
unit 1 {
description "to CE1 public interface";
dlci 20;
family inet {
address 192.168.198.201/30;
}
}
}
}
ルーティングオプション
routing-options {
static {
route 10.12.1.0/24 next-hop 192.168.198.202;
}
}
BGP プロトコル
protocols {
bgp {
group pe-pe {
type internal;
local-address 10.255.14.171;
family inet {
any;
}
family inet-vpn {
any;
}
export [ fix-nh redist-static];
neighbor 10.255.14.177;
neighbor 10.255.14.179;
}
}
}
IS-IS プロトコル
isis {
level 1 disable;
interface so-0/0/0.0;
interface lo0.0;
}
LDP プロトコル
ldp {
interface so-0/0/0.0;
}
ルーティング インスタンス
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
protocols {
bgp {
group to-CE1 {
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
ポリシー・オプション/ポリシー・ステートメント
policy-options {
policy-statement fix-nh {
then {
next-hop self;
}
}
policy-statement redist-static {
term a {
from {
protocol static;
route-filter 10.12.1.0/24 exact;
}
then accept;
}
term b {
then reject;
}
}
}
インポートポリシーとエクスポートポリシー
policy-statement vpna-import {
term a {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term b {
then reject;
}
}
policy-statement vpna-export {
term a {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term b {
then reject;
}
}
community vpna-comm members target:63000:100;
同じインターフェイスを介してVPNと送信インターネットトラフィックをルーティングする場合と、異なるインターフェイスを介してリターンインターネットトラフィックをルーティングする場合
この例では、CE ルータは同じインターフェイスを介して VPN とインターネット トラフィックを送信しますが、別のインターフェイスを介してリターン インターネット トラフィックを受信します。PE ルーターの VRF テーブルには、メイン ルーティングテーブル inet.0 を指すデフォルト ルートがあります。VPN パブリック IP アドレス プール (リターン インターネット トラフィック) を inet.0 の別のインターフェイス経由でルーティングします ( 図 5 参照)。CE ルーターは引き続き NAT 機能を実行します。
次のセクションでは、VPN と発信インターネットトラフィックを同じインタフェースでルーティングする方法と、リターンインターネットトラフィックを異なるインタフェースでルーティングする方法を示します。
ルーターPE1の設定
この例では、 レイヤー3 VPNの異なるインターフェイスを介したVPNおよびインターネットトラフィックのルーティングにおいて、ルーターPE1と同じ設定をしています。 レイヤー 3 VPN の異なるインターフェイスを介した VPN およびインターネット トラフィックのルーティングに示すトポロジーを使用します。VPNルーティングテーブルへのデフォルトルートは、異なる方法で設定されています。 [edit routing-instances routing-instance-name routing-options] 階層レベルでは、vpna.inet.0 にインストールされ、解決のために inet.0 を指すデフォルト 静的ルート を設定します。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-table inet.0;
}
}
protocols {
bgp {
group to-CE1 {
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
また、PEルーターの設定の違いを考慮するために、ルーターCE1の設定を( レイヤー3 VPNの異なるインターフェイスを介したVPNおよびインターネットトラフィックのルーティングで説明したルーターPE1の設定と連動する設定から)変更する必要があります。
VPNとインターネットトラフィックを同じインターフェイスで双方向にルーティングする(VPNにはパブリックアドレスがある)
このセクションでは、インターネットとCEルータを行き来するVPNとインターネットの両方のトラフィックを処理する単一の論理インターフェイスを設定する方法を示します。このインターフェイスは、VPNにプライベートアドレスがない限り、VPNとインターネットの両方のトラフィックを処理できます。CEルータから受信したVPNルートは、ルーティングテーブルグループによってメインルーティングテーブルinet.0に追加されます。これにより、PE ルーターはインターネットからのリターン トラフィックを引き付けることができます( 図 6 を参照)。
を伝送するように設定されたインターフェイス
この例では、すべてのVPNルートがパブリックであるため、CEルータでNATを実行する必要はありません。CEルーターは、VPNルートをアドバタイズするPEルーターへのインターフェイスを1つ備えています。PE ルーターの VRF テーブルには、メイン ルーティングテーブル inet.0 を指すデフォルト ルートがあります。また、PEルータは、CEルータから受信したVPN経路を、ルーティングテーブルグループを用いてinet.0にインポートします。
以下のルーターPE1の設定では、 レイヤー3 VPNの異なるインターフェイスを介したVPNおよびインターネットトラフィックのルーティングと同じトポロジーを使用しています。この設定では、ルーターPE1とルーターCE1の間に(2つではなく)1つの論理インターフェイスを使用します。
次のセクションでは、VPNとインターネットのトラフィックを同じインターフェイスを介して双方向にルーティングする方法を示します(VPNにはパブリックアドレスがあります)。
- ルーターPE1でのルーティングオプションの設定
- ルーターPE1でのルーティングプロトコルの設定
- ルーターPE1でのルーティングインスタンスの設定
- 同じインターフェイスを介して双方向にルーティングされるトラフィック: ルーター別に要約された設定
ルーターPE1でのルーティングオプションの設定
ルーティングテーブルグループvpna.inet.0およびinet.0にVPNルートをインストールするためのルーティングテーブルグループ定義を設定します。
[edit]
routing-options {
rib-groups {
vpna-to-inet0 {
import-rib [ vpna.inet.0 inet.0 ];
}
}
}
ルーターPE1でのルーティングプロトコルの設定
ルーターPE1でMPLS、BGP、IS-IS、LDPプロトコルを設定します。この設定には、[edit protocols bgp group pe-pe]階層レベルのpolicy redist-static ステートメントは含まれていません。VPN ルートは IBGP に直接送信されます。
ルーターPE1でBGPを設定して、非VPNおよびVPNピアリングを許可し、VPNのパブリックIPアドレスプールをアドバタイズします。
[edit]
protocols {
mpls {
interface so-0/0/0.0;
}
bgp {
group pe-pe {
type internal;
local-address 10.255.14.171;
family inet {
any;
}
family inet-vpn {
any;
}
export fix-nh;
neighbor 10.255.14.177;
neighbor 10.255.14.173;
}
}
isis {
level 1 disable;
interface so-0/0/0.0;
interface lo0.0;
}
ldp {
interface so-0/0/0.0;
}
}
ルーターPE1でのルーティングインスタンスの設定
このセクションでは、ルーターPE1でルーティング インスタンスを設定する方法について説明します。 routing-options ステートメントで定義された静的ルートは、CEルーターからinet.0ルーティングテーブルにインターネットトラフィックを誘導します。 rib-group vpna-to-inet0 ステートメントで定義された ルーティングテーブル グループは、VPN ルートを inet.0 に追加します。
ルーターPE1でルーティング インスタンスを設定します。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-table inet.0;
}
}
protocols {
bgp {
group to-CE1 {
family inet {
unicast {
rib-group vpna-to-inet0;
}
}
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
デフォルトルートを使用してすべてのトラフィックをルーターPE1に転送するように、ルーターCE1を設定する必要があります。または、デフォルト ルートは、EBGP を使用してルーター PE1 からルーター CE1 にアドバタイズできます。
同じインターフェイスを介して双方向にルーティングされるトラフィック: ルーター別に要約された設定
ルーターPE1
この例では、 レイヤー 3 VPN の異なるインターフェイスを介した VPN およびインターネットトラフィックのルーティングと同じ設定を使用します。この設定では、ルーターPE1とルーターCE1の間に(2つではなく)1つの論理インターフェイスを使用します。
ルーティングオプション
routing-options {
rib-groups {
vpna-to-inet0 {
import-rib [ vpna.inet.0 inet.0 ];
}
}
}
ルーティングプロトコル
protocols {
mpls {
interface so-0/0/0.0;
}
bgp {
group pe-pe {
type internal;
local-address 10.255.14.171;
family inet {
any;
}
family inet-vpn {
any;
}
export fix-nh;
neighbor 10.255.14.177;
neighbor 10.255.14.173;
}
}
isis {
level 1 disable;
interface so-0/0/0.0;
interface lo0.0;
}
ldp {
interface so-0/0/0.0;
}
}
ルーティング インスタンス
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-table inet.0;
}
}
protocols {
bgp {
group to-CE1 {
family inet {
unicast {
rib-group vpna-to-inet0;
}
}
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
同じインターフェイスを介してVPNとインターネットトラフィックを双方向にルーティングする(VPNにはプライベートアドレスがある)
このセクションの例では、VPN トラフィックとインターネット トラフィックを同じインターフェイスを介して双方向(CE ルータからインターネットへ、およびインターネットから CE ルータへ)にルーティングする方法を示します。この例のVPNにはプライベートアドレスがあります。CE ルーターで EBGP を設定できる場合は、VPN にプライベート アドレスがある場合でも、 同じインターフェイスを介して VPN とインターネット トラフィックを双方向にルーティングする(VPN にはパブリック アドレスがある)に記載されている設定を使用して PE ルーターを設定できます。
このセクションで説明する例では、CEルータは個別のコミュニティを使用して、VPNルートとパブリックルートをアドバタイズします。PEルーターは、パブリックルートのみを選択的にinet.0ルーティングテーブルにインポートします。この設定により、インターネットからのリターン トラフィックは、パブリック インターネット アドレスに送信される VPN トラフィックで使用されるインターフェイスと同じインターフェイスを PE ルーターと CE ルーター間で使用します( 図 7 を参照)。
を介してルーティングされるVPNとインターネットのトラフィック
この例では、CE ルーターは PE ルーターとの 1 つのインターフェイスと BGP セッションを持ち、VPN ルートとインターネット ルートに異なるコミュニティをタグ付けしています。PE ルーターには 1 つのインターフェイスがあり、VPN のパブリック IP アドレス プールのルートを選択的に inet.0 にインポートし、VRF ルーティングテーブルに inet.0 を指すデフォルト ルートがあります。
次のセクションでは、VPNとインターネットのトラフィックを同じインターフェイスを介して双方向にルーティングする方法を示します(VPNにはプライベートアドレスがあります)。
- ルーターPE1のルーティングオプションの設定
- ルーターPE1のルーティングインスタンスの設定
- ルーターPE1のポリシーオプションの設定
- 同じインターフェイスによって双方向にルーティングされるトラフィック(VPNにはプライベートアドレスがあります): ルーター別に要約された設定
ルーターPE1のルーティングオプションの設定
ルーターPE1では、vpna.inet.0とinet.0ルーティングテーブルにVPNルートをインストールするルーティングテーブルグループを設定します。
[edit]
routing-options {
rib-groups {
vpna-to-inet0 {
import-policy import-public-addr-to-inet0;
import-rib [ vpna.inet.0 inet.0 ];
}
}
}
ルーターPE1のルーティングインスタンスの設定
ルーターPE1で、ルーティング インスタンスを設定します。ルーティング インスタンスの設定の一環として、vpna.inet.0にインストールされ、解決のためにinet.0を指す静的ルートを設定します。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-table inet.0;
}
}
}
}
[edit routing-instances vpna protocols bgp] 階層レベルで、パブリックルートをinet.0にインポートするポリシー(import-public-addr-to-inet0)と、BGPが複数のルーティングテーブル(vpna.inet.0とinet.0)にルートをインストールできるようにするルーティングテーブルグループ(vpna-to-inet0)を設定します。
[edit routing-instances vpna]
protocols {
bgp {
group to-CE1 {
import import-public-addr-to-inet0;
family inet {
unicast {
rib-group vpna-to-inet0;
}
}
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
ルーターPE1のポリシーオプションの設定
ルーターPE1のポリシーオプションを設定して、最初にすべてのルートを受け入れ(term a)、次に public-comm コミュニティを持つルートをルーティングテーブルinet.0(term b)にインストールします。
[edit]
policy-options {
policy-statement import-public-addr-to-inet0 {
term a {
from {
protocol bgp;
rib vpna.inet.0;
community [ public-comm private-comm ];
}
then accept;
}
term b {
from {
protocol bgp;
community public-comm;
}
to rib inet.0;
then accept;
}
term c {
then reject;
}
}
community private-comm members target:1:333;
community public-comm members target:1:111;
community vpna-comm members target:63000:100;
}
同じインターフェイスによって双方向にルーティングされるトラフィック(VPNにはプライベートアドレスがあります): ルーター別に要約された設定
ルーターPE1
ルーティングオプション
[edit]
routing-options {
rib-groups {
vpna-to-inet0 {
import-policy import-public-addr-to-inet0;
import-rib [ vpna.inet.0 inet.0 ];
}
}
}
ルーティングインスタンス
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-table inet.0;
}
}
}
}
ルーティング インスタンス プロトコル BGP
[edit routing-instances vpna]
protocols {
bgp {
group to-CE1 {
family inet {
unicast {
rib-group vpna-to-inet0;
}
}
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
ポリシー・オプション
[edit]
policy-options {
policy-statement import-public-addr-to-inet0 {
term a {
from {
protocol bgp;
rib vpna.inet.0;
community [ public-comm private-comm ];
}
then accept;
}
term b {
from {
protocol bgp;
community public-comm;
}
to rib inet.0;
then accept;
}
term c {
then reject;
}
}
community private-comm members target:1:333;
community public-comm members target:1:111;
community vpna-comm members target:63000:100;
}
別の NAT デバイスを介したインターネット トラフィックのルーティング
この例では、CE ルータは NAT を実行しません。VPNとインターネットの両方のトラフィックを、同じインターフェイスを介してPEルーターに送信します。PEルーターは、2つのインターフェイスによってNATデバイスに接続されています。1 つのインターフェイスは PE ルーターの VRF テーブルで設定され、VPN のインターネット トラフィックをルーティングできる NAT デバイス上の VPN インターフェイスを指します。もう一方のインターフェイスはデフォルトのインスタンスにあります。例えば、パブリック ルーティングテーブル inet.0 の一部です。グローバル ルーティングテーブルの一部として、PE ルーターと NAT デバイスの間に単一の物理接続と、複数の論理接続(VRF テーブルと別のインターフェイスに 1 つ)を設定できます( 図 8 を参照)。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
M Seriesルーター
-
Junos OS リリース 9.3 以降
概要
この例のトポロジーは、 レイヤー3 VPNの異なるインターフェイスを介したVPNおよびインターネットトラフィックのルーティングで説明したトポロジーを拡張したものです。CEルーターは、VPNとインターネットの両方のトラフィックをルーターPE1に送信します。VPNトラフィックは、ルーターPE1が受信したVPNルートに基づいてルーティングされます。他のすべてのトラフィックは、ルーターPE1のプライベートインターフェイスを使用してNATデバイスに送信され、NATデバイスはプライベートアドレスを変換し、そのルーターのパブリックインターフェイスを使用してルーターPE1にトラフィックを送り返します( 図9を参照)。
位相幾何学
構成
別の NAT デバイスを介してインターネットトラフィックをルーティングするには、以下のタスクを実行します。
ルーターPE1のインターフェイス設定
手順
-
ルーターCE1からのVPNトラフィック用のインターフェイスを設定します。
[edit] interfaces { t3-0/2/0 { dce; encapsulation frame-relay; unit 0 { description "to CE1 VPN interface"; dlci 10; family inet { address 192.168.197.13/30; } } } } -
NATデバイス(ユニット0)との間のVPNトラフィック用のインターフェイスと、NATデバイス(ユニット1)との間のインターネットトラフィック用のインターフェイスを設定します。
[edit] interfaces { at-1/3/1 { atm-options { vpi 1 maximum-vcs 255; } unit 0 { description "to NAT VPN interface"; vci 1.100; family inet { address 10.23.0.2/32 { destination 10.23.0.1; } } } unit 1 { description "to NAT public interface"; vci 1.101; family inet { address 10.23.0.6/32 { destination 10.23.0.5; } } } } }
ルーターPE1のルーティングオプションの設定
手順
-
ルーターPE1で静的ルートを設定し、NATデバイスを介してCEルーターにインターネットトラフィックを誘導します。ルーターPE1は、このルートをインターネットに配布します。
[edit] routing-options { static { route 10.12.1.0/24 next-hop 10.23.0.5; } }
ルーターPE1でのルーティングプロトコルの設定
手順
ルーターPE1で次のルーティングプロトコルを設定します。
-
ルーターPE1でMPLSを設定します。VRF テーブルに NAT デバイスの VPN インターフェイスを含めます。
[edit] protocols { mpls { interface so-0/0/0.0; interface at-1/3/1.0; } } -
ルーターPE1でBGPを設定します。パブリックIPアドレスプールをアドバタイズするポリシーを含めます。
[edit] protocols { bgp { group pe-pe { type internal; local-address 10.255.14.171; family inet { any; } family inet-vpn { any; } export [ fix-nh redist-static ]; neighbor 10.255.14.177; neighbor 10.255.14.173; } } } -
ルーターPE1でIS-ISを設定します。
[edit] protocols { isis { level 1 disable; interface so-0/0/0.0; interface lo0.0; } } -
ルーターPE1でLDPを設定します。
[edit] protocols { ldp { interface so-0/0/0.0; } }
ルーターPE1でのルーティングインスタンスの設定
手順
ルーターPE1のレイヤー3 VPNルーティング インスタンスを設定します。
-
ルーターPE1でルーティング インスタンスを設定します。ルーティング インスタンス設定の一環として、[
routing-options]で、NATデバイスのVPNインターフェイスを指す静的デフォルトルートをvpna.inet.0に設定します(これにより、すべての非VPNトラフィックがNATデバイスに送信されます)。[edit] routing-instances { vpna { instance-type vrf; interface t3-0/2/0.0; interface at-1/3/1.0; route-distinguisher 10.255.14.171:100; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { route 0.0.0.0/0 next-hop 10.23.0.1; } } protocols { bgp { group to-CE1 { peer-as 63001; neighbor 192.168.197.14; } } } } } -
ルーターPE1のレイヤー3 VPNルーティング インスタンスのルーティングポリシーを設定します。
policy-options { policy-statement fix-nh { then { next-hop self; } } policy-statement redist-static { term a { from { protocol static; route-filter 10.12.1.0/24 exact; } then accept; } term b { from protocol bgp; then accept; } term c { then accept; } } policy-statement vpna-import { term a { from { protocol bgp; community vpna-comm; } then accept; } term b { then reject; } } policy-statement vpna-export { term a { from protocol bgp; then { community add vpna-comm; accept; } } term b { then reject; } } community vpna-comm members target:63000:100; }
業績
ルーターPE1の設定モードから、 show interfaces、show routing-options、show protocols、show routing-instances、show policy-optionsの各コマンドを入力して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@PE1# show interfaces
interfaces {
t3-0/2/0 {
dce;
encapsulation frame-relay;
unit 0 {
description "to CE1 VPN interface";
dlci 10;
family inet {
address 192.168.197.13/30;
}
}
}
at-1/3/1 {
atm-options {
vpi 1 maximum-vcs 255;
}
unit 0 {
description "to NAT VPN interface";
vci 1.100;
family inet {
address 10.23.0.2/32 {
destination 10.23.0.1;
}
}
}
unit 1 {
description "to NAT public interface";
vci 1.101;
family inet {
address 10.23.0.6/32 {
destination 10.23.0.5;
}
}
}
}
}
user@PE1# show routing-options
routing-options {
static {
route 10.12.1.0/24 next-hop 10.23.0.5;
}
}
user@PE1# show protocols
protocols {
mpls {
interface so-0/0/0.0;
interface at-1/3/1.0;
}
bgp {
group pe-pe {
type internal;
local-address 10.255.14.171;
family inet {
any;
}
family inet-vpn {
any;
}
export [ fix-nh redist-static ];
neighbor 10.255.14.177;
neighbor 10.255.14.173;
}
}
isis {
level 1 disable;
interface so-0/0/0.0;
interface lo0.0;
}
ldp {
interface so-0/0/0.0;
}
}
user@PE1# show routing-instances
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
interface at-1/3/1.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-hop 10.23.0.1;
}
}
protocols {
bgp {
group to-CE1 {
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
user@PE1# show policy-options
policy-options {
policy-statement fix-nh {
then {
next-hop self;
}
}
policy-statement redist-static {
term a {
from {
protocol static;
route-filter 10.12.1.0/24 exact;
}
then accept;
}
term b {
from protocol bgp;
then accept;
}
term c {
then accept;
}
}
policy-statement vpna-import {
term a {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term b {
then reject;
}
}
policy-statement vpna-export {
term a {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term b {
then reject;
}
}
community vpna-comm members target:63000:100;
}
レイヤー3VPNによる集中型インターネットアクセス
このセクションでは、インターネット アクセスの中央サイトとして機能するように CE ルータを設定するいくつかの方法について説明します。他のサイト(CEルーター)からのインターネットトラフィックは、そのルーターのVPNインターフェイスを使用して、ハブCEルーター(NATも実行)にルーティングされます。次に、ハブCEルーターは、inet.0テーブルで識別された別のインターフェイスを介して、インターネットに接続されたPEルーターにトラフィックを転送します。ハブCEルーターは、スポークCEルーターにデフォルトルートをアドバタイズできます。このタイプの設定の欠点は、すべてのトラフィックがインターネットに行く前に中央のCEルータを通過する必要があるため、このルータが受信するトラフィックが多すぎるとネットワークの遅延が発生することです。しかし、企業ネットワークでは、ほとんどの企業ネットワークでは VPN とインターネットが 1 つのファイアウォールによって分離されているため、トラフィックを中央サイトにルーティングしなければならない場合があります。
このセクションには、次の例が含まれています。
ハブCEルーターを介したインターネットトラフィックのルーティング
この例では、インターネットトラフィックはハブCEルーターを介してルーティングされます。ハブ CE ルーターには、ハブ PE ルーターへの 2 つのインターフェイス(VPN インターフェイスとパブリック インターフェイス)があります。VPN インターフェイスを介してハブ PE ルーターから転送されたトラフィックに対して NAT を実行し、そのトラフィックをパブリック インターフェイスからハブ PE ルーターに転送します。ハブPEルータのVRFテーブルには、ハブCEルータのVPNインターフェイスを指す静的デフォルトルートがあります。このデフォルト ルートを残りの VPN にアナウンスし、VPN 以外のすべてのトラフィックをハブ CE ルートに引き付けます。また、ハブ PE ルーターは、VPN のパブリック IP アドレス空間をインストールして配布します( 図 10 を参照)。
を実行するハブ CE ルーターを介したインターネット アクセス
この例の設定は、 別の NAT デバイスを介したインターネットトラフィックのルーティングで説明した設定とほぼ同じです。違いは、ルーターPE1が他のCEルーターに静的デフォルトルートを通知するように設定されていることです( 図11を参照)。
を介して提供されるインターネットアクセス
次のセクションでは、ハブCEルーターを介してインターネットトラフィックをルーティングすることにより、集中型インターネットアクセスを設定する方法を示します。
ルーターPE1でのルーティングインスタンスの設定
ルーターPE1のルーティング インスタンスを設定します。この設定の一環として、 routing-optionsで、vpna.inet.0にインストールされるデフォルト静的ルート(route 0.0.0.0/0)を設定し、ルートをハブCEルータのVPNインターフェイス(10.23.0.1)にポイントします。また、ルーティング インスタンスの下でBGPを設定して、デフォルトルートをローカルCEルータにエクスポートします。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
interface at-1/3/1.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-hop 10.23.0.1;
}
}
protocols {
bgp {
group to-CE1 {
export export-default;
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
ルーターPE1でのポリシーオプションの設定
ルーターPE1でポリシーオプションを設定します。この設定の一環として、ルーターPE1は、vpna内のすべてのリモートPEルーターに静的デフォルトルートをエクスポートする必要があります(term bの下のpolicy-statement vpna-exportステートメントで設定)。
[edit]
policy-options {
policy-statement vpna-export {
term a {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term b {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
then {
community add vpna-comm;
accept;
}
}
term c {
then reject;
}
}
policy-statement export-default {
term a {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
then accept;
}
term b {
from protocol bgp;
then accept;
}
term c {
then reject;
}
}
}
ハブ CE ルーターによってルーティングされるインターネット トラフィック:ルーター別に要約された設定
ルーターPE1
ルーターPE1の設定は、 別のNATデバイスを介してインターネットトラフィックをルーティングするの例の例とほぼ同じです。違いは、ルーターPE1が他のCEルーターに静的デフォルトルートを通知するように設定されていることです。
ルーティング インスタンス
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
interface at-1/3/1.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-hop 10.23.0.1;
}
}
protocols {
bgp {
group to-CE1 {
export export-default;
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
ポリシー・オプション
policy-options {
policy-statement vpna-export {
term a {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term b {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
then {
community add vpna-comm;
accept;
}
}
term c {
then reject;
}
}
policy-statement export-default {
term a {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
then accept;
}
term b {
from protocol bgp;
then accept;
}
term c {
then reject;
}
}
}
複数のCEルーターを介したインターネットトラフィックのルーティング
このセクションの例は、 レイヤー 3 VPN による集中型インターネット アクセスで説明した内容の拡張です。この例では、同様の機能を実行する複数のハブCEルーターを使用して、サイトごとに異なる出口点を提供しています。各ハブ CE ルーターは、デフォルト ルートに異なるルート ターゲットをタグ付けし、スポーク CE ルーターがインターネット アクセスに使用するハブ サイトを選択できるようにします( 図 12 を参照)。
を処理する 2 つのハブ CE ルーター
この例では、NAT とインターネットトラフィックを処理する 2 つのハブ CE ルーターを使用します。
-
コミュニティ
public-comm1で0/0されたハブ1 CEルーターのタグ(ターゲット:1:111) -
Hub2 CEルーターは、コミュニティ
public-comm2で0/0タグを付けます(ターゲット:1:112)
この例のスポークCEルーターは、インターネットアクセスのためにHub2にバイアスをかけるように設定されています。
次のセクションでは、インターネットトラフィックとNATを処理するために2つのハブCEルーターを設定する方法について説明します。
- ルーターPE1でのルーティングインスタンスの設定
- ルーターPE1でのポリシーオプションの設定
- ルーターPE3でのルーティングインスタンスの設定
- ルーターPE3でのポリシーオプションの設定
- 複数の CE ルータを介してインターネット トラフィックをルーティングする:ルータ別に要約された設定
ルーターPE1でのルーティングインスタンスの設定
ルーターPE1でルーティング インスタンスを設定します。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
interface at-1/3/1.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-hop 10.23.0.1;
}
}
protocols {
bgp {
group to-CE1 {
export export-default;
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
ルーターPE1でのポリシーオプションの設定
ルーターPE1のポリシーオプションは、ハブCEルーターを介してインターネットトラフィックをルーティングする場合と同じですが、この例の設定では、exportステートメントに追加のコミュニティpublic-comm1が含まれています。
[edit]
policy-options {
policy-statement vpna-import {
term a {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term b {
then reject;
}
}
policy-statement vpna-export {
term a {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
then {
community add public-comm1;
community add vpna-comm;
accept;
}
}
term b {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term c {
then reject;
}
}
community public-comm1 members target:1:111;
community public-comm2 members target:1:112;
community vpna-comm members target:63000:100;
}
ルーターPE2の設定は、ルーターPE2がコミュニティ public-comm2を介してデフォルトルートをエクスポートする点を除いて、ルーターPE1の設定と同じです。
ルーターPE3でのルーティングインスタンスの設定
ルーターPE3でルーティング インスタンス vpna を設定します。
[edit]
routing-instances {
vpna {
instance-type vrf;
interface t1-0/2/0.0;
route-distinguisher 10.255.14.173:100;
vrf-import vpna-import;
vrf-export vpna-export;
protocols {
rip {
group to-vpn12 {
export export-CE;
neighbor t1-0/2/0.0;
}
}
}
}
}
ルーターPE3でのポリシーオプションの設定
ルーターPE3の vrf-import ポリシーを設定し、 ルーターPE1でのポリシーオプションの設定で指定された追加のコミュニティに基づいてインターネット出口ポイントを選択します。
[edit]
policy-options {
policy-statement vpna-export {
term a {
from protocol rip;
then {
community add vpna-comm;
accept;
}
}
term b {
then reject;
}
}
policy-statement vpna-import {
term a {
from {
protocol bgp;
community public-comm1;
route-filter 0.0.0.0/0 exact;
}
then reject;
}
term b {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term c {
then reject;
}
}
policy-statement export-CE {
from protocol bgp;
then accept;
}
community vpna-comm members target:69:100;
community public-comm1 members target:1:111;
community public-comm2 members target:1:112;
}
複数の CE ルータを介してインターネット トラフィックをルーティングする:ルータ別に要約された設定
ルーターPE1
この設定は、 ハブ CE ルーターを介したインターネットトラフィックのルーティングの例を拡張したものです。類似の機能を実行する複数のハブCEルーターを使用することで、サイトごとに異なる出口点を提供します。
ルーティングインスタンス
routing-instances {
vpna {
instance-type vrf;
interface t3-0/2/0.0;
interface at-1/3/1.0;
route-distinguisher 10.255.14.171:100;
vrf-import vpna-import;
vrf-export vpna-export;
routing-options {
static {
route 0.0.0.0/0 next-hop 10.23.0.1;
}
}
protocols {
bgp {
group to-CE1 {
export export-default;
peer-as 63001;
neighbor 192.168.197.14;
}
}
}
}
}
ポリシー・オプション
policy-options {
policy-statement vpna-import {
term a {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term b {
then reject;
}
}
policy-statement vpna-export {
term a {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
then {
community add public-comm1;
community add vpna-comm;
accept;
}
}
term b {
from protocol bgp;
then {
community add vpna-comm;
accept;
}
}
term c {
then reject;
}
}
community public-comm1 members target:1:111;
community public-comm2 members target:1:112;
community vpna-comm members target:63000:100;
}
ルーターPE2
ルーターPE2の設定は、ルーターPE2がコミュニティ public-comm2を介してデフォルトルートをエクスポートする点を除いて、ルーターPE1の設定と同じです。
ルーターPE3
ルーティングインスタンス
routing-instances {
vpna {
instance-type vrf;
interface t1-0/2/0.0;
route-distinguisher 10.255.14.173:100;
vrf-import vpna-import;
vrf-export vpna-export;
protocols {
rip {
group to-vpn12 {
export export-CE;
neighbor t1-0/2/0.0;
}
}
}
}
}
ポリシー・オプション
policy-options {
policy-statement vpna-export {
term a {
from protocol rip;
then {
community add vpna-comm;
accept;
}
}
term b {
then reject;
}
}
policy-statement vpna-import {
term a {
from {
protocol bgp;
community public-comm1;
route-filter 0.0.0.0/0 exact;
}
then reject;
}
term b {
from {
protocol bgp;
community vpna-comm;
}
then accept;
}
term c {
then reject;
}
}
policy-statement export-CE {
from protocol bgp;
then accept;
}
community vpna-comm members target:69:100;
community public-comm1 members target:1:111;
community public-comm2 members target:1:112;
}