マルチプロトコル ラベル スイッチング(MPLS) : MPLS

ASBR間でのVPNv4 eBGPセッションを使用した Inter-AS MPLS VPNの設定

2016 年 10 月 28 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2003 年 12 月 1 日) | 英語版 (2015 年 12 月 19 日) | フィードバック


目次


概要

この資料では、Autonomous System(AS;自律システム)間Multiprotocol Label Switching(MPLS)Virtual Private Network(VPN)の基本的な設定例を示します。

前提条件

要件

読者にはMPLSおよびMPLS VPNに関する基礎知識があることを前提としています。 他の MPLS VPN 文書へのリンクについてはこの資料の「関連情報」セクションを参照して下さい。

使用するコンポーネント

この設定は、次のバージョンのソフトウェアおよびハードウェアを使用して作成と動作確認が行われました。

  • Cisco IOS(R) ソフトウェア リリース 12.2 および 12.2T

注:この設定では各種のコードを使用するので、Label Distribution Protocol(LDP)ではなく、Tag Distribution Protocol(TDP)を使用しています。 純粋にLDPだけを使用する設定では、Tag Forwarding Information Base(TFIB)の代わりにLabel Forwarding Information Base(LFIB)を使用し、show tag forwardingコマンドの代わりにshow mpls forwardingコマンドを使用するなどの違いがあります。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

設定

この項では、このドキュメントで説明する機能の設定に必要な情報を提供します。

このドキュメントで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

ネットワーク図

このドキュメントでは次の図に示すネットワーク構成を使用しています。

http://www.cisco.com/c/dam/en/us/support/docs/multiprotocol-label-switching-mpls/mpls/5811-interasvpn-01.gif

設定

この資料はルータのために上記のネットワークダイアグラムで下記に示されているコンフィギュレーションを使用します。

Pulligny
version 12.2
!
hostname Pulligny
!
ip cef

!--- Cisco Express Forwarding (CEF) must be enabled for MPLS.

!
interface Loopback0
 ip address 10.10.10.2 255.255.255.255
 ip router isis
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0.1 point-to-point
 description to Paulliac
 ip address 10.1.1.2 255.255.255.252
 ip router isis
 tag-switching ip

!--- TDP or LDP needs to be enabled inside each AS.

 frame-relay interface-dlci 913
!
interface Serial0/0.2 point-to-point
 description to Pomerol
 ip address 10.1.1.10 255.255.255.252
 frame-relay interface-dlci 912

!--- No TDP, LDP, or routing protocols enabled on the inter-AS link.

!
router isis
 redistribute connected metric 20

!--- To get the host route created by the Border Gateway Protocol (BGP)
!--- into the Interior Gateway Protocol (IGP).

 net 47.0000.5555.5555.5555.00
 metric-style wide
!
router bgp 1
 no bgp default ipv4-unicast

!--- BGP is not used for IPv4 unicast.

 no bgp default route-target filter

!--- Needed to accept VPNv4 prefixes.

neighbor 10.1.1.9 remote-as 2

!--- External BGP (eBGP) to Pomerol.

 neighbor 10.10.10.4 remote-as 1
 neighbor 10.10.10.4 update-source Loopback0

!--- Internal BGP (iBGP) to PEscara.

 !
 address-family vpnv4
 neighbor 10.1.1.9 activate
 neighbor 10.1.1.9 send-community both
 neighbor 10.10.10.4 activate
 neighbor 10.10.10.4 send-community extended
 exit-address-family

!--- Address family to allow BGP to carry VPN-IPv4 protocols.

!
ip classless
!
end

ペスカーラ
hostname PEscara
!
ip vrf one
 rd 1:1
 route-target export 1:1
 route-target import 1:1

!--- Create a virtual routing and forwarding (VRF) instance called one 
!--- with a route distinguished value of 1:1. Routes with route target
!--- values of 1:1 will be imported into the VRF and exported out
!--- of the VRF.

ip cef

!--- CEF must be enabled for MPLS.

