MPLS VPN ルート ターゲット書き換えの設定
機能情報の確認
ご使用のソフトウェア リリースでは、このモジュールで説明されるすべての機能がサポートされているとは限りません。最新の機能情報および警告については、使用するプラットフォームおよびソフトウェア リリースの Bug Search Tool およびリリース ノートを参照してください。このモジュールに記載されている機能の詳細を検索し、各機能がサポートされているリリースのリストを確認する場合は、このモジュールの最後にある機能情報の表を参照してください。
プラットフォームのサポートおよび Cisco ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator には、http://www.cisco.com/go/cfn からアクセスします。Cisco.com のアカウントは必要ありません。
MPLS VPN ルート ターゲット書き換えの前提条件
MPLS VPN ルート ターゲット書き換えの制約事項
ルート ターゲットの書き換えは、単一 AS トポロジにのみ実装できます。
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 ルート ターゲット書き換えの設定方法
ルート ターゲット置換ポリシーの設定
インターネットワークにルート ターゲット(RT)置換ポリシーを設定するには、次の作業を実行します。
RT x を RT y に書き換えるようにプロバイダー エッジ(PE)を設定したとき、その PE に RT x をインポートする仮想ルーティングおよび転送(VRF)インスタンスが設定されている場合は、RT x に加えて RT y をインポートする VRF も設定する必要があります。
手順 | コマンドまたはアクション | 目的 |
---|
ステップ 1 | 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)拡張コミュニティ リスト属性とマッチングします。
|
ステップ 6 | set
extcomm-list extended-community-list-numberdelete
例:
Device(config-route-map)# set extcomm-list 1 delete
|
インバウンドまたはアウトバウンド BGP バーチャル プライベート ネットワーク バージョン 4(VPNv4)アップデートの拡張コミュニティ属性からルート ターゲットを削除します。
|
ステップ 7 | set
extcommunity {rt extended-community-value [additive] | soo extended-community-value}
例:
Device(config-route-map)# set extcommunity rt 65000:1 additive
|
BGP 拡張コミュニティ属性を設定します。
自律システム番号とネットワーク番号、または IP アドレスとネットワーク番号の区切りにはコロンを使用します。
|
ステップ 8 | end
例:
Device(config-route-map)# end
|
(任意)特権 EXEC モードに戻ります。
|
ステップ 9 | show
route-map map-name
例:
Device# show route-map extmap
|
(任意)マッチングと設定されたエントリが正しいことを確認します。
|
ルート ターゲット置換ポリシーの適用
ネットワークにルート ターゲット置換ポリシーを適用するには、次の作業を実行します。
特定の BGP ネイバーへのルート マップの割り当て
手順 | コマンドまたはアクション | 目的 |
---|
ステップ 1 | enable
例:
|
特権 EXEC モードをイネーブルにします。
|
ステップ 2 | configure
terminal
例:
Device# configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
ステップ 3 | router
bgp as-number
例:
Device(config)# router bgp 100
|
Border Gateway Protocol(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 などのルーティング セッションを設定します。
|
ステップ 6 | neighbor {ip-address | peer-group-name} activate
例:
Device(config-router-af)# neighbor 172.16.0.2 activate
|
ネイバー 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 モードをイネーブルにします。プロンプトが表示されたら、パスワードを入力します。
例:
|
ステップ 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 モードに戻ります。
例:
|
MPLS VPN ルート ターゲット書き換えの設定例
例:ルート ターゲット置換ポリシーの設定
次に、バーチャル プライベート ネットワーク バージョン 4(VPNv4)プレフィックスを別のプロバイダー エッジ(PE)デバイスと交換するプロバイダー エッジ(PE)デバイスのルート ターゲット(RT)置換の設定例を示します。インバウンド アップデートで RT を置換するようにルート マップ extmap が設定されています。RT 65000:2 を持つ着信アップデートはすべて RT 65000:1 に置換されます。
!
ip extcommunity-list 1 permit rt 65000:2
!
route-map rtrewrite permit 10
match extcommunity 1
set extcomm-list 1 delete
set extcommunity rt 65000:1 additive
!
次に、アップデートに複数の置換ルールを適用する必要がある場合に、ルート マップ コンフィギュレーションの continue コマンドを使用する例を示します。次の例では、着信アップデートの 7777:222222222 が RT 65000:2 に置換されます。continue 20 コマンドを指定しない場合、シーケンス 10 でマッチングが行われるとルート マップの評価は停止します。
continue 20 コマンドを指定した場合、シーケンス 10 で一致した場合でもルート マップの評価はシーケンス 20 まで継続します。
!
ip extcommunity-list 2 permit rt 7777:222222222
ip extcommunity-list 3 permit rt 2:2
ip extcommunity-list 4 permit rt 20000:111
!
route-map extmap1 permit 10
match extcommunity 2
continue 20
set extcomm-list 2 delete
set extcommunity rt 65000:2 additive
!
route-map extmap1 permit 20
match extcommunity 3
continue 30
set extcomm-list 3 delete
!
route-map extmap1 permit 30
match extcommunity 4
set extcomm-list 4 delete
!
![](/c/dam/en/us/td/i/templates/note.gif) (注) |
アウトバウンド ルート マップは、ルート マップ コンフィギュレーションの continue コマンドをサポートしていません。
|
例:ルート ターゲット置換ポリシーの適用
例:特定の 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