内容

はじめに

前提条件

要件

使用するコンポーネント

関連製品

表記法

背景説明

コンフィギュレーション

ネットワーク図

設定手順

MPLSの設定

MP-BGPの設定

コンフィギュレーション

検証

関連情報

はじめに

このドキュメントでは、基本的なマルチプロトコルラベルスイッチング(MPLS)VPNコアネットワークを設定する方法について説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- P および PE ルータ

- MPLS VPN機能を含むCisco IOS®ソフトウェアリリース。

- P 機能は 7200 シリーズ以上の Cisco ルータでサポートされています。

- PE 機能は Cisco 2600 ルータ、さらに Cisco 3600 シリーズ以上のルータでサポートされています。

- C および CE ルータ

- PE ルータとルーティング情報を交換できる、すべてのルータを使用できます。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

関連製品

MPLS 機能を実装するには、Cisco 2600 か、それより上位のルータが必要です。必要なCisco IOS with MPLS機能を選択するには、Software Researchツールを使用します。MPLS 機能をルータで実行するために追加する必要のある RAM とフラッシュ メモリも確認してください。WIC-1T、WIC-2T、および シリアル インターフェイスが使用できます。

表記法

表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

次の文字は使用されるルータおよびスイッチのタイプを表します。

- P  —プロバイダー コア ルータ.

- PE  —プロバイダー エッジ ルータ.

- CE  — Customer エッジルータ。

- C  —説明します。 Customer

注:PEルータはプロバイダーネットワークの最後のホップであり、これらは次の図に示すように、MPLS機能を認識しないCEルータに直接接続するデバイスです。

次の図は、前述の表記法を示す一般的な設定を示しています。

MPLS VPNの一般的なネットワーク図

背景説明

このドキュメントでは、Border Gateway Protocol（BGP；ボーダーゲートウェイプロトコル）がシスコのクライアントサイトに存在する場合の、マルチプロトコルラベルスイッチング(MPLS)VPNの設定例を紹介します。

VPN 機能を MPLS と組み合せて使用すると、複数のサイトがサービス プロバイダー ネットワークを通じて透過的に相互接続できます。1つのサービスプロバイダーネットワークで複数の異なるIP VPNをサポートできます。各 VPN は、ユーザからは他のすべてのネットワークから切り離されたプライベート ネットワークのように見えます。1 つの VPN を通じて、各サイトは同じ VPN 内にある他のサイトに IP パケットを送信できます。

各VPNは、1つ以上のVirtual Routing and Forwarding(VRF)インスタンスに関連付けられています。VRF は、IP ルーティング テーブル、派生された Cisco Express Forwarding（CEF）テーブル、およびこの転送テーブルを使用するインターフェイスのセットから構成されます。 ルータは、VRFごとに個別のルーティング情報ベース(RIB)とCEFテーブルを保持します。したがって、この情報はVPNの外部には送信されず、同じサブネットを複数のVPNで使用することが許可され、IPアドレスの重複の問題は発生しません。 マルチプロトコルBGP(MP-BGP)を使用するルータは、MP-BGP拡張コミュニティとVPNルーティング情報を配信します。

コンフィギュレーション

このセクションでは、設定例とその実装方法について説明します。

ネットワーク図

このドキュメントでは、次のネットワーク セットアップを使用します。

トポロジ ダイアグラム

設定手順

MPLSの設定

1. MPLSが必要なルータで ip cef 、が有効になっていることを確認します。パフォーマンスを向上させるには、 ip cef distributed （可能な場合）を使用します。

2.サービスプロバイダーコアでIGPを設定し、Open Shortest Path First(OSPF)またはIntermediate System-to-Intermediate System(IS-IS)のいずれかのプロトコルを使用することを推奨します。また、各PルータとPEルータからLoopback0をアドバタイズします。

3.サービスプロバイダーのコアルータがループバック間で完全にL3到達可能になったら、PルータとPEルータ間の各L3インターフェイスでコマンドを設定します mpls ip 。

注:CEルータに直接接続するPEルータインターフェイスでは、コマンド設定は必要ありません mpls ip。