!
interface Loopback0
 ip address 10.10.10.4 255.255.255.255
 ip router isis
!
interface Serial0/1
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type cisco
!
interface Serial0/1.1 point-to-point
 description to Pauillac
 ip address 10.1.1.14 255.255.255.252
 ip router isis
 tag-switching ip
 frame-relay interface-dlci 973
!
interface Serial0/1.2 point-to-point
 description to CEntrum
 ip vrf forwarding one

!--- Associates the interface with VRF one.

 ip address 120.0.0.1 255.255.255.0
 frame-relay interface-dlci 979
!
router isis
 net 47.0000.7777.7777.7777.00
 metric-style wide
!
router bgp 1
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.10.10.2 remote-as 1
 neighbor 10.10.10.2 update-source Loopback0

!--- iBGP to Pulligny.

 !
 address-family ipv4 vrf one
 redistribute connected
 no auto-summary
 no synchronization
 exit-address-family

!--- Address family to allow BGP to carry IPv4 protocols for VRF one
!--- (each VRF that injects routes into BGP must be configured under
!--- the BGP process using its own address family).

 !
 address-family vpnv4
 neighbor 10.10.10.2 activate
 neighbor 10.10.10.2 send-community both
 exit-address-family

!--- Address family to allow BGP to carry VPN-IPv4 protocols.

!
ip classless
!
end

Pauillac

!--- The Pauillac router is a Provider router (p) and its configuration
!--- is quite simple. It is configured for Intermediate System-to-
!--- Intermediate System (IS-IS) and MPLS/Tag switching.

!
hostname Pauillac
!
ip cef
!
interface Loopback0
 ip address 10.10.10.1 255.255.255.255
 ip router isis
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0.1 point-to-point
 description to Pulligny
 ip address 10.1.1.1 255.255.255.252
 ip router isis
 tag-switching ip
 frame-relay interface-dlci 931
!
interface Serial0/0.3 point-to-point
 description to PEscara
 ip address 10.1.1.13 255.255.255.252
 ip router isis
 tag-switching ip
 frame-relay interface-dlci 937
!
router isis
 net 47.0000.3333.3333.3333.00
 metric-style wide
!
ip classless
!
end

Pomerol

!--- The Pomerol router is an autonomous system boundary router (ASBR)
!--- like Pulligny and its configuration is very similar to Pomerol's. 

hostname Pomerol
!
ip cef
!
interface Loopback0
 ip address 10.10.10.3 255.255.255.255
 ip router isis
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0.1 point-to-point
 description to Pulligny
 ip address 10.1.1.9 255.255.255.252
 frame-relay interface-dlci 921
!
interface Serial0/0.3 point-to-point
 description to PEsaro
 ip address 10.1.1.21 255.255.255.252
 ip router isis
 tag-switching ip
 frame-relay interface-dlci 925
!
router isis
 redistribute connected metric 20
 net 47.0000.2222.2222.2222.00
 metric-style wide
!
router bgp 2
 no bgp default ipv4-unicast
 no bgp default route-target filter
 bgp log-neighbor-changes
 neighbor 10.1.1.10 remote-as 1
 neighbor 10.10.10.6 remote-as 2
 neighbor 10.10.10.6 update-source Loopback0
 !
 address-family vpnv4
 neighbor 10.1.1.10 activate
 neighbor 10.1.1.10 send-community both
 neighbor 10.10.10.6 activate
 neighbor 10.10.10.6 send-community extended
 exit-address-family
!
ip classless
!
end

ペーザロ

!--- The PEsaro router is a PE router like the PEscara router, and its 
!--- configuration is very similar.

hostname PEsaro
!
ip vrf one
 rd 1:1
 route-target export 1:1
 route-target import 1:1
ip cef
!
interface Loopback0
 ip address 10.10.10.6 255.255.255.255
 ip router isis
!
interface Serial0/1
 no ip address
 encapsulation frame-relay
!
interface Serial0/1.1 point-to-point
 description to Pomerol
 ip address 10.1.1.22 255.255.255.252
 ip router isis
 tag-switching ip
 frame-relay interface-dlci 952
