FortiGate vrrp設定例¶
[更新: 2024年5月29日]
1. 概要¶
弊社による検証データの一部を公開した記事掲載となります。参考までにご利用ください。
注釈
お客様個別の要件定義、設計、開発・設定補助に関するサポートは、FortiGateVMのライセンスサービスに含まれません。上記、ご注意ください。
1.1 検証条件¶
- 本掲載による構成は、後述のvrrpを予定するためルータ+スイッチを利用前提となります。
- 本掲載による事前検証は、さくらのクラウド環境により実施された内容です。
- vrrpの設定は其々のアプライアンスに必要ですが、基本masterの設定を記載のうえ省略した掲載となります。
- FortiGateは、GUIとCLIのサポートとなります。掲載はCLI、GUIを適宜使い分け掲載いたします。
- 本掲載により利用された検証環境のFortiOSは、両系ともに7.0.12です。
- コマンドの一部は、<>記載により抽象化、強調記載を行います。お客様が入力を行う際は<>を削除、入力します。
2. vrrpの設定¶
本項目は、vrrp設定の一部について、解説します。
注釈
vrrpの設定は、CLIによる操作が必要です。
2.1 インターフェースへのvrrp設定¶
ssh接続、またはGUI管理画面のCLIコンソールから設定を実施します。下記は設定の参考コマンドです。
インターフェースのコマンド(master)
masterへ設定後、backupにも同様に設定を実施します。
Fortisacloud_master # config system interface
Fortisacloud_master (interface) # edit <対象port>
Fortisacloud_master (port1) # config vrrp
Fortisacloud_master (vrrp) # edit <識別子(数字 1-255)>
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アドレスを設定します。
インターフェースの編集画面
ネットワーク
>>> インターフェース
>>> 対象ポート
>>> アドレス
2.2.2 CLIによる設定¶
CLI操作は、secondaryipの項目を設定します。
インターフェース(master)
Fortisacloud_master # config system interface
Fortisacloud_master (interface) # edit <対象port>
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設定¶
本項目は、VIPに着信したアクセスをDNATによりインライン配下の仮想サーバーへアクセスさせる設定を解説します。
注釈
本解説は、事前にローカルネットワーク、各インターフェースへvrrpの設定済として一部記載を省略します。
3.1 バーチャルIPの設定¶
DNATに利用するバーチャルIPを設定します。
注釈
一部設定が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
注釈
arp-reply
は、CLIのみで変更可能、標準では有効(enable)です。vrrpを利用する際は、MACアドレスのARPリクエストを変更します。
https://community.fortinet.com/t5/FortiGate/Technical-Tip-ARP-reply-setting-in-Virtual-IP-IP-Pool/ta-p/192527?externalID=FD38566
3.2 ファイアウォールの設定¶
作成したバーチャルIPを利用、ファイアウォールの設定を行いNATとアクセス許可を行います。
参考例では、事前に送信元を国内に限定、設定を行います。
注釈
本記載ではJPをロケーションとするアドレス定義の設定を省略します。
3.2.1 GUIによるファイアウォール設定¶
GUIによるファイアウォールの設定は、下記のメニュー順に操作、ポリシーを設定します。
新規ポリシー編集画面
ポリシー&オブジェクト
>>> ファイアウォールポリシー
>>> 新規作成
ポリシーの編集画面により各項目を入力します。送信元に国内指定したアドレス設定、宛元に作成したバーチャルIP設定、を行います。
注釈
インスペクションモードは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
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機側に記録された状態遷移発生のログです。