MPLSを設定した後、PEで次の手順を実行します(インターフェイス mpls ip  でのの設定)。

1. コマンドを使用して、接続された各VPNに対して1つのVRFを作成します vrf definition <VRF name> 。追加の手順：

そのVPNに使用されるルート識別子を指定します。このコマンド  rd <VPN route distinguisher> は、IPアドレスを拡張して、そのアドレスが属するVPNを識別できるようにするために使用します。

vrf definition Client_A

rd 100:110

MP-BGP 拡張コミュニティのインポートおよびエクスポート プロパティを設定します。これらは、次の出力に示すように、インポートおよびエクスポートプロセスをコマンドでフィルタ route-target {import|export|both} <target VPN extended community> 処理するために使用されます。

vrf definition Client_A

rd 100:110

route-target export 100:1000

route-target import 100:1000

!

address-family ipv4

exit-address-family

1. PEルータで、CEを対応するVRFに接続するインターフェイスを追加します。コマンドを使用して各インターフェイスの転送の詳細を設定し vrf forwarding 、IPアドレスを設定します。

Pescara#show run interface GigabitEthernet0/1 Building configuration... Current configuration : 138 bytes ! interface GigabitEthernet0/1 vrf forwarding Client_A ip address 10.0.4.2 255.255.255.0 duplex auto speed auto media-type rj45 end

MP-BGPの設定

BGPを設定する方法はいくつかあります。たとえば、PEルータをBGPネイバーとして設定したり、ルートリフレクタ(RR)またはコンフェデレーション方式を使用したりできます。次の例ではルートリフレクタ(RR)が使用されていますが、これはPEルータ間で直接ネイバーを使用するよりもスケーラブルです。

1. このPEルータに存在する各VPNに対して address-family ipv4 vrf <VRF name>、コマンドを入力します。次に、必要に応じて、次の手順を1つ以上実行します。

- BGPを使用してCEとルーティング情報を交換する場合は、CEルータとのBGPネイバーを設定してアクティブにします。

- 別のダイナミックルーティングプロトコルを使用してCEとルーティング情報を交換する場合は、ルーティングプロトコルを再配布します。

注：使用するPE-CEルーティングプロトコルに基づいて、PEデバイスとCEデバイスの間にダイナミックルーティングプロトコル（EIGRP、OSPF、またはBGP）を設定できます。BGPがPEとCE間のルーティング情報の交換に使用されるプロトコルである場合、プロトコル間の再配布を設定する必要はありません。

2.address-family vpnv4 モードに入り、次の手順を実行します。

- ネイバーをアクティブにし、各PEルータとルートリフレクタの間でVPNv4ネイバーセッションを確立する必要があります。

- 拡張コミュニティを使用する必要があることを指定します。これは必須です。

コンフィギュレーション

このドキュメントでは、次の設定を使用してMPLS VPNネットワークの例を設定します。

- ペスカーラ(PE)

- ペサロ語(PE)

- ポメロール(P)

- Pulligny(RR)

- パウラック(P)

ペスカーラ

hostname Pescara

!

ip cef

!

!--- VPN Client_A commands.

vrf definition Client_A

rd 100:110

route-target export 100:1000

route-target import 100:1000

!

address-family ipv4

exit-address-family

!--- Enables the VPN routing and forwarding (VRF) routing table.

!--- Route distinguisher creates routing and forwarding tables for a VRF.

!--- Route targets creates lists of import and export extended communities for the specified VRF.

!--- VPN Client_B commands.

vrf definition Client_B

rd 100:120

route-target export 100:2000

route-target import 100:2000

!

address-family ipv4

exit-address-family

!

interface Loopback0

ip address 10.10.10.4 255.255.255.255

ip router isis

!

interface GigabitEthernet0/1

vrf forwarding Client_A

ip address 10.0.4.2 255.255.255.0

duplex auto

speed auto

media-type rj45

!

interface GigabitEthernet0/2

vrf forwarding Client_B

ip address 10.0.4.2 255.255.255.0

duplex auto

speed auto

media-type rj45

!--- Associates a VRF instance with an interface or subinterface.

