MPLS VPN ルート ターゲット書き換えの設定

MPLS VPN ルート ターゲット書き換えの前提条件

  • マルチプロトコル ラベル スイッチング(MPLS)バーチャル プライベート ネットワーク(VPN)の設定方法を知っている必要があります。

  • 自律システム(AS)向けに RT 置換ポリシーおよびターゲット デバイスを識別する必要があります。

MPLS VPN ルート ターゲット書き換えの制約事項

ルート ターゲットの書き換えは、単一 AS トポロジにのみ実装できます。

ip unnumbered コマンドは MPLS 設定ではサポートされていません。

MPLS VPN ルート ターゲット書き換えに関する情報

この項では、MPLS VPN ルートターゲット書き換えについて説明します。

ルート ターゲット置換ポリシー

ピアのルーティング ポリシーには、インバウンドまたはアウトバウンドのルーティング テーブル アップデートに影響する可能性のある設定がすべて含まれています。インバウンドおよびアウトバウンドの Border Gateway Protocol(BGP)アップデートに対してルート ターゲットの置換を有効にすると、MPLS VPN ルート ターゲット書き換え機能がルーティング テーブル アップデートに影響する可能性があります。BGP バーチャル プライベート ネットワーク IP バージョン 4(VPNv4)のアップデートでは、ルート ターゲットが拡張コミュニティ属性として送信されます。ルート ターゲット拡張コミュニティ属性を使用して、一連のサイト、および設定されたルート ターゲットを使用するルートを受信できる VPN ルーティングおよび転送(VRF)インスタンスが識別されます。

MPLS VPN ルート ターゲットの書き換え機能は、プロバイダー エッジ(PE)デバイスで設定できます。

次の図に、マルチプロトコル ラベル スイッチング(MPLS)VPN の単一自律システム トポロジ内の PE デバイスでルート ターゲットを置換する例を示します。この例には、次の設定が含まれています。

  • PE1 は、VRF カスタマー A の RT 65000:1 をインポートおよびエクスポートして、RT 65000:1 のすべてのインバウンド VPNv4 プレフィックスを RT 65000:2 に書き換えるように設定されています。

  • PE2 は、VRF カスタマー B の RT 65000:2 をインポートおよびエクスポートして、RT 65000:2 のすべてのインバウンド VPNv4 プレフィックスを RT 65000:1 に書き換えるように設定されています。

図 1. 単一の MPLS VPN 自律システム トポロジのプロバイダー エッジ(PE)デバイスでのルート ターゲットの置換

ルート マップおよびルート ターゲットの置換

MPLS VPN ルート ターゲット書き換え機能によって Border Gateway Protocol(BGP)インバウンド/アウトバウンド ルート マップ機能が拡張され、ルート ターゲットの置換がイネーブルになります。ルートマップ コンフィギュレーション モードで入力した set extcomm-list delete コマンドを使用すると、拡張コミュニティリストに基づいてルートターゲット拡張コミュニティ属性を削除できます。

MPLS VPN ルート ターゲット書き換えの設定方法

次の項では、MPLS VPN ルートターゲット書き換えの設定手順について説明します。

ルート ターゲット置換ポリシーの設定

インターネットワークにルート ターゲット(RT)置換ポリシーを設定するには、次の作業を実行します。

RT x を RT y に書き換えるようにプロバイダー エッジ(PE)を設定したとき、その PE に RT x をインポートする仮想ルーティングおよび転送(VRF)インスタンスが設定されている場合は、RT x に加えて RT y をインポートする VRF も設定する必要があります。

手順

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

ip extcommunity-list {standard-list-number | expanded-list-number} {permit | deny} [regular-expression] [rt | soo extended-community-value]

例:


Device(config)# ip extcommunity-list 1 permit rt 65000:2

