VRF-aware routing with BGP, EIGRP, OSPF and static

VRF-Awareルーティング

VRF-Awareルーティングでは、特定のルーティングプロトコル(例: OSPF、BGP、EIGRPなど)がVRFごとに独立して動作し、それぞれのVRFインスタンスに専用のルーティングテーブルを持つように設定されます。これにより、同一デバイス上で異なる論理ネットワークを分離して管理することができます。

VRFでのルーティングプロトコルの設定

1. VRFインスタンスの作成

VRF インスタンスを定義します。
Router(config)#ip vrf vrf-name

VPN にデフォルト RD を指定します。
Router(config-vrf)#rd route-distinguisher

VRF 用にルート ターゲット拡張コミュニティを作成します。
Router(config-vrf)#route-target {import both route-target-ext-community

VRF 用にルート ターゲット拡張コミュニティを作成します。
Router(config-vrf)#route-target {export both route-target-ext-community

2. インターフェースのVRF割り当て

インターフェイス コンフィギュレーション モードを開始します。
Router(config)#interface type number

VRF をインターフェイスと関連付けます。
Router(config-if)#p vrf forwarding vrf-name [downstream vrf-name2 ]

IP アドレスを設定します。
Router(config-if)#ip address ip-address mask [secondary ]

3.VRF内でのルーティングプロトコルの設定

VRFとBGP

BGPルーティング プロセスを設定します。
Router(config)#router bgp autonomous-system-number

IPv4アドレスファミリーの設定モードに入ります。
Router(config-router)#address-family ipv4 [unicast | multicast | vrf vrf-name ]

VRF内のBGPネイバーを設定します。
Router(config-router-af)#neighbor ip-address remote-as autonomous-system-number

VRF内でBGPネイバーをアクティブ化します。
Router(config-router-af)#neighbor ip-address activate

VRF内のBGPプロセスにアドバタイズするネットワークを指定します。
Router(config-router-af)#network network-number [mask network-mask ] [route-map route-map-name ]

VRFとOSPF

OSPF ルーティング プロセスを設定し、それを VRF に関連付けます。
Router(config)# router ospf process-id vrf vrf-name

OSPF が実行するインターフェイスと、それらのインターフェイスに対するエリア ID を定義します。
Router(config-router)#network ip-address wildcard area area-id

VRFとEIGRP

EIGRP ルーティング プロセスを設定し、それを VRF に関連付けます。
Router(config)#router eigrp instance-name

IPv4アドレスファミリーの設定モードに入ります。
Router(config-router)#address-family ipv4 vrf vrf-name

VRF内のEIGRPプロセスにアドバタイズするネットワークを指定します。
Router(config-router-af)#network network-number [mask network-mask ]

設定例

Router1

hostname Router1

int g0/3
ip address 192.168.12.12 255.255.255.0
no shut

int lo1
ip address 10.10.10.10 255.255.255.255

router ospf 1
network 0.0.0.0 0.0.0.0 area 0

Router2

hostname Router2

int g0/3
ip address 192.168.12.12 255.255.255.0
no shut

int lo1
ip address 10.10.10.10 255.255.255.255

router ospf 1
network 0.0.0.0 0.0.0.0 area 0

Router3

hostname Router3

Router4

hostname Router4

int g0/3
ip address 192.168.45.45 255.255.255.0
no shut

int lo1
ip address 20.20.20.20 255.255.255.255

router ospf 1
network 0.0.0.0 0.0.0.0 area 0

Router5

hostname Router5

int g0/3
ip address 192.168.45.45 255.255.255.0
no shut

int lo1
ip address 20.20.20.20 255.255.255.255

router ospf 1
network 0.0.0.0 0.0.0.0 area 0

Router1とRouter4、Router2とRouter5をVRF定義します。

Router1からRouter4,Router2からRouter5までそれぞれ通信することが出来るようになりました。

Router3のOSPFのネイバー関係は以下のようになっています。

Router4でそれぞれのVRFで独立したルーティングテーブルを保持しています。

参考文献

BGP ルータ ID の VRF 単位での割り当て
IPv4 VRF アドレス ファミリの BGP ピアの設定