!--- GigabitEthernet0/1 and 0/2 use the same IP address, 10.0.4.2.

!--- This is allowed because they belong to two different customer VRFs.

!

interface GigabitEthernet0/0

description link to Pauillac

ip address 10.1.1.14 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!--- Enables MPLS on the L3 interface connecting to the P router

!

router isis

net 49.0001.0000.0000.0004.00

is-type level-2-only

metric-style wide

passive-interface Loopback0

!--- Enables IS-IS as the IGP in the provider core network

!

router bgp 65000

bgp log-neighbor-changes

neighbor 10.10.10.2 remote-as 65000

neighbor 10.10.10.2 update-source Loopback0

!--- Adds an entry to the BGP or MP-BGP neighbor table.

!--- And enables BGP sessions to use a specific operational interface for TCP connections.

!

address-family vpnv4

neighbor 10.10.10.2 activate

neighbor 10.10.10.2 send-community both

exit-address-family

!--- To enter address family configuration mode that use standard VPN version 4 address prefixes.

!--- Creates the VPNv4 neighbor session to the Route Reflector.

!--- And to send the community attribute to the BGP neighbor.

!

address-family ipv4 vrf Client_A

neighbor 10.0.4.1 remote-as 65002

neighbor 10.0.4.1 activate

exit-address-family

!

address-family ipv4 vrf Client_B

neighbor 10.0.4.1 remote-as 65001

neighbor 10.0.4.1 activate

exit-address-family

!--- These are the eBGP sessions to each CE router belonging to different customers.

!--- The eBGP sessions are configured within the VRF address family

!

end

ペーザロ

hostname Pesaro

!

ip cef

!

vrf definition Client_A

rd 100:110

route-target export 100:1000

route-target import 100:1000

!

address-family ipv4

exit-address-family

!

vrf definition Client_B

rd 100:120

route-target export 100:2000

route-target import 100:2000

!

address-family ipv4

exit-address-family

!

ip cef

!

interface Loopback0

ip address 10.10.10.6 255.255.255.255

ip router isis

!

interface GigabitEthernet0/0

description link to Pomerol

ip address 10.1.1.22 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/1

vrf forwarding Client_B

ip address 10.0.6.2 255.255.255.0

duplex auto

speed auto

media-type rj45

!

interface GigabitEthernet0/2

vrf forwarding Client_A

ip address 10.1.6.2 255.255.255.0

duplex auto

speed auto

media-type rj45

!

interface GigabitEthernet0/3

vrf forwarding Client_A

ip address 10.0.6.2 255.255.255.0

duplex auto

speed auto

media-type rj45

!

router isis

net 49.0001.0000.0000.0006.00

is-type level-2-only

metric-style wide

passive-interface Loopback0

!

router bgp 65000

bgp log-neighbor-changes

neighbor 10.10.10.2 remote-as 65000

neighbor 10.10.10.2 update-source Loopback0

!

address-family vpnv4

neighbor 10.10.10.2 activate

neighbor 10.10.10.2 send-community both

exit-address-family

!

address-family ipv4 vrf Client_A

neighbor 10.0.6.1 remote-as 65004

neighbor 10.0.6.1 activate

neighbor 10.1.6.1 remote-as 65004

neighbor 10.1.6.1 activate

exit-address-family

!

address-family ipv4 vrf Client_B

neighbor 10.0.6.1 remote-as 65003

neighbor 10.0.6.1 activate

exit-address-family

!

!

end

Pomerol

hostname Pomerol

!

ip cef

!

interface Loopback0

ip address 10.10.10.3 255.255.255.255

ip router isis

!

interface GigabitEthernet0/0

description link to Pesaro

ip address 10.1.1.21 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/1

description link to Pauillac

ip address 10.1.1.6 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/2

description link to Pulligny

ip address 10.1.1.9 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

router isis

net 49.0001.0000.0000.0003.00

is-type level-2-only

metric-style wide

passive-interface Loopback0

!

end

Pulligny

hostname Pulligny

!

ip cef

!

interface Loopback0

ip address 10.10.10.2 255.255.255.255

ip router isis

!

