FortiGate vrrp設定例

[更新: 2023年7月20日]

1. 概要

弊社による検証データの一部を公開した記事掲載となります。参考までにご利用ください。

注釈

お客様個別の要件定義、設計、開発・設定補助に関するサポートは、FortiGateVMのライセンスサービスに含まれません。上記、ご注意ください。


1.1 検証条件

  • 本掲載による参考例は、vrrpを予定するためルータ+スイッチを利用します。
  • vrrpの設定は其々のアプライアンスに必要ですが、基本masterの設定を記載のうえ省略した掲載となります。
  • お客様の操作を意図するため、設定例掲載前の検証環境は実際のさくらのクラウド環境により検証がされます。
  • FortiGateは、GUIとCLIのサポートとなります。掲載はCLI、GUIを適宜使い分け掲載いたします。
  • 本掲載により利用された検証環境のFortiOSは、両系ともに7.0.12です。
  • コマンドの一部は、<>記載により抽象化、強調記載をします。実際に入力を行う際は<>を削除のうえ入力ください。

1.2 環境構成図

事前にさくらのクラウドによりサーバー、ネットワーク環境を作成のうえ設定を実施します。

vrrp構成を想定するため、下記の通り同一ネットワークにFortiGateVMを構成します。

構成図

fortigatetips1-01.png

注釈

別途、同一のホスト環境へのVM収容を避けるためgroupタグを利用します。


2. vrrpの設定

本項目は、FortiGateに行うvrrp設定の一部を解説します。


2.1 インターフェースへのvrrp設定

vrrpの設定は、CLIによる操作が必要です。下記は設定の参考コマンドです。

sshによる接続、またはGUI管理画面のCLIコンソールから設定を実施します。

インターフェースのコマンド(master)

masterへ設定後、backupにも同様に設定を実施します。

Fortisacloud_master # config system interface
Fortisacloud_master (interface) # edit <対象ポート>
Fortisacloud_master (port1) # config vrrp
Fortisacloud_master (vrrp) # edit <任意の名前>
new entry '1' added
Fortisacloud_master (1) # set vrip <バーチャルIPアドレス>
Fortisacloud_master (1) # set priority <優先度:標準100>
Fortisacloud_master (1) # show full-configuration
Fortisacloud_master (1) # set adv-interval 5
config vrrp
    edit 1
        set version 2
        set vrgrp 0
        set vrip <バーチャルIPアドレス>
        set priority 255
        set adv-interval 5
        set start-time 3
        set preempt enable
        set status enable
    next
end
Fortisacloud_master (1) # end
Fortisacloud_master (port1) # end
Fortisacloud_master #

注意

さくらのクラウド仕様により設定可能なvrgrp(VRID)の値に制限があります。


2.2 管理画面へのアクセス設定

既存のIPアドレスをデータポートとして活用する際は、管理アクセス用にセカンダリIPアドレスを設定しアクセスを分離することも可能です。

注釈

本記載はログの管理向上やアクセス制限のし易さを想定するためです。この為、他方法など必須ではございません。


2.2.1 GUIによる設定

GUIによるセカンダリIPアドレスの設定は、下記のメニュー順に操作、IPアドレスを設定します。

ネットワーク >>> インターフェース >>> 対象ポート >>> アドレス

インターフェースの編集画面

fortigatetips3-01.png

2.2.2 CLIによる設定

CLI操作は、secondaryipの項目を設定します。

インターフェース(master)

Fortisacloud_master # config system interface
Fortisacloud_master (interface) # edit <対象ポート>
Fortisacloud_master (port1) # set secondary-IP enable
Fortisacloud_master (port1) # config secondaryip
Fortisacloud_master (secondaryip) # edit <任意のID番号>
new entry '1' added
Fortisacloud_master (1) # set ip <グローバルIPアドレス> <サブネットマスク>
Fortisacloud_master (1) # set <許可するプトロコル>
Fortisacloud_master (1) # end
Fortisacloud_master (port1) # end
Fortisacloud_master #

2.3 ステータスの確認

vrrpをmaster/backupに設定後、アドバタイズメントにより切り替わりの処理を開始します。

CLIにより下記のコマンドを利用、設定情報や状態を確認します。

vrrpの確認コマンド(master)

Fortisacloud_master # get router info vrrp
Interface: port1, primary IP address: <MaseterIPアドレス>
UseVMAC: 0, SoftSW: 0, BrPortIdx: 0, PromiscCount: 0
HA mode: primary (0:0:1) VRRP master number: 1
VRID: 1 verion: 2
    vrip: <バーチャルIPアドレス>, priority: 255 (255,0), state: MASTER
    adv_interval: 1, preempt: 1, ignore_dft: 0 start_time: 3
    master_adv_interval: 100, accept: 1
    vrmac: <仮想macアドレス>
    vrdst:
    vrgrp: 0

vrrpの確認コマンド(backup)

Fortisacloud_backup # get router info vrrp
Interface: port1, primary IP address: <BackupIPアドレス>
UseVMAC: 0, SoftSW: 0, BrPortIdx: 0, PromiscCount: 0
HA mode: primary (0:0:1) VRRP master number: 0
VRID: 1 verion: 2
    vrip: <バーチャルIPアドレス>, priority: 100 (100,0), state: BACKUP
    adv_interval: 1, preempt: 1, ignore_dft: 0 start_time: 3
    master_adv_interval: 100, accept: 1
    vrmac: <仮想macアドレス>
    vrdst:
    vrgrp: 0