!
interface Serial0/1.2 point-to-point
 description to CErvela
 ip vrf forwarding one
 ip address 220.0.0.1 255.255.255.0
 frame-relay interface-dlci 958
!
router isis
 net 47.0000.5555.5555.5555.00
 metric-style wide
!
router bgp 2
 no synchronization
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 redistribute connected
 neighbor 10.10.10.3 remote-as 2
 neighbor 10.10.10.3 update-source Loopback0
 no auto-summary
 !
 address-family ipv4 vrf one
 redistribute connected
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family vpnv4
 neighbor 10.10.10.3 activate
 neighbor 10.10.10.3 send-community both
 no auto-summary
 exit-address-family
!
ip classless
!
end

設定に関する注記

  • AS間のeBGPは、マルチホップにすることはできません。

  • 2つのAS間にLDP/TDPは不要です。

  • 2つのAS間に共通のInterior Gateway Protocol(IGP)は不要です。 ASはそれぞれ独自のIGPを個別に使用できます。

  • 各ASのIGPに投入する必要があるセッションがアップになると、BGPはリモートASのeBGPピア用の接続ホスト ルートを作成します。

  • ASBRが、 交換すべきVRFすべてに対するPEである場合を除き、そのASBRがAS内部の他のPEルータからのBGP VPNv4プレフィクスを確実に受け入れるよう、no bgp default route-target filterコマンドを設定する必要があります。 デフォルトの動作では、着信VPNv4プレフィクスは拒否され、ローカルVRFにインポートされません。

Inter-AS MPLS VPN の検証と説明

ここでは、設定が正しく動作しているかどうかを確認する方法を説明します。

特定の show コマンドは、Output Interpreter Tool登録ユーザ専用)によってサポートされています。このツールを使用すると、show コマンド出力の分析を表示できます。

下記に使用されるコマンドに関する詳細については MPLS VPN を解決する方法を参照して下さい。

次の例はペスカーラの接続された VRF 1 プレフィクスは示します—であるかどれ—ペーザロの接続された VRF 1 プレフィクスはどれであるか 220.0.0.0/24 からのパケットフローを— 120.0.0.0/24 かへの…。

PEsaro ルータ

PEsaroルータ上のVFR oneのルートは、次のとおりです。

PEsaro# show ip route vrf one
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 - IS-IS, 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

Gateway of last resort is not set

C    220.0.0.0/24 is directly connected, Serial0/1.2
     120.0.0.0/24 is subnetted, 1 subnets
B       120.0.0.0 [200/0] via 10.1.1.10, 00:26:49

PEsaro# show ip cef vrf one 120.0.0.1
120.0.0.0/24, version 10, cached adjacency to Serial0/1.1
0 packets, 0 bytes
  tag information set
    local tag: VPN-route-head
    fast tag rewrite with Se0/1.1, point2point, tags imposed: {17 22}
  via 10.1.1.10, 0 dependencies, recursive
    next hop 10.1.1.21, Serial0/1.1 via 10.1.1.10/32
    valid cached adjacency
    tag rewrite with Se0/1.1, point2point, tags imposed: {17 22}

上記の出力から、120.0.0.0/24のネクスト ホップは10.1.1.10であることがわかります。 また課されるタグが 17 および 22 であることがわかります。 TFIB および BGP情報(下記)はこれらのタグのソースを示します: 120.0.0.0/24のBGPルートは22という発信タグを持ち、120.0.0.0/24に対応するネクスト ホップは17という発信タグを持っています。

PEsaro# show ip bgp vpnv4 vrf one tags
   Network          Next Hop      In tag/Out tag
Route Distinguisher: 1:1 (one)
   120.0.0.0/24     10.1.1.10       notag/22

!--- VPN label.

   220.0.0.0        0.0.0.0         18/aggregate(one)

PEsaro# show tag forwarding 10.1.1.10
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
17     17          10.1.1.10/32      0          Se0/1.1    point2point

