ルートマップを使用したVRF間のルートリーク

ルートマップを使用したVRF間のルートリークとは

Virtual Routing and Forwarding (VRF) 環境において、異なるVRFインスタンス間で特定のルート情報を共有するための方法です。通常、VRFは独立したルーティングテーブルを持ち、他のVRFのルート情報とは分離されていますが、特定のシナリオでは、VRF間でルート情報をリーク(共有)する必要があります。ルートマップを使用することで、このルートリークのプロセスを詳細に制御できます。

設定例

事前Config(VRF基本設定はすでに投入済みです)

R1

hostname R1

vrf definition R2
rd 100:2
address-family ipv4

vrf definition R3
rd 100:3
address-family ipv4

interface GigabitEthernet2
vrf forwarding R2
ip address 192.168.12.1 255.255.255.0
no shutdown

interface GigabitEthernet3
vrf forwarding R3
ip address 192.168.13.1 255.255.255.0
no shutdown

int lo1
ip address 1.1.1.1 255.255.255.0

router bgp 65001
address-family ipv4 vrf R2
neighbor 192.168.12.2 remote-as 65002
neighbor 192.168.12.2 activate
network 1.1.1.1 mask 255.255.255.255
exit-address-family

router eigrp 1
address-family ipv4 vrf R3
network 1.1.1.1 255.255.255.255
network 192.168.13.0 255.255.255.0
autonomous-system 1

R2

hostname R2

int g0/1
ip address 192.168.12.2 255.255.255.0
no shut

int lo2
ip address 2.2.2.2 255.255.255.255

router bgp 65002
network 2.2.2.2 mask 255.255.255.255
neighbor 192.168.12.1 remote-as 65001
neighbor 192.168.12.1 activate

R3

hostname R3

int g0/1
ip address 192.168.13.3 255.255.255.0
no shut

int lo3
ip address 3.3.3.3 255.255.255.255

router eigrp 1
network 3.3.3.3 255.255.255.255
network 192.168.13.0 255.255.255.0

1.ルートマップの設定

ルートリークする通信を識別するために、プレフィックスリストを作成します。

ルートマップの作成方法

プレフィックスリストの作成
Router(config)#ip prefix-list {list-name [seq number] {deny | permit} network/length [ge ge-length] [le le-length] | description 説明 | sequence-number}

オプション意味
list-nameプレフィックスリストの名前。
seq numberルールの順序を指定するためのオプションのシーケンス番号。
指定しない場合、ルーターは自動的にシーケンス番号を生成します。
deny | permit指定されたプレフィックスを拒否(deny)するか許可(permit)するかを指定します。
network lengthフィルタリング対象のIPプレフィックス。network はネットワークアドレス、length はサブネットマスクの長さ(ビット数)を示します。
ge ge-length指定された長さ以上のプレフィックスを一致させます。範囲フィルタリングに使用されます。
le le-length指定された長さ以下のプレフィックスを一致させます。範囲フィルタリングに使用されます。
description descriptionプレフィックスリストに説明文を追加するオプション。リストの内容を理解しやすくするための注釈です。
sequence-numberプレフィックスリストエントリの順序を指定するための番号。

ルートマップを作成します。
Router(config)#route-map map-tag [ permit | deny ] [sequence-number]

オプション意味
map-tagルートマップの名前(識別子)。ルートマップは、この名前で識別されます。
deny | permitルートが条件に一致した場合に、そのルートを許可(permit)するか拒否(deny)するかを指定します。
sequence-numberルートマップのエントリのシーケンス番号。
指定しない場合、ルーターは自動的にシーケンス番号を生成します。
シーケンス番号により、ルートマップのエントリの順序が決まります。

作成したプレフィックスリストやアクセスリストを使用して、どのルートをリークするかを定義します。
Router(config-route-map)#match ip address { access-list-number [ access-list-number . .. | access-list-name . .. ] | access-list-name [ access-list-number . .. | access-list-name ] | prefix-list prefix-list-name [ prefix-list-name . .. ] }

オプション意味
access-list-number…標準または拡張アクセスリストの番号(1-199, 1300-2699)。複数のアクセスリストをスペースで区切って指定することも可能です。
access-list-name名前付きのアクセスリスト。名前を使って識別します。複数のアクセスリストを指定することも可能です。
prefix-list prefix-list-nameプレフィックスリストの名前。複数のプレフィックスリストを指定することも可能です。

今回はそれぞれのLoアドレスを対象にルートマップを作成します。

2.VRF定義の設定

VRF R2にVRF R3のルート情報をインポート、VRF R3にVRF R2のルート情報をインポートするため、RTの設定をします。route-target import の対象は対抗側のRD、route-target exportの対象は自身のRDとなります。
また、export mapコマンドとimport mapコマンドでルートマップで定義したルート情報を制御しています。

3.EIGRPへのルート情報再配布

①VRF R3にBGP 65001を作成して、同じVRFのEIGRPからのルート情報を再配布します。
②VRF R2とVRF R3のBGP間については、前段のVRF定義の設定でルート情報の共有が完了しているので、結果的にVRF R3のEIGRPからVRF R2のBGPにルート情報を再配布されます。
③VRF R3のEIGRPにBGPのルート情報を再配布します。

4.動作確認

R1のVRFのルーティングテーブルでそれぞれ再配布されたルーティングが表示されています。

R3のルーティングテーブルにもR2のLoアドレスが表示され、通信できるようになりました。

参考文献

IOS XEでのVRFリークの設定