FortiGate で VRRP 設定|他社機との冗長化や HA との使い分け

  • URLをコピーしました!
目次

はじめに

FortiGate で冗長化(High Availability)を構成する場合、通常はメーカー独自の強力なクラスタ機能である 「HA (FGCP: FortiGate Clustering Protocol)」 を使用するのが一般的です。設定も同期されますし、セッションも引き継がれるため、これを使わない手はありません。

しかし、「あえて VRRP を使わなければならない」シーンが存在します。

他社ベンダーとの冗長化

Cisco ルータと FortiGate で冗長構成を組みたい場合

移行期間の並行稼働

旧ルータから新 FortiGate へ、ゲートウェイを徐々に切り替えたい場合

特殊な L2 設計

異なる拠点間でゲートウェイを共有したい場合など

本記事では、オープンスタンダードな冗長化プロトコルである VRRP(Virtual Router Redundancy Protocol)を FortiGate で設定する方法について解説します。

この記事でわかること
  • HA(FGCP)と VRRP の決定的な違いと使い分け
  • 実務で使える VRRP の CLI 設定手順(Master/Backup)
  • 回線障害時に自動で切り替える 「経路監視(vrdst)」 の設定

FortiGate HA(FGCP)と VRRP の違い

FortiGate には、メーカー独自の強力な高可用性機能 「HA(FGCP)」 が備わっています。 そのため、単に「FortiGate 2台で冗長化したい」という要件であれば、迷わず HA を使うべきです。

一方、VRRP はあくまで「ゲートウェイの IP アドレスを共有する」だけの機能です。 両者の決定的な違いは、「設定や通信状態(セッション)が同期されるかどうか」 にあります。

機能比較表

項目HA(FGCP)VRRP
同期機能あり(設定・ログ・セッション)なし(完全に独立して動作)
設定の手間Master のみ設定すれば同期される各機器で個別に設定が必要
切り替わりシームレス(通信断ほぼなし)通信断が発生(再接続が必要)
互換性FortiGate 同士のみ他社製品と混在 OK(標準規格)
構成台数通常 2台(最大4台)制限なし(理論上255台)

使い分けのポイント

HA(FGCP)を選ぶべきケース
  • FortiGate 同士で冗長化を組む場合(基本はこちら)
  • 障害時も Web 会議や VPN を切断させたくない場合(セッション同期が必要な場合)
  • 設定を一元管理して運用を楽にしたい場合
VRRP を選ぶべきケース
  • マルチベンダー構成: 「メインは Cisco ルータ、バックアップは FortiGate」といったメーカー混在環境
  • システム移行: 稼働中の既存ルータ(他社製)を残したまま、新 FortiGate を追加してゲートウェイを切り替えたい場合
  • 設定の分離: 2台で全く異なるポリシーや設定を入れて運用したい場合

VRRP 設定例

STEP
Master(Primary)側の設定

まずは、通常時に通信を処理するメイン機(Master)の設定です。 VRRP では 「Priority(優先度)」 という数値が最も大きい機器が Master に選ばれます。FortiGate の最大値である 255 を設定して、確実に Master になるようにします。

前提:

  • 物理 IP: 192.168.100.251
  • 仮想 IP(VRIP): 192.168.100.254
  • インターフェース: port3
config system interface
    edit "port3"
        set vdom "root"
        set ip 192.168.100.251 255.255.255.0
        set allowaccess ping
        
        # ▼ ここから VRRP の設定
        config vrrp
            edit 1
                # ▼ 仮想 IP アドレス (GatewayとしてPCに設定するIP)
                set vrip 192.168.100.254
                
                # ▼ 優先度 (最大値 255 に設定)
                set priority 255
                
                # ▼ VRRP グループ ID (他社機と合わせる必要があります)
                set vrid 1
            next
        end
    next
end
STEP
Backup(Secondary)側の設定

次に、障害時に備えて待機する予備機(Backup)の設定です。 Master よりも低い Priority を設定することで、「自分は控え選手だ」と認識させます。

前提:

  • 物理 IP: 192.168.100.252
  • 仮想 IP(VRIP): 192.168.100.254(Masterと同じ)
config system interface
    edit "port3"
        set vdom "root"
        set ip 192.168.100.252 255.255.255.0
        set allowaccess ping
        
        # ▼ ここから VRRP の設定
        config vrrp
            edit 1
                # ▼ 仮想 IP は Master と同じ
                set vrip 192.168.100.254
                
                # ▼ 優先度 (Masterより低い値を設定)
                set priority 100
                
                # ▼ グループ ID も合わせる
                set vrid 1
            next
        end
    next
end

【設定まとめ】Master と Backup の比較

Master と Backup の設定の違いは、基本的に 「自身のIP」「Priority(優先度)」 の2点だけです。

設定項目Master(FG01)Backup(FG02)備考
物理 IP192.168.100.251192.168.100.252機器固有のアドレス
仮想 IP(VRIP)192.168.100.254192.168.100.254同じにする
VRID11同じにする
Priority255 (最高)100 (低)ここが重要

Config 比較

Master(FG01)
config system interface
    edit "port3"
        set vdom "root"
        set ip 192.168.100.251 255.255.255.0
        set allowaccess ping
        config vrrp
            edit 1
                set vrip 192.168.100.254
                set priority 255
                set vrid 1
            next
        end
    next
