VRRP(Virtual Router Redundancy Protocol) は、複数のルーター間でデフォルトゲートウェイを冗長化するための標準プロトコルです。
現行の規格は RFC 5798(VRRPv3) で、IPv4およびIPv6の両方に対応しています。
同一セグメント内の複数のFortiGateが1つの仮想IP(Virtual IP)を共有し、そのうち1台が「Master(マスター)」、残りが「Backup(バックアップ)」として動作します。
マスター機が障害などでダウンした際、バックアップ機が自動的にマスターに昇格し、通信を継続します。
VRRPでは、マスター機がIPプロトコル番号112を使用し、マルチキャストアドレス 224.0.0.18(IPv4) に対して定期的に「Advertisementパケット」を送信します。
これをバックアップ機が受信し続けることで、マスターの稼働を監視します。
┌────────────────┐
│ FortiGate #1 │(Master)
│ IP: 192.168.1.2 │
│ Priority: 200 │
└────────────────┘
│
VRRP Virtual IP: 192.168.1.1
│
┌────────────────┐
│ FortiGate #2 │(Backup)
│ IP: 192.168.1.3 │
│ Priority: 150 │
└────────────────┘
│
Client Network
クライアントは常に 192.168.1.1 をデフォルトゲートウェイに設定します。
マスターがダウンしても、バックアップ機が即座に同一IPを引き継ぐため、通信断は最小限です。
config system interface
edit "port1"
set ip 192.168.1.2 255.255.255.0
set vrrp-virtual-mac enable
config vrrp
edit 10
set vrip 192.168.1.1
set priority 200
set preempt enable
set vrdst 8.8.8.8
set vrdst-priority 10
next
end
next
end
config system interface
edit "port1"
set ip 192.168.1.3 255.255.255.0
set vrrp-virtual-mac enable
config vrrp
edit 10
set vrip 192.168.1.1
set priority 150
set preempt enable
set vrdst 8.8.8.8
set vrdst-priority 10
next
end
next
end
edit 10 の数値は VRID(Virtual Router ID)。1〜255の範囲で一意に設定。set interface "port1" は不要です。インターフェースコンテキストの中で設定するため。vrrp-virtual-mac enable により、仮想MACアドレス(00:00:5e:00:01:VRID) を利用可能。| 項目 | 意味 |
|---|---|
| vrid | VRRPグループの識別番号(1〜255) |
| vrip | 仮想ルーターの共有IPアドレス(クライアントのデフォルトGW) |
| priority | マスター選出優先度(高いほどマスターになりやすい) |
| preempt | より高優先度機が復旧した際にマスターを奪還する(※デフォルト有効) |
| vrdst | 上位の監視宛先IP(例:ISPルーター、DNS) |
| vrdst-priority | vrdst到達不能時に広告する新しい優先度(差分ではなく置き換え) |
| vrrp-virtual-mac | 仮想MACを使用してフェイルオーバー時のARP再学習を回避 |
preempt enable が有効であれば、自機が再びMasterに昇格し、元の状態へ復帰。vrdstによるヘルスチェック単にFortiGateが稼働していても、上位回線断では通信不可。
vrdstを設定し、上位ルーターや外部DNS(例:8.8.8.8)を監視することで、ルーティング障害時にもフェイルオーバーが可能になります。
VRRPはL2ブロードキャストではなくマルチキャスト通信で動作しますが、それでもマスター/バックアップは同一L2セグメント上に存在する必要があります。
vrrp-virtual-mac enable により、フェイルオーバー後の通信中断を最小化できます。
これがない場合は、Backup昇格時にGratuitous ARPが送信されます。
VRRPは標準プロトコル(RFC 5798)準拠のため、Cisco・Juniperなど他社ルーターとも問題なく相互運用が可能です。
ただし、メーカー間で細かな挙動(タイマーやMAC動作)が異なるため、事前検証を推奨します。
| 比較項目 | VRRP | FGCP(FortiGate Cluster Protocol) |
|---|---|---|
| プロトコル種別 | 標準(RFC 5798) | Fortinet独自 |
| 設定同期 | なし(手動で個別設定) | 自動同期(config-sync) |
| セッション維持 | 不可(切替時にセッション切断) | 可能(セッション同期あり) |
| 適用範囲 | L3冗長化 | L2〜L7冗長化 |
| 他社機器との互換性 | 高い | FortiGate専用 |
| 推奨用途 | 異機種混在・簡易冗長構成 | 完全冗長構成(クラスタ構成) |
| コマンド | 説明 |
|---|---|
get system interface physical |
VRRP関連設定・状態を確認 |
diagnose sys vrrp list |
VRRPインスタンスのステータスを一覧表示 |
diagnose debug enablediagnose debug application vrrpd -1 |
VRRPの動作ログを詳細確認 |
diagnose sniff packet any "ip proto 112" 4 |
VRRP広告パケットをパケットキャプチャで確認 |
| 項目 | 内容 |
|---|---|
| 標準規格 | RFC 5798(VRRPv3) |
| 通信方式 | IPプロトコル112、マルチキャスト224.0.0.18 |
| 構成単位 | 同一サブネット上のルーター群 |
| フェイルオーバー制御 | Priority+vrdst監視+preempt設定 |
| 推奨設定 | vrrp-virtual-mac enable でARP再学習抑止 |
| 注意点 | セッション維持なし(FGCPと異なる) |
FortiGateでのVRRP構成は、「異機種ルーターとの連携」「個別管理を前提とした軽量冗長構成」に最適です。
一方で、セッション同期が必要なWebシステムやSSL VPN環境では、FGCP(HAクラスタ)の方が望ましい場合もあります。
運用設計のコツは、VRRPを“L3ゲートウェイの冗長化”と割り切ること。
FortiGate独自のHA機能とは目的を明確に分けて活用するのがベストプラクティスです。
以上、FortiGateのVRRP設定についてでした。
最後までお読みいただき、ありがとうございました。