VRF(Virtual Routing and Forwarding)とは、1台のルータ上で複数のルーティングテーブルを論理的に分離・運用できる技術です。
通常、ルータは単一のルーティングテーブルを持ち、すべての通信経路を一元的に管理しますが、VRF を使うことで、1台のルータの中に複数の独立したルーティング空間を構成できます。
これは、1つのルータを仮想的に複数のルータとして動作させるようなもので、ネットワークの分離やマルチテナント環境の構築に有効です。
本記事では Dell SmartFabric OS10(以降、OS10)に対して VRF を設定する方法を紹介します。
はじめに
VRF とは?
冒頭で紹介した通り、VRF は1つのルータ内に複数のルーティングテーブルを作成することができる技術です。以下は VRF のイメージです。
| VRF_1 用のルーティングテーブル | 10.10.10.1/24 Gi0/0 |
| VRF_2 用のルーティングテーブル | 10.10.10.1/24 Gi0/1 |
| デフォルト用 VRF 用ルーティングテーブル(グローバルルーティングテーブル) | 192.168.10.1/24 Gi0/2 |

Router3内に VRF インスタンスごとに分割された3つのルーティングテーブルを作成しています。
VRF インスタンスとルータのインターフェイスを紐づけると VRF 用ルーティングテーブルが作成されます。一方、VRF インスタンスと紐づけないインターフェイスはデフォルト VRF に属します。
VRF インスタンスとは、VRF によって分割された個々のルーティングテーブルのことを指します。ルーターのインターフェイスに特定の VRF インスタンスを割り当てることで、そのインターフェイスから受信したパケットは、対応するルーティングテーブルに基づいて処理されるようになります。
各インターフェイスが異なる VRF に属していれば、同じ IP アドレス帯を別々のインターフェイスで利用することも可能です。
なお、VRF を割り当てていない通常のルーティングテーブルは「グローバルルーティングテーブル」と呼ばれ、それに対応する VRF インスタンスは「デフォルト VRF」と呼ばれます。
VRF の用途
VRF(Virtual Routing and Forwarding)は、IP-VPN を実現する技術の一つであり、特に MPLS-VPN のようなサービスで利用されています。
IP-VPN とは、通信事業者が提供する企業間接続向けの WAN サービスで、複数の拠点を専用ネットワークのように接続するために用いられます。
IP-VPN では、通信事業者のネットワークを複数の顧客が共有して利用します。このため、サービス提供側のルーター(PE ルーター)は複数の顧客ネットワークと同時に接続する必要があり、それぞれの顧客の通信を明確に分離しなければなりません。
このとき、各顧客ごとに独立したルーティングテーブルを持たせるために VRF が使用されます。
PE ルーター上では、VRF によって顧客単位にルーティング情報を分割することで、それぞれのネットワークを完全に独立したものとして運用できます。この仕組みにより、異なる顧客間での通信が混在することはなく、たとえ同一のIPアドレス帯を使っていたとしても干渉し合うことはありません。
また、VRF は IP-VPN だけでなく、社内ネットワークの統合にも応用されます。
たとえば、物理的に分離されていたネットワーク環境を1つの機器やネットワーク構成にまとめたい場合でも、VRF を使えば仮想的にネットワークを分離したまま統合運用が可能です。これにより、ネットワーク機器の集約や運用コストの削減が期待できます。
たとえば、2つの業務システム用に分かれていたネットワークを1つにまとめても、それぞれが独立して動作する仮想ネットワークとして扱うことができます。
OS10での VRF サポート概要
OS10では、以下の VRF インスタンスがサポートされます。
- デフォルト VRF(default VRF)
- 管理用 VRF(management VRF) ※初期状態で存在、作成不要
- 最大512の非デフォルト VRF(スタティックルーティング)
- 最大128の VRF(ダイナミックルーティング)
ルーティング設定は、デフォルトまたは非デフォルトの VRF を使って構成します。また、管理インターフェイスを default VRF から management VRF に移すことも可能です。
なお、初期状態ではすべての物理・論理インターフェイスは default VRF に割り当てられています。
Dell SmartFabric OS10 User Guide Release 10.6.0 | Dell 日本
OS10での VRF 設定例
OS10では、VLAN インターフェイスやループバックインターフェイスなどの物理・論理インターフェイスを、非デフォルトの VRF インスタンスに割り当てることで、用途や経路制御に応じた柔軟な構成が可能になります。
そこで、今回は設定例として、この柔軟なネットワーク構成を可能にする非デフォルトの VRF 設定を記載します。
※ 管理用 VRF の設定については割愛します。
今回の設定例は下図のようなネットワークとなります。

