Cisco IOSでMPLSを使用するためには、前提としてVRFを理解しなければなりません。VRFとは Virtual Routing Forwardingの略で、ひとつのルータ内で複数のルーティングテーブルを持つ機能です。それぞれのルーティングテーブルは独立しており、基本的にVRFをまたぐ転送はできません。このページではciscoルータにおけるVRFの設定方法について紹介します。具体的な設定例については、VRF Lite 設定例を参照下さい。
VRFの定義
VRFを使用するためには、VRF名と(Route Distingusher)と呼ばれる識別子を定義する必要があります。RDは<XX:YY>の書式で表し、XX, YYはそれぞれ32bitの数値で表されます。XXにAS番号を当てはめ、YYにVRF名と紐づいた番号を当てはめるのが一般的です。(XXにIPアドレスを使用する事例もあります。)
Router(config)# ip vrf <vrf_name> Router(config-vrf)# rd <XX:YY>
VRF インターフェースの定義
“ip vrf forwarding”というコマンドでどのインターフェースがどのVRFに所属するのかを設定する事ができます。
Router(config)# interface <interface> Router(config-if)# ip vrf forwarding <vrf_name>
VRFがインターフェースに対して設定されると、一旦、IPアドレスが削除されてしまいます。必要に応じて以下のようにIPアドレスを再設定して下さい。
Router(config)#interface FastEthernet 0/1 Router(config-if)#ip vrf forwarding VPN_A % Interface FastEthernet0/1 IP address 192.168.21.1 removed due to enabling VRF VPN_A Router(config-if)#ip address 192.168.21.1 255.255.255.0
VRF インターフェースの確認
どのインターフェースがどのVRFに所属しているかは”show ip vrf”コマンドで確認する事ができます。
Router#show ip vrf
Name Default RD Interfaces
VPN_A 100:1 Fa0/1
Lo1
Router#
VRF ルーティングの定義
VRFは独立したルーティングテーブルを保持する機能ですので、VRF毎にルーティングを定義しなければなりません。static routeならば、以下のように”ip route vrf”というコマンドでVRF毎にルーティングを定義します。
Router(config)# ip route vrf <vrf_name> <addr> <mask> <next_hop>
同様に、ダイナミック ルーティングについてもVRF名を明示指定したコマンドが必要になります。詳細は後述しますが、以下のようなコマンド体系になります。
Router(config)#router ospf <process_id vrf <vrf_name> Router(config)#router eigrp <as> Router(config-router)#address-family ipv4 vrf <vrf_name>
VRF ルーティングの確認
VRFのルーティングテーブルを確認するには”show ip route vrf”コマンドを使用します。
Router#show ip route vrf <vrf_name>
Routing Table: VPN_A
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is 192.168.21.2 to network 0.0.0.0
C 192.168.21.0/24 is directly connected, FastEthernet0/1
10.0.0.0/32 is subnetted, 1 subnets
C 10.11.11.11 is directly connected, Loopback1
S* 0.0.0.0/0 [1/0] via 192.168.21.2
Router#
VRF ping tracerouteの実行
VRF環境でping, tracerouteは、どのVRFから送信するかを明示指定する必要があります。通常のping, tracerouteはグローバルなルーティングテーブルから送信されてしまいます。もし、VRFの疎通を確認したいならば、以下のようなVRF名を明示指定したping, tracerouteを実行する必要があります。
Router#ping vrf <vrf_name> 10.11.11.11 Router#traceroute vrf <vrf_name> 10.11.11.11
