FortiGate

【禁断の異機種間HA】FortiGate-60F/60EでHAを組んでみた!

この記事は投稿日から1年以上経過しています。

こんにちは。takiです。

タイトルの通り今回もやってみた系の記事となります。

経緯としては、FortiGateのHAで検索すると様々な記事で「同モデル、同バージョンのFortiOSでないとHAは組めない」と書かれていました。

2023/09/27更新:
しかし、Fortinet社の公式ドキュメントを見てもそのような記載はなく、実際の所どうなんだろうと疑問に思ったので今回実機を使って検証を行ってみました。

Fortinet社の公式ドキュメントに下記の通り記載がありました。大変失礼しました。
ご指摘いただき、誠にありがとうございました。

「All FortiGates in the cluster must be the same model and have the same firmware installed. Cluster members must also have the same hardware configuration (such as the same number of hard disks). 」


-FGCP,FORTINET DOCUMENT LIBRARY

参考:FGCPについて

前提条件

※本記事では実機を用いた独自の検証結果をもとに記載しており、メーカーの見解と異なる可能性があります。

※本記事を基に環境を作成された際に発生するいかなる不具合・故障について、弊社グループでは一切の責任を負いかねます。

今回行った検証環境は以下の通りです。

プライマリ機:FortiGate-60F/FortiOS7.0.8 build0418

セカンダリ機:FortiGate-60E/FortiOS7.0.8 build0418

図 1 環境構成図

手順

初めに各機のインターフェース設定は下図の通りです。

図 2 プライマリ機:FGT-60F

図 3 セカンダリ機:FGT-60E

インターフェースの用途はそれぞれ以下の通りです。

インターフェース名 用途
WAN1 トラフィック用
internal1 HAハートビート用
internal2 HAハートビート用
internal3 管理予約インターフェース

 

HA設定を行います。

「システム」>「HA」に移動し、以下のように設定します。

設定後は以下のように表示されます。

同様にセカンダリ側も設定します。

セカンダリ機にするため、プライオリティを100(プライマリ機では200)とします。

設定後、HAの同期が始まるため以下のようになり、セカンダリ機に管理アクセスが行えなくなります。

プライマリ機側では60Eが認識されてます。

セカンダリ機に管理アクセスするために、プライマリ機側から管理インターフェースの設定を行います。

(※今回の環境では、管理予約インターフェースに設定するIPアドレスのセグメントがWAN1インターフェースと同じなため、HAを組んでからの設定となります。)

設定後、セカンダリ機の管理予約インターフェースに設定したIPアドレス「172.23.61.165」にHTTPSでアクセスします。

ログイン後、HAの設定を確認するとセカンダリ機側でもHAが認識されています。

※コンフィグが同期されたため、60Eのテーマが変わっています。

結果

今回の検証では異なるモデル同士でもHAを組むことが出来ました。

60Fをプライマリ、60Eをセカンダリとしており、下図がセカンダリ機のHA画面になります。

(※60Eの画面のため型番名が両方とも60Eになっています)

ステータスが「未同期」となっていますが、これは60Eと60Fではインターフェース名が異なるため、system.interfaceの部分でどうしてもHAが未同期となってしまいます。

(※60Eのinternal6,7が、60Fではa,b表記の為)

参考までに60Fと60Eのデータシートのリンクは貼っておきます。

・FortiGate-60F

https://www.fortinet.com/content/dam/fortinet/assets/data-sheets/ja_jp/FGT60FDS.pdf

・FortiGate-60E

https://www.fortinet.com/content/dam/fortinet/assets/data-sheets/ja_jp/FGT60EDS.pdf

HAのステータスを確認するコマンド、「get system ha status」の結果は以下の通りです。

FGT-60F # get sys ha status

HA Health Status: OK

Model: FortiGate-60F

Mode: HA A-P

Group: 128

Debug: 0

Cluster Uptime: 0 days 21:42:21

Cluster state change time: 2022-11-22 17:35:30

Primary selected using:

<2022/11/22 17:35:30> FGT60FXXXXXXXXX is selected as the primary because its override priority is larger than peer member FGT60EXXXXXXXXX.

ses_pickup: enable, ses_pickup_delay=disable

override: enable

Configuration Status:

FGT60FXXXXXXXXX(updated 1 seconds ago): in-sync

FGT60EXXXXXXXXX(updated 1 seconds ago): out-of-sync

System Usage stats:

FGT60FXXXXXXXXX(updated 1 seconds ago):

sessions=19, average-cpu-user/nice/system/idle=1%/0%/0%/98%, memory=41%

FGT60EXXXXXXXXX(updated 1 seconds ago):

sessions=1644167169, average-cpu-user/nice/system/idle=41%/0%/0%/0%, memory=31%

HBDEV stats:

FGT60FXXXXXXXXX(updated 1 seconds ago):

internal1: physical/1000auto, up, rx-bytes/packets/dropped/errors=5385302922/23653106/0/0, tx=241558566769/162849068/0/0

