VRFとVLANの違いを一言でいうと、VLANはL2(データリンク層)のネットワークを分け、VRFはL3(ネットワーク層)のルーティングテーブルを分ける技術です。
VLANで分かれるのはブロードキャストドメインです。VRFで分かれるのはIPパケットが参照する経路空間です。そのため、VLANが違っても同じVRFに所属していればルーティングできます。一方、VRFが違えば、経路を明示的に受け渡さない限り相互通信できません。
現場では「VLANかVRFか」の二者択一で考えるより、VLANでL2を分離し、そのVLANのL3インターフェースをVRFに所属させる構成が一般的です。私自身、ネットワークの設計・構築や障害対応では、まずVLANの所属を確認し、次にVRF名を指定して経路表を見る、という順番で整理していました。
最初に押さえる結論
- VLAN:スイッチ内部のL2ネットワークを分割する
- VRF:ルーター/L3スイッチ内部のL3経路空間を分割する
- VLAN間通信:同じVRF内に経路があれば通信できる
- VRF間通信:経路リークやFW経由などを明示しない限り通信できない
- IPアドレスの重複:別VRFなら同じIPサブネットを同一機器内で扱える
| 比較項目 | VLAN | VRF |
|---|---|---|
| 主に分離するレイヤー | L2(データリンク層) | L3(ネットワーク層) |
| 分離する情報 | ブロードキャストドメイン、MACアドレスによる転送範囲 | ルーティングテーブル、ARP/隣接情報、L3到達性 |
| 識別子 | VLAN ID | VRF名 |
| 代表的な用途 | 部署・用途・端末種別ごとのセグメント分割 | 顧客・テナント・業務系/管理系ごとの経路分離 |
| 別グループとの通信 | ルーティングすれば可能 | 経路リークやFW経由などの明示設計が必要 |
| 同じIPサブネットの重複 | 同じルーティングテーブルでは扱いにくい | 別VRFなら扱える |
この記事はネットワーク分野の個別テーマです。学習・キャリアの全体像から確認したい場合はこちら
VRFとVLANの違いは「L3」と「L2」
VRFもVLANも、1台のネットワーク機器を論理的に分割する技術です。ただし、分けている対象が違います。ここを曖昧にしたまま設定例だけ覚えると、障害時に「どのテーブルを確認すべきか」が分からなくなります。
VLANはL2のブロードキャストドメインを分ける
VLAN(Virtual LAN)は、1台のスイッチを複数の論理的なL2スイッチに分けるイメージです。VLAN 10のブロードキャストは、ルーターやL3スイッチで中継しない限りVLAN 20へ届きません。
スイッチは、受信したEthernetフレームのVLANと宛先MACアドレスを見て転送します。アクセスポートではポート設定からVLANを判断し、トランクポートではIEEE 802.1QタグのVLAN IDを使って区別します。
大切なのは、VLAN自体がIPアドレスやルーティングテーブルを持つわけではないことです。IPアドレスを持つのは、SVI(interface Vlan)やルーテッドポート、サブインターフェースなどのL3インターフェースです。
VRFはL3のルーティングテーブルを分ける
VRF(Virtual Routing and Forwarding)は、1台のルーターやL3スイッチに独立したルーティングテーブルを複数持たせる仕組みです。パケットがどのVRFに所属するかが決まると、そのVRFの経路表だけを使って宛先を検索します。
たとえば、グローバルルーティングテーブルに宛先への経路があっても、VRF-Aの経路表にその経路がなければ、VRF-Aの通信には使われません。これは設定ミスではなく、VRFによる分離が正しく機能している状態です。
VLAN 10のL2範囲
ブロードキャストを分離
VRF-Aへ所属
L2からL3への境界
L3の転送先を検索
他VRFの経路は参照しない
VRFとVLANは代替関係ではなく組み合わせて使う
検索していると「VRFとVLANはどちらを使えばよいのか」と迷うかもしれません。しかし、両者は同じ役割を競う技術ではありません。VLANはL2、VRFはL3を担当するため、実際のネットワークでは階層的に組み合わせます。
たとえば、顧客A用のVLAN 10とVLAN 11をVRF-Aへ、顧客B用のVLAN 20とVLAN 21をVRF-Bへ所属させます。同じVRFに入っているVLAN同士は、そのVRF内のルーティングで通信できます。異なるVRFへ入っているVLAN同士は、通常のVLAN間ルーティングだけでは通信できません。
顧客A:VRF-A
業務LANVLAN 11
管理LAN
ルーティングテーブルA
顧客B:VRF-B
業務LANVLAN 21
管理LAN
ルーティングテーブルB
VRF-AとVRF-Bの間は、明示的に設計しない限り通信しない
VRFとVLANの違いを7項目で比較
1. 分離するレイヤー
VLANはL2、VRFはL3です。これが最も本質的な違いです。VLANはEthernetフレームの転送範囲を、VRFはIPパケットの経路検索範囲を分けます。
2. 機器が参照するテーブル
VLAN内の転送では主にMACアドレステーブルを使います。VRF内の転送では、そのVRF専用のルーティングテーブルとARP/NDなどの隣接情報を使います。
3. 通信を分離する境界
VLANが違う端末同士は、L3機器でルーティングすれば通信できます。VRFが違う場合は、同じL3スイッチに接続されていても、経路を明示的に受け渡さなければ通信できません。
4. IPアドレス重複への対応
同じグローバルルーティングテーブルに同一の接続経路を複数作ることはできません。VRFを分ければ経路表も分かれるため、192.168.1.0/24のような同じサブネットを顧客Aと顧客Bで重複利用できます。
5. 設計上の識別子
VLANはVLAN IDで、VRFはVRF名で識別します。実務では「VLAN 10」だけで会話せず、「VLAN 10/VRF-A」のようにL2とL3の所属をセットで記載すると、設定ミスを減らせます。
6. よく使う場面
VLANは、社内LANで部署、用途、端末種別、音声、無線などのセグメントを分けるときに使います。VRFは、マルチテナント、顧客ごとの閉域網、業務ネットワークと管理ネットワークの分離、重複アドレスの収容などで使います。
7. セキュリティとの関係
VLANやVRFによる分離は、到達性を制御する土台にはなります。ただし、どちらも単体でファイアウォールの代わりになるわけではありません。通信を許可する場合は、ACLやFWポリシー、ログ、戻り経路まで含めて設計します。
VRFではなぜ同じIPアドレス帯を使えるのか
通常、1台のルーターに192.168.1.0/24という接続経路が2つあると、どちらのインターフェースへ転送すべきか決められません。VRFを使うと、経路表そのものが分かれるため、「VRF-Aの192.168.1.0/24」と「VRF-Bの192.168.1.0/24」を別の経路として扱えます。
入力インターフェースがVRF-Aに所属していれば、機器はVRF-Aの経路表を検索します。VRF-Bに同じ宛先IPが存在していても参照しません。ARPやIPv6のNDなどの隣接情報もVRFの文脈で管理されるため、同じIPアドレスに対して異なるMACアドレスを保持できます。
192.168.1.0/24 → Vlan10
端末:192.168.1.10
GW:192.168.1.1
192.168.1.0/24 → Vlan20
端末:192.168.1.10
GW:192.168.1.1
IPアドレスは同じでも、参照する経路表とL3インターフェースが異なるため競合しません。
VRFとVLANの使い分け
設計時は、何を分離したいのかを先に決めます。以下の判断基準なら、必要以上にVRFを増やさず、逆にVLANだけで無理に分離しようとすることも避けられます。
| 要件 | 選択 | 理由 |
|---|---|---|
| 部署や端末種別ごとにブロードキャストを分けたい | VLAN | L2の分割で要件を満たせる |
| 分けたVLAN同士を社内ルールに従って通信させたい | VLAN+同一VRF内のルーティング | 共通の経路表でVLAN間ルーティングできる |
| 顧客やテナントごとに経路を完全に分けたい | VRF+VLAN | L2とL3の両方を分離できる |
| 同じIPサブネットを複数顧客で使いたい | VRF | VRFごとに独立した経路表を持てる |
| 管理用通信を業務通信から分けたい | 管理VRF+必要なACL/FW | 経路分離に加えて許可通信を制御できる |
私が設計レビューで確認するなら、「分けたいのはブロードキャストか、経路表か」「同じIP帯が重複する可能性はあるか」「分離後に、どの通信だけ許可するか」の3点を先に聞きます。この3点が決まれば、VLANだけでよいのか、VRFまで必要なのかはほぼ整理できます。
パケット転送の流れで理解する
VRFとVLANの関係は、端末から届いたパケットをL3スイッチが処理する順番で見ると分かりやすくなります。
- VLANを判定する:アクセスポートの設定、または802.1Qタグから所属VLANを判断する
- L3インターフェースへ渡す:別サブネット宛てなら、端末はデフォルトゲートウェイであるSVIへフレームを送る
- VRFを判定する:SVIに設定されたVRFから、参照するルーティングテーブルを決める
- 経路検索する:対象VRFの経路表だけで最長一致検索を行う
- 出力する:次ホップをARP/NDで解決し、出力側のVLANやL3インターフェースから転送する
つまり、入口ではVLAN、L3転送ではVRFが効きます。障害対応でもこの順番を崩さないことが重要です。
VRFとVRF-Liteの違い
VRFは、複数のルーティングテーブルを持つ仕組み全体を指します。VRF-Liteは、MPLS VPNのプロバイダー網を使わず、ルーターやL3スイッチ上でVRFによる経路分離を行う構成です。
拠点内で顧客ネットワークを分ける、業務系と管理系を分ける、といった用途ならVRF-Liteがよく使われます。MPLS L3VPNでは、PEルーター上のVRFに加えてMP-BGP、Route Distinguisher(RD)、Route Target(RT)などを使い、拠点間で顧客経路を運びます。
混同しやすい点:VRF-Liteは「機能を簡易化したVRF」というより、MPLS VPNを使わずにVRFを利用する構成を指します。機種やOSによって対応機能・設定方法は異なります。
Cisco IOS XEのVRF・VLAN設定例
ここでは、1台のL3スイッチにVRF-AとVRF-Bを作り、VLAN 10とVLAN 20で同じ192.168.1.0/24を利用する例を示します。検証用の最小構成です。
構成
- VLAN 10 → VRF-A → ゲートウェイ 192.168.1.1/24
- VLAN 20 → VRF-B → ゲートウェイ 192.168.1.1/24
- 同じIPサブネットだが、VRFが異なるため重複可能
1. VRFを定義する
vrf definition VRF-A
address-family ipv4
exit-address-family
!
vrf definition VRF-B
address-family ipv4
exit-address-family
2. VLANとアクセスポートを作る
vlan 10
name TENANT-A
vlan 20
name TENANT-B
!
interface GigabitEthernet1/0/1
switchport mode access
switchport access vlan 10
spanning-tree portfast
!
interface GigabitEthernet1/0/2
switchport mode access
switchport access vlan 20
spanning-tree portfast
3. SVIをVRFへ所属させる
interface Vlan10
vrf forwarding VRF-A
ip address 192.168.1.1 255.255.255.0
no shutdown
!
interface Vlan20
vrf forwarding VRF-B
ip address 192.168.1.1 255.255.255.0
no shutdown
実務上の注意:既存インターフェースへvrf forwardingを設定すると、機種やOSでは設定済みのIPアドレスが外れます。VRF所属を先に設定し、その後でIPアドレスを設定してください。作業前後のコンフィグ差分と通信影響も確認します。
4. VRFごとにスタティックルートを設定する
ip route vrf VRF-A 0.0.0.0 0.0.0.0 192.168.1.254
ip route vrf VRF-B 0.0.0.0 0.0.0.0 192.168.1.254
実際の投入コマンドは、機種、ライセンス、IOS/IOS XEのバージョン、L2/L3構成によって変わります。ここではコマンドの暗記よりも、「VRFを作る → L3インターフェースを所属させる → VRF内に経路を作る」という順序を押さえてください。
設定例の前提:この例はCisco IOS XEのVRF-Lite構成を想定した検証用です。vrf forwardingをインターフェースへ設定すると、機種・OSによって既存のIPアドレスが外れるため、VRFを割り当ててからIPアドレスを設定します。同じ192.168.1.1/24を使う2つのSVIは別VLAN・別VRFに属し、それぞれの192.168.1.254は各VRF内で到達できる別のネクストホップを想定しています。実機へ投入する前に対象機種の対応機能と手順を確認してください。
根拠:Cisco Catalyst 9400 IOS XEのVRF-Lite設定ガイド。コマンド体系は機種・リリースによって異なります。
確認コマンドと見るポイント
VRF環境では、通常のshow ip routeだけを見ても対象VRFの経路は確認できません。コマンドにVRF名を付け、同じ文脈でインターフェース、経路、ARP、疎通を追います。
| 確認したいこと | コマンド例 | 見るポイント |
|---|---|---|
| VRF一覧 | show vrf |
VRF名、RD、所属インターフェース |
| インターフェース所属 | show ip interface brief vrf all |
SVI/L3ポートが想定VRFか、up/upか |
| VRF別経路 | show ip route vrf VRF-A |
接続経路、デフォルトルート、最長一致経路 |
| ARP | show ip arp vrf VRF-A |
端末や次ホップのIP・MAC・出力IF |
| VRF指定ping | ping vrf VRF-A 192.168.1.10 source 192.168.1.1 |
VRFと送信元を固定した往復疎通 |
| VRF指定traceroute | traceroute vrf VRF-A 203.0.113.10 |
どの区間まで到達するか |
コマンド体系はOSやバージョンで異なるため、候補表示や機器のヘルプも確認してください。障害時の証跡には、コマンドだけでなく実行したVRF名と送信元IPも残します。
VRF間ルーティングを設計するときの注意点
異なるVRF間で通信させることは可能です。一般に「経路リーク」と呼ばれ、スタティックルート、MP-BGP、共有VRF、FW経由など、機器と要件に応じた方法を選びます。
ただし、経路を見せただけで通信が成立するとは限りません。最低でも次の項目を確認します。
- どのプレフィックスを、どちら向きに渡すか
- 戻り経路が正しく存在するか
- 同じIP帯が重複していないか
- FWやACLで許可すべきプロトコル/ポートは何か
- NATが必要か、元IPを保持するか
- 許可通信だけでなく、意図しない通信が拒否されるか
特にマルチテナント環境では、経路リークは分離境界を変更する作業です。私は許可試験と同じくらい、別顧客のネットワークへ到達しないことを確かめる拒否試験を重視します。
疎通確認では通常のpingだけで終えず、送信元VRFを指定した試験と、対向からの戻り経路を同じVRF文脈で確認します。グローバルのshow ip routeに経路が見えないことは、VRF内の経路がない証拠にはなりません。
通信できないときの切り分け手順
VRF構成で疎通できないときは、いきなりACLやFWを疑うのではなく、パケット処理の順番に沿って確認します。
- L1:物理リンク、エラー、速度/Duplexを確認する
- VLAN:アクセスポート、トランク許可VLAN、VLANのactive状態、STPを確認する
- SVI/L3 IF:up/upか、IPアドレスとマスクが正しいか確認する
- VRF所属:対象インターフェースが想定VRFに所属しているか確認する
- VRF別経路:対象VRFの経路表に最長一致する経路があるか確認する
- ARP/ND:端末または次ホップを解決できているか確認する
- ポリシー:ACL、FW、PBR、経路リーク、NATを確認する
- 復路:宛先側から送信元へ戻る経路があるか確認する
- 試験:VRF名と送信元を指定してping/tracerouteを行う
よくある見落としは、グローバル経路表に経路があるため安心してしまうことです。対象がVRF-Aなら、確認すべきなのは最後までVRF-Aの経路と隣接情報です。
VRFとVLANでよくある質問
VLANが違えば通信できませんか?
L2のままでは通信できませんが、ルーターやL3スイッチがVLAN間ルーティングを行えば通信できます。ただし、両方のL3インターフェースが同じVRFに所属し、経路とACLなどの条件を満たしている必要があります。
VRFが違えば絶対に通信できませんか?
初期状態では相互の経路を参照できません。経路リークやFW経由の構成を明示すれば通信できます。分離要件を崩さないよう、許可する宛先・方向・ポートを限定します。
VLANだけで同じIPアドレス帯を使えますか?
L2として完全に分離され、ルーティングしない環境なら同じIP帯が存在すること自体はあります。しかし、1台のL3機器で同じ接続経路を扱い、双方をルーティングしたい場合は、VRFなどで経路表を分ける必要があります。
VRFごとに同じVLAN IDを使えますか?
VRFが分けるのはL3の経路表であり、VLAN IDの名前空間ではありません。同一のVLAN対応スイッチ内では、通常は同じVLAN IDが同じL2ドメインを表します。VRFが違うからといって、同じ装置内でVLAN IDまで自動的に別物になるわけではありません。
VRFは仮想ルーターと同じですか?
理解の入口として「1台の中に複数の仮想ルーターがある」と考えるのは有効です。ただし、OS、CPU、管理プレーン、設定ファイルなどまで完全に別になるとは限りません。VRFが主に分けるのはL3の転送・経路情報です。
VRFを使えばファイアウォールは不要ですか?
不要にはなりません。VRFは経路空間を分けますが、許可した通信のアプリケーション制御、脅威防御、詳細なログ取得などはFWの役割です。VRF間通信が必要な場所では、FWを中継点にする設計もよく使われます。
まとめ:VLANでL2、VRFでL3を分ける
VRFとVLANの違いは、分離するレイヤーとテーブルにあります。VLANはL2のブロードキャストドメインを分け、VRFはL3のルーティングテーブルを分けます。
実際の構成では、VLANで作ったL2セグメントのSVIやサブインターフェースをVRFへ所属させ、L2とL3の両方を分離します。別VRFなら同じIPサブネットを使えますが、VRF間通信を許可する場合は経路、FW/ACL、NAT、復路、拒否試験まで設計が必要です。
設定や障害対応では、VLAN → L3インターフェース → VRF所属 → VRF別経路 → ARP/ND → ポリシー → 復路の順で確認してください。この順番を守るだけで、VRF環境の切り分けはかなり速くなります。