拡張コミュニティ アクセス リストを作成し、リストへのアクセスを制御します。

  • standard-list-number 引数は 1 ~ 99 の整数で、拡張コミュニティの 1 つまたは複数の許可グループまたは拒否グループを指定します。

  • expanded-list-number 引数は 100 ~ 500 の整数で、拡張コミュニティの 1 つまたは複数の許可グループまたは拒否グループを指定します。拡張リストには正規表現を設定できますが、標準リストには設定できません。

  • permit キーワードを指定すると、条件が一致した場合にアクセスが許可されます。

  • deny キーワードを指定すると、条件が一致した場合にアクセスが拒否されます。

  • regular-expression 引数には、マッチングを行う入力ストリング パターンを指定します。拡張された拡張コミュニティ リストを使用してルート ターゲットのマッチングを行う場合は、正規表現にパターン RT: を追加します。

  • rt キーワードには、ルートターゲット拡張コミュニティ属性を指定します。rt キーワードは標準拡張コミュニティリストにのみ設定できます。拡張された拡張コミュニティリストには設定できません。

  • soo キーワードには、Site of Origin(SOO)拡張コミュニティ属性を指定します。soo キーワードは標準拡張コミュニティリストだけに設定できます。拡張された拡張コミュニティリストには設定できません。

  • extended-community-value 引数には、ルート ターゲットまたは Site of Origin を指定します。この値には次の組み合わせのいずれかを指定できます。

    • autonomous-system-number:network-number

    • ip-address:network-number

自律システム番号とネットワーク番号、または IP アドレスとネットワーク番号の区切りにはコロンを使用します。

ステップ 4

route-map map-name [permit | deny] [sequence-number]

例:


Device(config)# route-map rtrewrite permit 10

ルーティング プロトコル間でルートを再配布する条件を定義するか、ポリシー ルーティングをイネーブルにしてルート マップ コンフィギュレーション モードを開始します。

  • map-name 引数では、ルート マップに意味のある名前を定義します。redistribute ルータ コンフィギュレーション コマンドはこの名前を使用して、このルートマップを参照します。複数のルート マップで同じマップ名を共有できます。

  • このルートマップの一致基準が満たされた場合、permit キーワードが指定されていると、設定アクションに従ってルートが再配布されます。ポリシー ルーティングの場合、パケットはポリシーに従ってルーティングされます。

一致基準が満たされなかった場合、permit キーワードが指定されていると、同じマップタグを持つ次のルートマップがテストされます。あるルートが、同じ名前を共有するルート マップ セットの一致基準のいずれをも満たさない場合、そのセットによる再配布は行われません。

デフォルトは permit キーワードです。

  • ルートマップの一致基準が満たされた場合でも、deny キーワードが指定されているとルートは再配布されません。ポリシー ルーティングの場合、パケットはポリシーに従ってルーティングされません。また、同じマップ タグ名を共有するルート マップは、これ以上検証されません。パケットがポリシー ルーティングの対象にならない場合、通常の転送アルゴリズムが使用されます。

  • sequence-number 引数は、同じ名前で設定済みのルートマップのリストにおける新しいルートマップの位置を示す番号です。 このコマンドの no 形式を指定すると、ルートマップの位置が削除されます。

ステップ 5

match extcommunity {standard-list-number | expanded-list-number}

例:


Device(config-route-map)# match extcommunity 1

例:


Device(config-route-map)# match extcommunity 101

Border Gateway Protocol(BGP)拡張コミュニティ リスト属性とマッチングします。

  • standard-list-number 引数は 1 ~ 99 の番号で、拡張コミュニティ属性の 1 つまたは複数の許可グループまたは拒否グループを指定します。

  • expanded-list-number 引数は 100 ~ 500 の番号で、拡張コミュニティ属性の 1 つまたは複数の許可グループまたは拒否グループを指定します。

ステップ 6

set extcomm-list extended-community-list-number delete

例:


Device(config-route-map)# set extcomm-list 1 delete