注釈

vrrpに仮想MACを利用する際は、CLI操作により各インターフェースの設定 vrrp-virtual-mac を有効化してください。


3. NAT設定

本項目は、vrrpのVIPにより着信したアクセスをDNATによりインラインの仮想サーバーへアクセスを解説します。

注釈

本解説は、事前にローカルネットワーク、各インターフェースへvrrpの設定済として一部記載を省略します。


3.1 バーチャルIPの設定

DNATに利用するバーチャルIPを設定します。

注釈

本項目では一部vrrpの際に必要とする一部設定がCLIのみのためCLIによる設定方法を記載します。

バーチャルIPの設定コマンド

Fortisacloud_master # config firewall vip
Fortisacloud_master (vip) # edit <バーチャルIP設定名>
Fortisacloud_master (vrrp_dnat) # set extip <vrrpのバーチャルIPアドレス>
Fortisacloud_master (vrrp_dnat) # set type static-nat
Fortisacloud_master (vrrp_dnat) # set mappedip <NAT先のサーバーアドレス>
Fortisacloud_master (vrrp_dnat) # set extintf port1
Fortisacloud_master (vrrp_dnat) # set arp-reply disable
Fortisacloud_master (vrrp_dnat) # end

注釈

vrrp利用は arp-reply によりmacアドレスの優先順位を変更する必要があります。


3.2 ファイアウォールの設定

作成したバーチャルIPを利用、ファイアウォールの設定を行いNATとアクセス許可を行います。

参考例では、事前に送信元を国内に限定、設定を行います。

注釈

本記載ではJPをロケーションとするアドレス定義の設定を省略します。


3.2.1 GUIによるファイアウォール設定

GUIによるファイアウォールの設定は、下記のメニュー順に操作、ポリシーを設定します。

ポリシー&オブジェクト >>> ファイアウォールポリシー >>> 新規作成

新規ポリシー編集画面

ポリシーの編集画面により各項目を入力します。送信元に国内指定したアドレス設定、宛元に作成したバーチャルIP設定、を行います。

fortigatetips3-02.png

注釈

インスペクションモードは2種類あります。フローベースは軽量な処理を前提とするため機能と処理が簡略化されます。ここでは全ての機能活用と処理簡略化を防ぐためプロキシベースを採用しました。


3.3 ファイアウォールに関する補足

インスペクションモードは、 フローベース プロキシベース の2種類があります。

項目3.2.1の通り其々に特徴があります。下記などを参考にルールを設計し適用ください。

FortiGate document library About inspection modes

https://docs.fortinet.com/document/fortigate/6.2.15/cookbook/721410/about-inspection-modes


4. vrrp構成の注意事項

4.1 異なるゾーン間の冗長

vrrpは同じネットワークセグメント上に構成する必要があります。

異なるゾーンによる冗長を意図する際は、グローバルネットワーク環境が異なるためvrrpでは実現ができません。

GSLBなど他の機能を活用しネットワークの設計ください。

注釈

ブリッジ、ハイブリッド接続などは同じローカルネットワークに属するため仕様制限に接触しません。


4.2 vrrpイベントの監視

死活監視やlink monitorなど複数の方法があります。

また、Fortigateはオートメーションの機能により特定のID発生を検知後、特定のchat通知やwebhookの利用、メール通知、CLIスクリプトの実行が可能です。

FortiGate document library 27001 - LOG_ID_VRRP_STATE_CHG

vrrpの

https://docs.fortinet.com/document/fortigate/7.4.0/fortios-log-message-reference/27001/27001-log-id-vrrp-state-chg

FortiGate document library Automation stitches

監視と組合せを行いvrrpの状態遷移や異常検知を実施ください。

https://docs.fortinet.com/document/fortigate/7.2.5/administration-guide/139441/automation-stitches

イベント ルーターイベント logサンプル vrrpの切り替わり発生に関するログは、ルーターイベントに格納されます。下記はBackup機に記録されたログの抜粋です。

date=2023-07-11 time=18:44:57 eventtime=1689068697656891523 tz="+0900" logid="0103027001" type="event" subtype="router" level="information" vd="root" logdesc="VRRP state changed" interface="port2" msg="VRRP vrid 1 vrip <IPアドレス> changes state from Master to Backup due to ADVERTISEMENT with higherer priority received" utmref=0:1689068697
date=2023-07-11 time=18:44:57 eventtime=1689068697656849245 tz="+0900" logid="0103027001" type="event" subtype="router" level="information" vd="root" logdesc="VRRP state changed" interface="port1" msg="VRRP vrid 1 vrip <IPアドレス> changes state from Master to Backup due to ADVERTISEMENT with higherer priority received" utmref=0:1689068697
date=2023-07-11 time=18:43:12 eventtime=1689068592863523903 tz="+0900" logid="0103027001" type="event" subtype="router" level="information" vd="root" logdesc="VRRP state changed" interface="port2" msg="VRRP vrid 1 vrip <IPアドレス> changes state from Backup to Master" utmref=0:1689068592
date=2023-07-11 time=18:43:11 eventtime=1689068591351739124 tz="+0900" logid="0103027001" type="event" subtype="router" level="information" vd="root" logdesc="VRRP state changed" interface="port1" msg="VRRP vrid 1 vrip <IPアドレス> changes state from Backup to Master" utmref=0:1689068591

注釈

サンプルのlogは、masterを停止、起動した際のbackup機側に記録された状態遷移発生のログです。