interface GigabitEthernet0/0

description link to Pauillac

ip address 10.1.1.2 255.255.255.252ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/1

description link to Pomerol

ip address 10.1.1.10 255.255.255.252ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/3

no ip address

shutdown

duplex auto

speed auto

media-type rj45

!

router isis

net 49.0001.0000.0000.0002.00

is-type level-2-only

metric-style wide

passive-interface Loopback0

!

router bgp 65000

bgp log-neighbor-changes

neighbor 10.10.10.4 remote-as 65000

neighbor 10.10.10.4 update-source Loopback0

neighbor 10.10.10.6 remote-as 65000

neighbor 10.10.10.6 update-source Loopback0

!

address-family vpnv4

neighbor 10.10.10.4 activate

neighbor 10.10.10.4 send-community both

neighbor 10.10.10.4 route-reflector-client

neighbor 10.10.10.6 activate

neighbor 10.10.10.6 send-community both

neighbor 10.10.10.6 route-reflector-client

exit-address-family

!

!

end

Pauillac

hostname pauillac

!

ip cef

!

interface Loopback0

ip address 10.10.10.1 255.255.255.255

ip router isis

!

interface GigabitEthernet0/0

description link to Pescara

ip address 10.1.1.13 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/1

description link to Pulligny

ip address 10.1.1.5 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

interface GigabitEthernet0/2

description link to Pomerol

ip address 10.1.1.1 255.255.255.252

ip router isis

duplex auto

speed auto

media-type rj45

mpls ip

!

router isis

net 49.0001.0000.0000.0001.00

is-type level-2-only

metric-style wide

passive-interface Loopback0

!

end

CE-A1

CE-A3

hostname CE-A1

!

ip cef

!

interface GigabitEthernet0/0

ip address 10.0.4.1 255.255.255.0

duplex auto

speed auto

media-type rj45

!

router bgp 65002

bgp log-neighbor-changes

redistribute connected

neighbor 10.0.4.2 remote-as 65000

!

end

hostname CE-A3

!

ip cef

!

interface GigabitEthernet0/0

ip address 10.0.6.1 255.255.255.0

duplex auto

speed auto

media-type rj45

!

router bgp 65004

bgp log-neighbor-changes

redistribute connected

neighbor 10.0.6.2 remote-as 65000

!

end

検証

このセクションでは、設定が正しく動作していることを確認するために使用できる情報を提供しています。

PEからCEへの検証コマンド

- show ip vrf：正しい VRF が存在することを確認する。

- show ip vrf interfaces：アクティベートされているインターフェイスを確認する。

- show ip route vrf <VRF name>:PEルータでのルーティング情報を確認する。

- traceroute vrf <VRF名> <IPアドレス>:PEルータでのルーティング情報を確認する。

- show ip cef vrf <VRF名> <IPアドレス> detail:PEルータでのルーティング情報を確認する。

MPLS LDP検証コマンド

- mplsインターフェイスの表示

- MPLS転送テーブルの表示

- mpls ldpバインディングの表示

- show mpls ldp neighbor（隠しコマンド）

PEからPE/RRへの検証コマンド

- show bgp vpnv4 unicast allの要約

- show bgp vpnv4 unicast all neighbor <ネイバーIPアドレス> advertised-routes：送信されたVPNv4プレフィックスを確認します

- show bgp vpnv4 unicast all neighbor <neighbor IP address> routes：受信したVPNv4プレフィクスを確認する

次に、show ip vrfコマンドの出力例を示します。

Pescara#show ip vrf

Name                             Default RD            Interfaces

Client_A                         100:110               Gi0/1

Client_B                         100:120               Gi0/2

次に、show ip vrf interfacesコマンドの出力例を示します。

Pesaro#show ip vrf interfaces

Interface              IP-Address      VRF                              Protocol

Gi0/2                  10.1.6.2        Client_A                         up

Gi0/3                  10.0.6.2        Client_A                         up

Gi0/1                  10.0.6.2        Client_B                         up