インバウンドまたはアウトバウンド BGP バーチャル プライベート ネットワーク バージョン 4(VPNv4)アップデートの拡張コミュニティ属性からルート ターゲットを削除します。

  • extended-community-list-number 引数には、拡張コミュニティ リスト番号を指定します。

ステップ 7

set extcommunity { rt extended-community-value [additive] | soo extended-community-value}

例:


Device(config-route-map)# set extcommunity rt 65000:1 additive

BGP 拡張コミュニティ属性を設定します。

  • rt キーワードには、ルートターゲット拡張コミュニティ属性を指定します。

  • soo キーワードには、Site of Origin 拡張コミュニティ属性を指定します。

  • extended-community-value 引数には、設定値を指定します。この値には次の組み合わせのいずれかを指定できます。

    • autonomous-system-number:network-number

    • ip-address:network-number

自律システム番号とネットワーク番号、または IP アドレスとネットワーク番号の区切りにはコロンを使用します。

  • additive キーワードを指定すると、既存のルートターゲットを置換することなく、既存のルートターゲットリストにルートターゲットが追加されます。

ステップ 8

end

例:


Device(config-route-map)# end

(任意)特権 EXEC モードに戻ります。

ステップ 9

show route-map map-name

例:


Device# show route-map extmap

(任意)マッチングと設定されたエントリが正しいことを確認します。

  • map-name 引数には、特定のルート マップの名前を指定します。

ルート ターゲット置換ポリシーの適用

ネットワークにルート ターゲット置換ポリシーを適用するには、次の作業を実行します。

特定の BGP ネイバーへのルート マップの割り当て

手順
  コマンドまたはアクション 目的

ステップ 1

enable

例:

Device> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:

Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

router bgp as-number

例:

Device(config)# router bgp 100

Border Gateway Protocol(BGP)ルーティング プロセスを設定し、デバイスでルータ コンフィギュレーション モードを開始します。

  • as-number 引数は、デバイスを他の BGP デバイスに対して識別し、転送するルーティング情報にタグを設定する自律システムの番号を示します。

指定できる範囲は 0 ~ 65535 です。内部ネットワークで使用できるプライベート自律システム番号の範囲は、64512 ~ 65535 です。

ステップ 4

neighbor {ip-address | peer-group-name} remote-as as-number

例:

Device(config-router)# neighbor 172.10.0.2 remote-as 200

BGP ネイバー テーブルまたはマルチプロトコル BGP ネイバー テーブルにエントリを追加します。

  • ip-address 引数には、ネイバーの IP アドレスを指定します。

  • peer-group-name 引数には、BGP ピア グループの名前を指定します。

  • as-number 引数には、ネイバーが属している自律システムを指定します。

ステップ 5

address-family vpnv4 [unicast]

例:

Device(config-router)# address-family vpnv4

アドレス ファミリ コンフィギュレーション モードを開始して、標準バーチャル プライベート ネットワーク バージョン 4(VPNv4)アドレス プレフィックスを使用する、BGP などのルーティング セッションを設定します。

  • unicast キーワード(任意)は、VPNv4 ユニキャスト アドレス プレフィックスを指定します。

ステップ 6

neighbor {ip-address | peer-group-name} activate

例:

Device(config-router-af)# neighbor 172.16.0.2 activate

ネイバー BGP デバイスとの情報交換を有効にします。

  • ip-address 引数には、ネイバーの IP アドレスを指定します。

  • peer-group-name 引数には、BGP ピア グループの名前を指定します。

ステップ 7

neighbor {ip-address | peer-group-name} send-community [both | extended | standard]

例:

Device(config-router-af)# neighbor 172.16.0.2 send-community extended

コミュニティ属性が BGP ネイバーに送信されるように指定します。

  • ip-address 引数には、BGP 対応ネイバーの IP アドレスを指定します。

  • peer-group-name 引数には、BGP ピア グループの名前を指定します。

  • both キーワードを指定すると、標準および拡張コミュニティ属性が送信されます。

  • extended キーワードを指定すると、拡張コミュニティ属性が送信されます。

  • standard キーワードを指定すると、標準コミュニティ属性が送信されます。