end
Backup(FG02)
config system interface
    edit "port3"
        set vdom "root"
        set ip 192.168.100.252 255.255.255.0
        set allowaccess ping
        config vrrp
            edit 1
                set vrip 192.168.100.254
                set priority 100
                set vrid 1
            next
        end
    next
end

💡 ポイント:Preempt(切り戻し)設定について

VRRP には 「Preempt (プリエンプト)」 という機能があります。 これは、Master がダウンして Backup が昇格した後、「Master が復旧したら、即座に Master の座を奪い返す(切り戻る)」 機能です。

  • デフォルト: enable(有効)になっています。
  • 動作: 復旧した Master(Priority 255)が見つかると、Backup(Priority 100)は自動的に待機状態に戻ります。

通常はそのままで構いませんが、頻繁に回線が瞬断するような環境でパタパタと切り替わるのを防ぎたい場合は、あえて set preempt disable を設定することもあります。

重要機能:経路監視(vrdst)で障害時に切り替える

VRRP を設定する際、多くの人が陥る落とし穴があります。 それは、「ルータの電源が落ちたら切り替わるが、インターネット回線が切れても切り替わらない」 という事象です。

なぜ監視が必要なのか?

VRRP は標準では「自身のインターフェースが UP か DOWN か」しか見ていません。 そのため、FortiGate の先に繋がっている ONU や ルータが故障しても、FortiGate との間の LAN ケーブルさえ繋がっていれば、FortiGate は「私は元気です!」と判断し、Master を手放しません。

結果、「Master 機のまま、通信だけができない(ブラックホール化する)」 という事態になります。 これを防ぐのが、経路監視(Dead Peer Detection) です。

監視設定

以前は config system link-monitor という別機能と組み合わせる複雑な設定が必要でしたが、現在は VRRP 設定の中に set vrdst(Virtual Router Destination)を入れるだけで実現できます。

仕組み:

  1. 指定した IP(例: Google DNS 8.8.8.8)へ常時 Ping を飛ばす。
  2. Ping が失敗すると、自身の Priority を下げる
  3. 結果、Backup 機の Priority の方が高くなり、自動的に主導権が移る(フェイルオーバー)

設定コマンド(Master/Backup 共通)

VRRP の設定内に、監視先の IP アドレスを 1行追加するだけです。

config system interface
    edit "port3"
        config vrrp
            edit 1
                # ▼ 監視先の IP アドレス (例: Google DNS)
                set vrdst 8.8.8.8
            next
        end
    next
end
💡 設計のアドバイス
  • 監視先: 直上のルータ(GW)や、信頼性の高い 8.8.8.8 などを設定します。
  • 共通設定: この設定は Master だけでなく、Backup 側にも入れておくことを推奨します(Backup 側の回線が生きていないのに昇格してしまう事故を防ぐため)

ネット上の古い記事には config system link-monitor を使う方法が書かれていることがあります。

Link Monitor: インターフェースそのものをダウンさせたり、ルーティングを制御したりする汎用機能。VRRP と連携させるには設定が複雑

vrdst(推奨): VRRP 専用の監視機能。設定がシンプルで、VRRP のステータス変更に直結するため、基本はこちらを使えば OK です。

動作確認コマンドと見方

設定が完了したら、以下のコマンドを使ってステータスを確認しましょう。

① VRRP ステータスの確認

最も基本的なコマンドです。自分が現在 Master(Primary)なのか Backup なのかを確認します。

get router info vrrp

▼ Master 機の表示例(正常時)

Interface: port3, primary IP address: 192.168.100.251
  VRID: 1
    vrip: 192.168.100.254
    priority: 255, state: PRIMARY  <-- ★ここを確認!
    vrdst: 8.8.8.8

▼ Backup 機の表示例正常時

Interface: port3, primary IP address: 192.168.100.252
  VRID: 1
    vrip: 192.168.100.254
    priority: 100, state: BACKUP   <-- ★ここを確認!
  • state: PRIMARY なら稼働中、BACKUP なら待機中です。
  • priority: 設定通りの値になっているか確認します。もし Master 機なのに priority が下がっている場合、監視機能 (vrdst) が作動している可能性があります。

② 監視状況の確認 (Ping ステータス)

set vrdst で設定した監視先に、ちゃんと Ping が届いているかを確認するコマンドです。 (※ vrdst は内部的に link-monitor の仕組みを使用しているため、このコマンドで確認できます)

diagnose sys link-monitor status

▼ 表示例

Link Monitor: vrrp-1-1, Status: alive  <-- ★ここを確認!
  Peer: 8.8.8.8(8.8.8.8)
    protocol: ping, state: alive
    Packet lost: 0.000%                <-- パケットロス率
    Latency(Min/Max/Avg): 3.6/4.6/4.1 ms
  • Status: alive なら OK。die になっていると監視失敗(=障害とみなされている状態)です。
  • トラブルシュート: もし勝手にフェイルオーバーしてしまう場合は、ここの Packet lost を見て、回線品質が悪くなっていないか確認しましょう。

まとめ

本記事では、FortiGate における VRRP(Virtual Router Redundancy Protocol)の設定方法について解説しました。

  • 適材適所: 基本は「HA (FGCP)」ですが、他社製品との連携や特殊な要件では「VRRP」が必要になります。
  • 違いを理解: セッション同期がない(通信断がある)ことを理解した上で設計しましょう。
  • 監視は必須: set vrdst を忘れずに設定し、”サイレント障害” を防ぎましょう。

VRRP は古いプロトコルですが、シンプルゆえに汎用性が高く、知っておくとネットワーク設計の幅が広がります。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次