この設定例は、Routing Information Protocol(RIP)がカスタマー側で使用されている場合の、マルチプロトコル ラベル スイッチング(MPLS)バーチャル プライベート ネットワークを示しています。
VPN 機能を MPLS と併用すると、サービス プロバイダーのネットワークを介して、複数のサイトを透過的に相互接続できます。1 つのサービス プロバイダー ネットワークで複数の IP VPN をサポートできます。それぞれの IP VPN は、他すべてのネットワークから分離したプライベート ネットワークとして表示されます。VPN 内の各サイトは、同じ VPN 内の他のサイトに IP パケットを送信します。
各 VPN は 1 つ以上の VPN Routing or Forwarding instance(VRF; VPN ルーティング/転送インスタンス)に関連付けられます。VRF は、1 つの IP ルーティング テーブル、派生した 1 つのシスコ エクスプレス フォワーディング(CEF)テーブル、次のテーブルを使用する複数のインターフェイスで構成されます。
ルータは VRF ごとに異なるルーティング テーブルと CEF テーブルを保持します。このため、VPN の外へ情報が送信されるのを防ぐことができ、IP アドレスの重複問題を起こさずに、複数の VPN で同じサブネットを使用できます。
ボーダーゲートウェイ プロトコル(BGP)を使用するルータは、BGP 拡張コミュニティを使用して、VPN ルーティング情報を分配します。
VPN を介した更新プログラムの伝搬についての詳細は、「MPLS バーチャル プライベート ネットワーク」の「VPN ルート ターゲット コミュニティ」、「VPN ルート情報の BGP 配布」、および「MPLS 転送」のセクションを参照してください。
このドキュメントに関しては個別の前提条件はありません。
次のバージョンのソフトウェアとバードウェアを使って、この設定の開発とテストを行いました。
PE ルータ:MPLS VPN の機能は、PE ルータで提供されています。使用可能なハードウェアとソフトウェアの組み合せを判断するには、Feature Navigator II(登録ユーザ専用)を使用してください。
CE ルータ:PE ルータとの情報交換が可能な任意のルータを使用します。
P ルータおよびスイッチ:このドキュメントでは MSR、BPX、MGX などの ATM スイッチが使用されました。ただし、ドキュメントでは MPLS VPN 機能を主に説明しているため、Cisco 12000 など、ルータを使ってコアでフレーム ベース MPLS を使用することも可能でした。
このマニュアルの情報は、特定のラボ環境に置かれたデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。実稼動中のネットワークで作業をしている場合、実際にコマンドを使用する前に、その潜在的な影響について理解しておく必要があります。
Open Shortest Path First(OSPF)エリア 0 を内部ゲートウェイ プロトコル(IGP)として使用して、標準的な MPLS ATM バックボーンをセットアップしました。 このバックボーンを使って、2 つの異なる VPN を設定しました。最初の VPN では、カスタマー エッジからプロバイダー エッジへの(CE-PE)ルーティング プロトコルとして RIP を使用し、もう 1 つの VPN では PE-CE ルーティング プロトコルとして BGP を使用します。他のルータやネットワークの存在をシミュレートするために、CE ルータ上にさまざまなループバック ルートとスタティック ルートを設定しています。
注:BGP拡張コミュニティを使用する方法はPEルータ間のVPNのルーティング情報を転送する唯一の方法であるため、BGPをPEルータ間のVPN IGPとして使用する必要があります。
注:この設定を行うために、バックボーンネットワークとしてATMネットワークが使用されました。ATM(および他の)プロトコルにこの設定を適用できます。PE ルータが相互に到達可能である必要があります。
次の文字は、使用されるさまざまなタイプのルータとスイッチを表しています。
P:プロバイダーのコア ルータ
PE:プロバイダーのエッジ ルータ
CE:カスタマーのエッジ ルータ
C:カスタマーのルータ
これらの表記法を示す標準的な設定を、以下の図に示します。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。「MPLS バーチャル プライベート ネットワーク」にある Cisco IOS のドキュメントでも、この設定手順を説明しています。
注:このドキュメントで使用されているコマンドの詳細を調べるには、IOS Command Lookupツール(登録ユーザ専用)を使用してください。
このドキュメントでは次の図に示すネットワーク構成を使用しています。
正しい設定には、次の手順が役に立ちます。
ip cef コマンドを有効にします。Cisco 7500 ルータを使用している場合は、MPLS をセットアップした後、PE のパフォーマンスを向上させるために ip cef distributed コマンド(使用可能な場合)を必ず有効にしてください。
ip vrf [VPN routing | forwarding instance name]コマンドを使用します。VRF を作成する際には、次のことを必ず行います。
次のコマンドを使用して、対象となる VPN に対して使用する適切なルート区分を指定します。この区分は、IP アドレスの拡張に使用されて、IP アドレスが所属する VPN を識別できるようになります。
rd [VPN route distinguisher]
次のコマンドを使用して、BGP 拡張コミュニティに対し、インポート プロパティとエクスポート プロパティをセットアップします。これらのプロパティは、インポートおよびエクスポートのプロセスのフィルタリングに使用されます。
route-target {export | import | both} [target VPN extended community]
ip vrf forwarding [table name] コマンドを使用して、各インターフェイスに転送の詳細情報を設定します。その後、必ず IP アドレスをセットアップしてください。
使用している PE-CE ルーティング プロトコルに応じて、次のいずれか 1 つまたは複数の作業を行います。
次のようにスタティック ルートを設定します。
ip route vrf vrf-name prefix mask [next-hop-address] [interface {interface-number}]
次のコマンドを使用して、RIP を設定します。
address-family ipv4 vrf [VPN routing | forwarding instance name]
上のステップの 1 つまたは両方を完了したら、通常の RIP 設定コマンドを入力します。
注:これらのコマンドは、現在のVRFの転送インターフェイスにのみ適用されます。適切な BGP を RIP に再配布します。この際、使用するメトリックを必ず指定してください。
BGP ネイバー情報を宣言します。
新しい IOS コマンドを使って、OSPF を設定します。
router ospf process-id vrf [VPN routing | forwarding instance name]
注:このコマンドは、現在のVRFの転送インターフェイスにのみ適用されます。適切な BGP ルーティング情報を OSPF に再配布して、使用するメトリックを指定します。VRF に対する OSPF プロセスが完了したら、コマンドラインに OSPF プロセスが指定されていない場合でも、この VRF にはこのプロセス ID が常に使用されます。
PE ルータ間で BGP を設定します。BGP の設定には、ルート リフレクタやコンフェデレーション方式を使用するなど、いくつかの方法があります。ここで示す方法は、直接隣接ルータを設定する方法です。これは最も簡単ですが、スケーラブルではありません。
それぞれの近接ルータを宣言します。
この PE ルータにある、それぞれの VPN に対して address-family ipv4 vrf [VPN routing | forwarding instance name]コマンドを発行します。必要に応じて、次のステップを 1 回以上実行します。
スタティック ルーティング情報を再配信します。
RIP ルーティング情報を再配信します。
OSPF ルーティング情報を再配信します。
BGP による CE ルータとの近接関係をアクティブにします。
address-family vpnv4 モードに移行し、
近接ルータをアクティブにします。
拡張コミュニティを使用する必要があることを指定します。これは必須です。
Alcalzaba 設定では、VPN 設定に固有の行が太字で示されています。
Alcazaba |
---|
! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ! ip cef ! interface Loopback0 ip address 223.0.0.3 255.255.255.255 ! interface Ethernet1/1 ip vrf forwarding vrf101 ip address 150.150.0.1 255.255.255.0 ! interface ATM3/0 no ip address no ip mroute-cache no ATM ilmi-keepalive PVC qsaal 0/5 qsaal PVC ilmi 0/16 ilmi ! ! interface ATM3/0.1 tag-switching ip address 10.0.0.17 255.255.255.252 tag-switching ATM vpi 2-4 tag-switching ip ! interface ATM4/0 no ip address no ATM ilmi-keepalive ! interface ATM4/0.1 tag-switching ip address 10.0.0.13 255.255.255.252 tag-switching ATM vpi 2-4 tag-switching ip ! router ospf 1 network 10.0.0.0 0.0.0.255 area 0 network 223.0.0.3 0.0.0.0 area 0 ! router rip version 2 ! address-family ipv4 vrf vrf101 version 2 redistribute bgp 1 metric 0 network 150.150.0.0 no auto-summary exit-address-family ! router bgp 1 no synchronization neighbor 125.2.2.2 remote-as 1 neighbor 125.2.2.2 update-source Loopback0 neighbor 223.0.0.21 remote-as 1 neighbor 223.0.0.21 update-source Loopback0 no auto-summary ! address-family ipv4 vrf vrf101 redistribute rip no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 125.2.2.2 activate neighbor 125.2.2.2 send-community extended neighbor 223.0.0.21 activate neighbor 223.0.0.21 send-community extended no auto-summary exit-address-family ! |
Kozel |
---|
! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ! ip cef ! interface Loopback0 ip address 223.0.0.21 255.255.255.255 ! interface Ethernet1/1 ip vrf forwarding vrf101 ip address 200.200.0.1 255.255.255.0 ! interface ATM4/0 no ip address no ATM scrambling cell-payload no ATM ilmi-keepalive PVC qsaal 0/5 qsaal PVC ilmi 0/16 ilmi ! interface ATM4/0.1 tag-switching ip address 10.0.0.6 255.255.255.252 tag-switching ATM vpi 2-4 tag-switching ip ! router ospf 1 log-adjacency-changes network 10.0.0.0 0.0.0.255 area 0 network 223.0.0.21 0.0.0.0 area 0 ! router rip version 2 ! address-family ipv4 vrf vrf101 version 2 redistribute bgp 1 metric 1 network 200.200.0.0 no auto-summary exit-address-family ! router bgp 1 no synchronization neighbor 125.2.2.2 remote-as 1 neighbor 125.2.2.2 update-source Loopback0 neighbor 223.0.0.3 remote-as 1 neighbor 223.0.0.3 update-source Loopback0 no auto-summary ! address-family ipv4 vrf vrf101 redistribute rip no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 125.2.2.2 activate neighbor 125.2.2.2 send-community extended neighbor 223.0.0.3 activate neighbor 223.0.0.3 send-community extended no auto-summary exit-address-family ! |
Medina |
---|
Current configuration: ! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ip cef ! interface Loopback1 ip vrf forwarding vrf101 ip address 11.2.2.2 255.255.255.252 ! interface ATM2/0 no ip address no ATM ilmi-keepalive ! interface ATM2/0.66 tag-switching ip address 125.1.4.2 255.255.255.252 tag-switching ip ! interface Ethernet1/1 ip vrf forwarding vrf101 ip address 11.3.3.1 255.255.255.252 ! router ospf 1 network 125.1.4.0 0.0.0.3 area 0 network 125.2.2.2 0.0.0.0 area 0 ! router rip version 2 network 11.0.0.0 ! address-family ipv4 vrf vrf101 version 2 redistribute bgp 1 metric 1 network 11.0.0.0 no auto-summary exit-address-family ! router bgp 1 no synchronization neighbor 223.0.0.3 remote-as 1 neighbor 223.0.0.3 update-source Loopback0 neighbor 223.0.0.21 remote-as 1 neighbor 223.0.0.21 update-source Loopback0 ! address-family ipv4 vrf vrf101 redistribute connected redistribute static redistribute rip default-information originate no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 223.0.0.3 activate neighbor 223.0.0.3 send-community extended neighbor 223.0.0.21 activate neighbor 223.0.0.21 send-community extended exit-address-family ! |
迅速な |
---|
Current configuration: ! interface Loopback0 ip address 223.0.0.12 255.255.255.255 ! interface Loopback2 ip address 7.7.7.7 255.255.255.0 ! interface FastEthernet0/1 ip address 150.150.0.2 255.255.255.0 duplex auto speed auto ! router rip version 2 redistribute static network 7.0.0.0 network 10.0.0.0 network 150.150.0.0 no auto-summary ! ip route 158.0.0.0 255.0.0.0 Null0 ! |
Damme |
---|
! interface Loopback1 ip address 6.6.6.6 255.0.0.0 ! interface FastEthernet0/0 ip address 10.200.10.14 255.255.252.0 duplex auto speed autoa ! router bgp 158 no synchronization network 6.0.0.0 network 10.200.0.0 mask 255.255.252.0 neighbor 10.200.10.3 remote-as 1 no auto-summary ! |
Pivrnec |
---|
Current configuration: ! interface Loopback0 ip address 223.0.0.22 255.255.255.255 ! interface Loopback1 ip address 6.6.6.6 255.255.255.255 ! interface FastEthernet0/1 ip address 200.200.0.2 255.255.255.0 duplex auto speed auto ! router rip version 2 redistribute static network 6.0.0.0 network 200.200.0.0 no auto-summary ! ip route 69.0.0.0 255.0.0.0 Null0 ! |
Guilder |
---|
! interface Loopback2 ip address 150.150.0.1 255.255.0.0 ! interface Ethernet0/2 ip address 201.201.201.2 255.255.255.252 ! router bgp 69 no synchronization network 7.7.7.0 mask 255.255.0.0 network 150.150.0.0 network 201.201.201.0 mask 255.255.255.252 redistribute connected neighbor 201.201.201.1 remote-as 1 no auto-summary ! |
Purkmister |
---|
Current configuration: ! interface Loopback0 ip address 11.5.5.5 255.255.255.252 ! interface FastEthernet0/1 ip address 11.3.3.2 255.255.255.252 duplex auto speed auto ! router rip version 2 network 11.0.0.0 ! |
debug コマンドを使用する前に、「debug コマンドの重要な情報」を参照してください。ルーティング固有のコマンドを次に示します。
show ip rip database vrf - 特定の VRF に関して RIP データベースに格納されている情報を表示します。
show ip bgp vpnv4 vrf - BGP テーブルからの VPN アドレス情報を表示します。
show ip route vrf - VRF に関連付けられている IP ルーティング テーブルを表示します。
show ip route - すべてのスタティック IP ルート、または認証、認可、およびアカウンティング(AAA)ルート ダウンロード機能を使ってインストールされたスタティック IP ルートを表示します。
一部の show コマンドはアウトプット インタープリタ ツールによってサポートされています(登録ユーザ専用)。このツールを使用することによって、show コマンド出力の分析結果を表示できます。
PE ルータでは、PE-CE ルーティング方式(RIP、BGP、スタティックなど)と、PE-PE BGP アップデートによって、特定の VRF に対して使用されるルーティング テーブルが示されます。次の操作によって、特定の VRF に対する RIP 情報を表示できます。
Alcazaba# show ip rip database vrf vrf101 0.0.0.0/0 auto-summary 0.0.0.0/0 [2] via 150.150.0.2, 00:00:12, Ethernet1/1 6.0.0.0/8 auto-summary 6.6.6.6/32 redistributed [1] via 223.0.0.21, 7.0.0.0/8 auto-summary 7.7.7.0/24 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 10.0.0.0/8 auto-summary 10.0.0.0/8 redistributed [1] via 125.2.2.2, 10.0.0.0/16 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 10.200.8.0/22 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 11.0.0.0/8 auto-summary 11.0.0.4/30 redistributed [1] via 125.2.2.2, 11.1.1.0/30 redistributed [1] via 125.2.2.2, 11.3.3.0/30 redistributed [1] via 125.2.2.2, 11.5.5.4/30 redistributed [1] via 125.2.2.2, 69.0.0.0/8 auto-summary 69.0.0.0/8 redistributed [1] via 223.0.0.21, 150.150.0.0/16 auto-summary 150.150.0.0/24 directly connected, Ethernet1/1 158.0.0.0/8 [1] via 150.150.0.2, 00:00:17, Ethernet1/1 200.200.0.0/24 auto-summary 200.200.0.0/24 redistributed [1] via 223.0.0.21,
show ip bgp vpnv4 vrf コマンドを使用すると、特定の VRF に関する BGP 情報を表示できます。次の出力で i が付いているものは、内部 BGP(iBGP)に起因する PE-PE の出力を示しています。
Alcazaba# show ip bgp vpnv4 vrf vrf101 BGP table version is 46, local router ID is 223.0.0.3 Status codes: s suppressed, d damped, h history, * valid, best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:101 (default for vrf vrf101) *i6.6.6.6/32 223.0.0.21 1 100 0 ? * 7.7.7.0/24 150.150.0.2 1 32768 ? * 10.0.0.0/16 150.150.0.2 1 32768 ? * 10.200.8.0/22 150.150.0.2 1 32768 ? *i11.2.2.0/30 125.2.2.2 0 100 0 ? *i11.3.3.0/30 125.2.2.2 0 100 0 ? *i11.5.5.4/30 125.2.2.2 1 100 0 ? *i69.0.0.0 223.0.0.21 1 100 0 ? * 150.150.0.0/24 0.0.0.0 0 32768 ? * 158.0.0.0/8 150.150.0.2 1 32768 ? *i200.200.0.0 223.0.0.21 0 100 0 ?
PE ルータと CE ルータの両方で、VRF のグローバル ルーティング テーブルを確認します。これらの VRF は一致する必要があります。PE ルータでは、show ip route vrf コマンドを使用して VRF を指定する必要があります:
Alcazaba# show ip route vrf vrf101 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - ISIS, L1 - ISIS level-1, L2 - ISIS level-2, IA - ISIS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set B 69.0.0.0/8 [200/1] via 223.0.0.21, 00:11:03 B 200.200.0.0/24 [200/0] via 223.0.0.21, 00:11:03 6.0.0.0/32 is subnetted, 1 subnets B 6.6.6.6 [200/1] via 223.0.0.21, 00:11:03 7.0.0.0/24 is subnetted, 1 subnets R 7.7.7.0 [120/1] via 150.150.0.2, 00:00:05, Ethernet1/1 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks R 10.0.0.0/16 [120/1] via 150.150.0.2, 00:00:05, Ethernet1/1 R 10.200.8.0/22 [120/1] via 150.150.0.2, 00:00:05, Ethernet1/1 11.0.0.0/30 is subnetted, 3 subnets B 11.3.3.0 [200/0] via 125.2.2.2, 00:07:05 B 11.2.2.0 [200/0] via 125.2.2.2, 00:07:05 B 11.5.5.4 [200/1] via 125.2.2.2, 00:07:05 150.150.0.0/24 is subnetted, 1 subnets C 150.150.0.0 is directly connected, Ethernet1/1 R 158.0.0.0/8 [120/1] via 150.150.0.2, 00:00:06, Ethernet1/1
Pivrnec でこれに相当するコマンドは show ip route コマンドです。すべてのカスタマー(およびカスタマー エッジ)ルータにとっては、これが標準ルーティング テーブルであるためです。
Pivrnec# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - ISIS, L1 - ISIS level-1, L2 - ISIS level-2, IA - ISIS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set S 69.0.0.0/8 is directly connected, Null0 223.0.0.0/32 is subnetted, 1 subnets C 223.0.0.22 is directly connected, Loopback0 C 200.200.0.0/24 is directly connected, FastEthernet0/1 6.0.0.0/32 is subnetted, 1 subnets C 6.6.6.6 is directly connected, Loopback1 7.0.0.0/24 is subnetted, 1 subnets R 7.7.7.0 [120/1] via 200.200.0.1, 00:00:23, FastEthernet0/1 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks R 10.0.0.0/16 [120/1] via 200.200.0.1, 00:00:23, FastEthernet0/1 R 10.200.8.0/22 [120/1] via 200.200.0.1, 00:00:24, FastEthernet0/1 11.0.0.0/30 is subnetted, 3 subnets R 11.3.3.0 [120/1] via 200.200.0.1, 00:00:24, FastEthernet0/1 R 11.2.2.0 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1 R 11.5.5.4 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1 150.150.0.0/24 is subnetted, 1 subnets R 150.150.0.0 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1 R 158.0.0.0/8 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1
次のように、ルートに使用されるラベル スタックを確認します。
Alcazaba# show tag-switching forwarding-table vrf vrf101 11.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface None 2/91 11.5.5.4/30 0 AT4/0.1 point2point MAC/Encaps=4/12, MTU=4466, Tag Stack{2/91(vcd=69) 37} 00458847 0004500000025000
タグの割り当て、および仮想パス識別子と仮想チャネル識別子(VPI/VCI)の関係を表示するには、「MPLS VPN のトラブルシューティング方法」に示されている通常のコマンドを使用できます。
他の VPN に干渉を起こさずに、複数の VPN で同じアドレスを使用できます。この例では、VPN 101のPivrnecとVPN 102のDammeに6.6.6.6アドレスが2回接続されています。一方のサイトでpingコマンドを、もう一方のサイトでdebug ip icmpコマンドを使用すると、これを確認できます。
Guilder# ping 6.6.6.6 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms Damme# debug ip icmp ICMP packet debugging is on 6d22h: ICMP: echo reply sent, src 6.6.6.6, DST 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, DST 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, DST 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, DST 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, DST 201.201.201.2
同じ設定を使用した出力例については、「MPLS VPN 環境のパケット フロー」を参照してください。
現在、この設定に関する特定のトラブルシューティング情報はありません。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
19-Sep-2018 |
初版 |