VRF の設定を行うのは L3Switch3のみです。それ以外の L3Switch は VRF インスタンスを作成せず、通常のルーティングテーブルを使用して通信をおこないます。L3Switch1 と L3Switch4のルーティングと L3Switch2と L3Switch5のルーティングで分けて設定します。
VRF を作成する
(config)# ip vrf vrf-test
(config)# ip vrf vrf-prod
VLAN インターフェイスの作成(各 VRF に所属)
非デフォルトの VRF インスタンスに割り当てたい VLAN インターフェイスを作成し、VRFインスタンスとVLANインターフェイスを紐付けます。
(config)# interface vlan 10
(conf-if-vl-10)# mode L3
(conf-if-vl-10)# ip vrf forwarding vrf-test
(conf-if-vl-10)# ip address 10.10.10.1/24
(conf-if-vl-10)# exit
(config)# interface vlan 20
(conf-if-vl-20)# mode L3
(conf-if-vl-20)# ip vrf forwarding vrf-test
(conf-if-vl-20)# ip address 10.10.20.1/24
(conf-if-vl-20)# exit
(config)# interface vlan 100
(conf-if-vl-100)# mode L3
(conf-if-vl-100)# ip vrf forwarding vrf-prod
(conf-if-vl-100)# ip address 10.10.10.1/24
(conf-if-vl-100)# exit
(config)# interface vlan 200
(conf-if-vl-200)# mode L3
(conf-if-vl-200)#ip vrf forwarding vrf-prod
(conf-if-vl-200)#ip address 10.10.20.1/24
(conf-if-vl-200)# exit
物理インターフェイスと VLAN の関連付け
物理インターフェイスを有効化し、作成したVLANを割り当てます。
(config)# interface ethernet 1/1/1
(conf-if-eth1/1/1)# no shutdown
(conf-if-eth1/1/1)# switchport mode access
(conf-if-eth1/1/1)# switchport access vlan 10
(conf-if-eth1/1/1)# exit
(config)# interface ethernet 1/1/2
(conf-if-eth1/1/2)# no shutdown
(conf-if-eth1/1/2)# switchport mode access
(conf-if-eth1/1/2)# switchport access vlan 100
(conf-if-eth1/1/2)# exit
(config)# interface ethernet 1/1/3
(conf-if-eth1/1/3)# no shutdown
(conf-if-eth1/1/3)# switchport mode access
(conf-if-eth1/1/3)# switchport access vlan 20
(conf-if-eth1/1/3)# exit
(config)# interface ethernet 1/1/4
(conf-if-eth1/1/4)# no shutdown
(conf-if-eth1/1/4)# switchport mode access
(conf-if-eth1/1/4)# switchport access vlan 200
(conf-if-eth1/1/4)# exit
スタティックルートの設定
VRFインスタンスごとにスタティックルートの設定を行います。
(config)# ip route vrf vrf-test 192.168.10.0/24 10.10.10.2
(config)# ip route vrf vrf-test 192.168.20.0/24 10.10.20.2
(config)# ip route vrf vrf-prod 192.168.10.0/24 10.10.10.2
(config)# ip route vrf vrf-prod 192.168.30.0/24 10.10.20.2
これで、上図ネットワークの設定は完了です。
VRF の削除
非デフォルトの VRF インスタンスを削除する場合、その VRF インスタンスに対応するすべての依存関係と関連した設定を削除する必要があります。
(config)# no ip vrf [vrf-name]
VRF インスタンス情報の表示
今回作成した VRF インスタンスを確認にするには、下記のコマンドを実行します。
# show ip vrf vrf-test
VRF-Name Interfaces
vrf-test Vlan10,20
# show ip vrf vrf-prod
VRF-Name Interfaces
vrf-prod Vlan100,200
おわりに
VRF を設定することで、1台のネットワーク機器上に複数の独立したルーティングテーブルを構築することが可能となり、ネットワークの論理的な分離が実現できます。
これにより、マルチテナント環境や複数の業務システムを同一機器上で運用する場合でも、各テナントやシステムの通信を完全に分離した状態で管理できます。
また、VRF を使うことで、異なる VRF 間で同一の IP アドレスを利用することが可能になります。
さらに、VRF 間でのルーティングは基本的に分離されているため、意図しない通信の発生を防ぎ、セキュリティの向上にも寄与します。