次の例では、show ip route vrfコマンドの両方の出力に同じプレフィクス10.0.6.0/24が表示されています。これは、リモートPEが2つのCiscoクライアント（CE_B2とCE_A3）に対して同じネットワークを持つためです。これは一般的なMPLS VPNソリューションで許可されています。

Pescara#show ip route vrf Client_A

Routing Table: Client_A

Codes: L - local, C - connected, S - static, 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

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks

C        10.0.4.0/24 is directly connected, GigabitEthernet0/1

L        10.0.4.2/32 is directly connected, GigabitEthernet0/1

B        10.0.6.0/24 [200/0] via 10.10.10.6, 11:11:11

B        10.1.6.0/24 [200/0] via 10.10.10.6, 11:24:16

Pescara#

Pescara#show ip route vrf Client_B

Routing Table: Client_B

Codes: L - local, C - connected, S - static, 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

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks

C        10.0.4.0/24 is directly connected, GigabitEthernet0/2

L        10.0.4.2/32 is directly connected, GigabitEthernet0/2

B        10.0.6.0/24 [200/0] via 10.10.10.6, 11:26:05

この例では、Client_Aの2つのサイト（CE-A1からCE-A3）の2つのサイト間でtracerouteを実行すると、MPLSネットワークで使用されるラベルスタックを確認できます（mpls ip propagate-ttlで設定されている場合）。

CE-A1#show ip route 10.0.6.1

Routing entry for 10.0.6.0/24

Known via "bgp 65002", distance 20, metric 0

Tag 65000, type external

Last update from 10.0.4.2 11:16:14 ago

Routing Descriptor Blocks:

* 10.0.4.2, from 10.0.4.2, 11:16:14 ago

Route metric is 0, traffic share count is 1

AS Hops 2

Route tag 65000

MPLS label: none

CE-A1#

CE-A1#ping 10.0.6.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.6.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 7/8/9 ms

CE-A1#

CE-A1#traceroute 10.0.6.1 probe 1 numeric

Type escape sequence to abort.

Tracing the route to 10.0.6.1

VRF info: (vrf in name/id, vrf out name/id)

1 10.0.4.2 2 msec

2 10.1.1.13 [MPLS: Labels 20/26 Exp 0] 8 msec

3 10.1.1.6 [MPLS: Labels 21/26 Exp 0] 17 msec

4 10.0.6.2 [AS 65004] 11 msec

5 10.0.6.1 [AS 65004] 8 msec

注: Exp 0 はQuality of Service(QoS)に使用される実験的なフィールドです。

次の出力は、RRとサービスプロバイダーのコアネットワーク内の一部のPルータとの間で確立されたIS-ISおよびLDP隣接関係を示しています。

Pulligny#show isis neighbors

Tag null:

System Id       Type Interface     IP Address      State Holdtime Circuit Id

Pauillac        L2   Gi0/0         10.1.1.1        UP    25       Pulligny.01

Pomerol         L2   Gi0/1         10.1.1.9        UP    23       Pulligny.02

Pulligny#

Pulligny#show mpls ldp neighbor

Peer LDP Ident: 10.10.10.1:0; Local LDP Ident 10.10.10.2:0

TCP connection: 10.10.10.1.646 - 10.10.10.2.46298

State: Oper; Msgs sent/rcvd: 924/921; Downstream

Up time: 13:16:03

LDP discovery sources:

GigabitEthernet0/0, Src IP addr: 10.1.1.1

Addresses bound to peer LDP Ident:

10.1.1.13       10.1.1.5        10.1.1.1        10.10.10.1

Peer LDP Ident: 10.10.10.3:0; Local LDP Ident 10.10.10.2:0

TCP connection: 10.10.10.3.14116 - 10.10.10.2.646

State: Oper; Msgs sent/rcvd: 920/916; Downstream

Up time: 13:13:09

LDP discovery sources:

GigabitEthernet0/1, Src IP addr: 10.1.1.9

Addresses bound to peer LDP Ident:

10.1.1.6        10.1.1.9        10.10.10.3      10.1.1.21

関連情報

- MPLSコマンドリファレンス

- テクニカル サポートとドキュメント - Cisco Systems

- MPLSレイヤ3 VPN転送の確認