PEsaro# show ip route 10.1.1.10
Routing entry for 10.1.1.10/32
  Known via "isis", distance 115, metric 30, type level-2
  Redistributing via isis
  Last update from 10.1.1.21 on Serial0/1.1, 00:30:39 ago
  Routing Descriptor Blocks:
  * 10.1.1.21, from 10.10.10.3, via Serial0/1.1
      Route metric is 30, traffic share count is 1

10.1.1.10は、Pomerolによってアドバタイズされます。 これはBGPによって作成されたホスト ルートです。上記の出力からわかるように、これはリモートVPNv4プレフィクスのBGPネクスト ホップであるため重要です。 ペーザロはポムロールに 2 つのラベルとのパケットを送信 します; the “inner” or “IGP” label is 17.

Pomerol ルータ

Pomerol# show tag forwarding
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
16     Pop tag     10.10.10.6/32     0          Se0/0.3    point2point
17     Pop tag     10.1.1.10/32      540        Se0/0.1    point2point
18     18          1:1:220.0.0.0/24  1704       Se0/0.3    point2point

Pomerol# show ip route 10.1.1.10
Routing entry for 10.1.1.10/32
  Known via "connected", distance 0, metric 0 (connected, via interface)
  Redistributing via isis
  Advertised by isis metric 20 metric-type internal level-2
  Routing Descriptor Blocks:
  * directly connected, via Serial0/0.1
      Route metric is 0, traffic share count is 1

eBGPがアップになると、すぐに10.1.1.10の/32ルートが作成されます。

上記の出力では、17 である場合ポムロールが上ラベルを「ぽんと鳴らす」ことがわかります; つまり、AS1のPullignyに送信されるパケットに残されるのは、eBGP VPNラベルだけです。

Pulligny ルータ

Pulligny# show tag forwarding
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
16     Pop tag     10.1.1.9/32       540        Se0/0.2    point2point
17     Pop tag     10.1.1.12/30      0          Se0/0.1    point2point
18     Pop tag     10.10.10.1/32     0          Se0/0.1    point2point
19     16          10.10.10.4/32     0          Se0/0.1    point2point
21     Pop tag     10.1.1.4/30       0          Se0/0.1    point2point
22     16          1:1:120.0.0.0/24  1080       Se0/0.1    point2point

上記の出力は Pulligny に 120.0.0.0/24 のためのローカルおよび発信タグがあることを示したものです; TFIBエントリを詳しく検証してみましょう。

Pulligny# show tag forwarding detail | begin 22
22     16          1:1:120.0.0.0/24  1080       Se0/0.1    point2point
        MAC/Encaps=4/12, MTU=1496, Tag Stack{16 23}
        E4118847 0001000000017000
        No output feature configured

上記の出力からわかるのは、PullignyのTFIBにはVPNv4エントリがあるということです。このエントリが必要な理由は、AS間リンク上ではラベルが1つしか存在しないからです。 ポムロールがラベルスタックからのラベル 17 をぽんと鳴らしたので、Pulligny はラベル 22 のパケットを受信します。 それはラベル 22 をぽんと鳴らし、ラベル 23 およびラベル 16 をプッシュします。 TFIB および BGP情報を(下記に示されている)検知 することによって 16 がペスカーラに着くべき IGP ラベルであり 23 がペスカーラが 1:1:120.0.0.0/24 のためにアドバタイズする VPN ラベルであることがわかります。

Pulligny# show ip bgp vpnv4 all tagging
   Network          Next Hop      In tag/Out tag
Route Distinguisher: 1:1
   120.0.0.0/24     10.10.10.4      22/23
   220.0.0.0        10.1.1.9        notag/18

Pulligny# show tagging for 10.10.10.4
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
19     16          10.10.10.4/32     0          Se0/0.1    point2point