ステップ 8

neighbor {ip-address | peer-group-name} route-map map-name {in | out}

例:

Device(config-router-af)# neighbor 172.16.0.2 route-map extmap in

着信ルートまたは発信ルートにルート マップを適用します。

  • ip-address 引数には、ネイバーの IP アドレスを指定します。

  • peer-group-name 引数には、BGP ピア グループまたはマルチプロトコル ピア グループの名前を指定します。

  • map-name 引数には、ルート マップの名前を指定します。

  • in キーワードを指定すると、着信ルートにルートマップが適用されます。

  • out キーワードを指定すると、発信ルートにルートマップが適用されます。

ステップ 9

end

例:

Device(config-router-af)# end

(任意)特権 EXEC モードに戻ります。

ルート ターゲット置換ポリシーの確認

手順


ステップ 1

enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

例:


Device> enable
Device#

ステップ 2

show ip bgp vpnv4 vrf vrf-name

指定したルート ターゲット(RT)拡張コミュニティ属性を持つバーチャル プライベート ネットワーク バージョン 4(VPNv4)が適切な RT 拡張コミュニティ属性で置換されることを確認して、プロバイダー エッジ(PE)デバイスが書き換えられた RT 拡張コミュニティ属性を受け取ることを確認します。

PE1 でルート ターゲットの置換を確認するには、次のコマンドを入力します。

例:


Device# show ip bgp vpnv4 vrf Customer_A 192.168.1.1/32 internal
BGP routing table entry for 65000:1:192.168.1.1/32, version 6901
Paths: (1 available, best #1, table Customer_A)
  Advertised to update-groups:
     5         
  Refresh Epoch 1
  650002
    3.3.3.3 (metric 3) (via default) from 3.3.3.3 (55.5.4.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:65000:1
      mpls labels in/out nolabel/3025
      rx pathid: 0, tx pathid: 0x0
      net: 0xFFB0A72E38, path: 0xFFB0E6A370, pathext: 0xFFB0E5D970
      flags: net: 0x0, path: 0x7, pathext: 0x181

ステップ 3

exit

ユーザー EXEC モードに戻ります。

例:


Device# exit
Device>

MPLS VPN ルート ターゲット書き換えの設定例

次の項では、MPLS VPN ルートターゲット書き換えの設定例について説明します。

例:ルート ターゲット置換ポリシーの適用

例:特定の BGP ネイバーへのルート マップの割り当て

次に、Border Gateway Protocol(BGP)ネイバーにルート マップ extmap を関連付ける例を示します。BGP インバウンド ルート マップは、着信アップデートのルート ターゲット(RT)を置換するように設定されています。


router bgp 1
address-family vpnv4
neighbor 2.2.2.2 route-map rtrewrite in

次に、アウトバウンド BGP ネイバーに同じルート マップを関連付ける例を示します。このルート マップは、発信アップデートの RT を置換するように設定されています。


router bgp 1
address-family vpnv4
neighbor 2.2.2.2 route-map rtrewrite out

MPLS VPN ルートターゲット書き換えの機能履歴

次の表に、このモジュールで説明する機能のリリースおよび関連情報を示します。

これらの機能は、特に明記されていない限り、導入されたリリース以降のすべてのリリースで使用できます。

リリース

機能

機能情報

Cisco IOS XE Everest 16.6.1

MPLS VPN ルート ターゲット書き換え

インバウンドおよびアウトバウンドの Border Gateway Protocol(BGP)アップデートに対してルート ターゲットの置換を有効にすると、MPLS VPN ルート ターゲット書き換え機能がルーティング テーブル アップデートに影響する可能性があります。

Cisco Feature Navigator を使用すると、プラットフォームおよびソフトウェアイメージのサポート情報を検索できます。Cisco Feature Navigator には、http://www.cisco.com/go/cfn [英語] からアクセスします。