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定義します。
Router3(config)#ip vrf 134
Router3(config-vrf)#rd 1:100
Router3(config-vrf)#exit
Router3(config)#ip vrf 235
Router3(config-vrf)#rd 1:200
Router3(config-vrf)#exit
Router3(config)#interface GigabitEthernet0/1
Router3(config-if)#ip vrf forwarding 134
Router3(config-if)#ip address 192.168.12.13 255.255.255.0
Router3(config-if)#no shutdown
Router3(config-if)#exit
Router3(config)#interface GigabitEthernet0/4
Router3(config-if)#ip vrf forwarding 134
Router3(config-if)#ip address 192.168.45.43 255.255.255.0
Router3(config-if)#no shutdown
Router3(config-if)#exit
Router3(config)#interface GigabitEthernet0/2
Router3(config-if)#ip vrf forwarding 235
Router3(config-if)#ip address 192.168.12.23 255.255.255.0
Router3(config-if)#no shutdown
Router3(config-if)#exit
Router3(config)#interface GigabitEthernet0/5
Router3(config-if)#ip vrf forwarding 235
Router3(config-if)#ip address 192.168.45.53 255.255.255.0
Router3(config-if)#no shutdown
Router3(config-if)#exit
Router3(config)#router ospf 1 vrf 134
Router3(config-router)#router-id 1.1.1.1
Router3(config-router)#network 0.0.0.0 0.0.0.0 area 0
Router3(config-router)#exit
Router3(config)#router ospf 2 vrf 235
Router3(config-router)#router-id 2.2.2.2
Router3(config-router)#network 0.0.0.0 0.0.0.0 area 0
Router3(config-router)#exit
Router3(config)#
Router1からRouter4,Router2からRouter5までそれぞれ通信することが出来るようになりました。


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

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