Pullignyは、PEscaraから受け取ったVPNラベルを変更し、Pomerolには別のラベルをアドバタイズする点に注意してください。 その過程でPullignyは、自身のTFIBに1:1:120.0.0.0/24のエントリを追加します。 この動作はネクスト・ホップが変更される時はいつでもラベルが変更するのでデフォルトです(両方の AS 間の eBGP セッションでのような); 従って、ASBR にローカル AS の中の各 VPN プレフィクスのための TFIBエントリがあります。 次の出力からわかるように、PEはネクスト ホップ(Penultimate Hop Popping [PHP])なので、Pauillacは単純なラベル スワップ/ポップを行います。

Pauillac# show tag forwarding
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
16     Pop tag     10.10.10.4/32     111049     Se0/0.3    point2point
17     Pop tag     10.10.10.2/32     94769      Se0/0.1    point2point
18     Pop tag     10.1.1.8/30       0          Se0/0.1    point2point
19     16          10.1.1.9/32       560        Se0/0.1    point2point

次の出力からわかるように、PEscaraがラベル23を受け取ると、PEscaraはそれがVRF oneの一部分であることを認識し、IPルックアップを実行して正しいインターフェイスに転送します。

PEscara# show tag forwarding
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
16     Pop tag     10.1.1.0/30       0          Se0/1.1    point2point
17     Pop tag     10.1.1.4/30       0          Se0/1.1    point2point
18     Pop tag     10.10.10.1/32     0          Se0/1.1    point2point
19     17          10.10.10.2/32     0          Se0/1.1    point2point
21     18          10.1.1.8/30       0          Se0/1.1    point2point
22     19          10.1.1.9/32       0          Se0/1.1    point2point
23     Aggregate   120.0.0.0/24[V]   1040

PEscara# show tag forwarding detail | begin 23
23     Aggregate   120.0.0.0/24[V]   1040
        MAC/Encaps=0/0, MTU=0, Tag Stack{}
        VPN route: one
        Feature Quick flag set

以下に、これまでに説明したパケット フローで送信された1つのパケットの例を示します。

Pomerol#
*Mar  1 19:49:59.103: TAG: Se0/0.3: recvd: CoS=0, TTL=255, Tag(s)=17/22
*Mar  1 19:49:59.103: TAG: Se0/0.1: xmit: CoS=0, TTL=254, Tag(s)=22

Pulligny#
*Mar  1 20:21:35: TAG: Se0/0.2: recvd: CoS=0, TTL=254, Tag(s)=22
*Mar  1 20:21:35: TAG: Se0/0.1: xmit: CoS=0, TTL=253, Tag(s)=16/23

Pauillac#
*Mar  1 19:56:39.627: TAG: Se0/0.1: recvd: CoS=0, TTL=253, Tag(s)=16/23
*Mar  1 19:56:39.627: TAG: Se0/0.3: xmit: CoS=0, TTL=252, Tag(s)=23

PEscara#
*Mar  1 19:57:00.463: TAG: Se0/1.1: recvd: CoS=0, TTL=252, Tag(s)=23

ASBR での next-hop-self コマンド

ASBR上のiBGPピアにに関してnext-hop-selfコマンドを設定すると、ASBRはiBGPピアに対して異なるラベルをアドバタイズし(ネクスト ホップが変化すると新しいラベルがアドバタイズされるので)、自身のTFIBにリモートAS VPNv4ルートのエントリを追加します。 その結果、ASBRに追加のステートが作られます。 BGPで作成されたホスト ルートをIGPに再配布する必要はありません。 次の出力からわかるように、この時点でASBRには、ローカルおよびリモートVPNプレフィクスの両方のエントリがあります。

Pomerol# show tag forwarding
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
16     Pop tag     10.10.10.6/32     0          Se0/0.3    point2point
17     Pop tag     10.1.1.10/32      540        Se0/0.1    point2point
18     18          1:1:220.0.0.0/24  0          Se0/0.3    point2point
19     22          1:1:120.0.0.0/24  0          Se0/0.1    point2point

トラブルシューティング

現在のところ、この設定に関する特定のトラブルシューティング情報はありません。


関連情報


Document ID: 5811