internal2: physical/1000auto, up, rx-bytes/packets/dropped/errors=29401951/74046/0/0, tx=29907830/74051/0/0

FGT60EXXXXXXXXX(updated 1 seconds ago):

MONDEV stats:

FGT60FXXXXXXXXX(updated 1 seconds ago):

wan1: physical/1000auto, up, rx-bytes/packets/dropped/errors=427859171/2873803/0/0, tx=439919144/1802764/0/0

FGT60EXXXXXXXXX(updated 1 seconds ago):

Primary     : FGT-60F         , FGT60FXXXXXXXXX, HA cluster index = 0

Secondary   :                 , FGT60EXXXXXXXXX, HA cluster index = 1

number of vcluster: 1

vcluster 1: work 169.254.0.1

Primary: FGT60FXXXXXXXXX, HA operating index = 0

Secondary: FGT60EXXXXXXXXX, HA operating index = 1




FGT-60F #

フェイルオーバーも可能です。

モニターインターフェースであるプライマリ機のWAN1インターフェースを手動で抜線します。

60FのWAN1がリンクダウンし、60Eのロールがプライマリになっているのが確認できます。

不安定な動作

ここまではうまくいっていましたが、何回か動作を確かめているうちに以下の不安定な事象が発生しました。

①60Eがセカンダリの時のみ、NTP時刻同期が出来なくなる。
➁セカンダリ機の管理画面のセッションが頻繁に切れる(60F/60Eともに)。

 

①については、通常Active-Passive構成のセカンダリ機の時刻同期はプライマリ機に問い合わせされますが、60Eがセカンダリの場合のみなぜか時刻同期が出来なくなります。

プライマリ機である60FのNTPは時刻同期が出来ています。

HAを切り替えて60Eをプライマリにすると時刻同期が出来、セカンダリとなった60Fでも時刻同期が出来ているため、特有の事象と思われます。

 

②については、60F/60Eのどちらがセカンダリであろうと管理インターフェースに設定したIPアドレスに対して、HTTPSのアクセスを行うとセッションが頻繁に切れて、ログイン画面に戻ってしまいます。

これに関しては体感となりますが、ログインしてから30秒~1分ほどでログイン画面に戻されます。

アイドルタイムアウトは60分に設定しているので、通常は何も操作していない状態でも60分はログイン画面に戻されないはずです。

まとめ

同バージョン/異同モデルの構成でHAを組んでみました。

HA自体は組めて、コンフィグ同期、フェイルオーバーも動作することが確認できました。

しかしながら、前章でも記述したようにNTPの時刻同期と管理画面のセッションタイムアウトが頻繁に発生してしまうため、運用で使用するには難しいと思われます。

また、今回の構成がたまたまHAが組めただけの可能性もあり、別のバージョンや別のモデル同士(100Fと100E)ではうまくいくかは分かりません。(※同様に別の構成であればさらにうまくいく可能性もありますが、、)

最後に、今回の記事はやってみた系の記事となりますので、上記の具体的な原因については深堀が出来ておりません。今後、機会があれば詳細なログ調査を記事にしようかと思います。

記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。

当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。

LogStare CollectorでのCloudTrail管理イベントログの取得方法とログレポート前のページ

DNSキャッシュポイズニングやってみた次のページ

ピックアップ記事

  1. IoT機器「Raspberry pi」とLogStare Collectorで温…
  2. Zabbixヒストリデータのレポート生成について
  3. ログフォワーダー「okurun.jar」について
  4. 自社製品をAMIにしてAWSマーケットプレイスへ出品

関連記事

  1. NW機器

    FortiGateにおけるTLS通信を利用したSYSLOG送信方法

    当記事では、FortiGateにおけるTLS通信を利用してSyslog…

  2. 実践記事

    初学者が一番初めに読むべき正規表現入門

    この記事では正規表現を知らない方に向けて簡単な例と共に解説します。…

  3. FortiGate

    FortiGateをREST APIを用いて監視しよう(後編)

    本記事では前後編にわたり、REST APIを使ってFortiGateを…

  4. NW機器

    FortiOS v5.6.6におけるログ出力仕様の変更について

    FortiOS v5.6.6より、従来のログ出力方式に仕様変更が行われ…

  5. FortiGate

    FortiGate 取得するべきSNMPトラップの種類と監視方法

    本記事では、以下の内容を取り上げています。- FortiGateに…

月額200円でM356の監査ログの運用レベルUP LogStare M365

AWSのログ分析・モニタリングに 次世代のマネージド・セキュリティ・プラットフォーム LogStare

  1. デフォルト画像イメージ

    FortiGate

    FortiGateのSD-WAN設定について
  2. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  3. 実践記事

    DNSキャッシュポイズニングやってみた
  4. ログ分析・監視テクニック

    nProbeであらゆる通信をログに記録し可視化する
  5. NW機器

    SonicWall UTMにSyslog送信設定を追加する方法について
PAGE TOP