FortiGate

FortiGateのGARP(Gratuitous ARP)の送信タイミングについて検証してみた!

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

こんにちは、takiです。

直近の案件で別チームがUTMのリプレイス時にARPキャッシュ問題に引っ掛かっていたので、FortiGateではどうだろうと思い検証してみました。

検証機

型番:FortiGate 60F
OS :FortiOS v6.4.6 build1879 (GA)

GARP(Gratuitous ARP)とは?

ネットワーク層のプロトコルであり、以下の2点で使用されます。
①自分が使用するIPアドレスが他の機器と重複していないかを確認する
②同一セグメントに存在するネットワーク機器のARPテーブル(キャッシュ)を更新させる

ARPテーブルとは、IPアドレスとMACアドレスの対応表のことです。
機器のリプレイス時には、新機器に旧機器の設定を入れるため、IPアドレスは変わりませんがMACアドレスが変更になる場合があります。この時に新機器からGARPを送信することで同一セグメントのネットワーク機器に自身のMACアドレスが変わったことを周知させることができるのです。

GARPの送信タイミング

結論から言うと、今回の検証でGARPの送信が確認出来たのは次の通りです。

・機器の起動時
・インターフェースへのIPアドレス設定時
・バーチャルIPの設定時
・IPプールの設定時(※1)
・HA切り替わり時
※1「ARPリプライ」が有効の場合

上記のそれぞれのタイミングで設定したIPアドレスに対応するインターフェースからGARPが送信されます。

今回の検証方法としては、同一セグメント内のLinuxにてパケットキャプチャを実行し、上記に挙げたそれぞれのタイミングでGARPが流れてくるかを確認しました。

例として、バーチャルIPの作成時を紹介します。
同一セグメントに存在するLinuxサーバ上でtcpdumpを実行した状態で、60FにIPアドレス「172.23.61.165」のバーチャルIPを設定します。

実行結果は次の通りです。

# tcpdump -ne -i ens192 dst host 172.23.61.165 and arp -vvv
tcpdump: listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes16:19:27.492775 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46

60Fに設定したIPアドレス"172.23.61.165"から「172.23.61.165を使用している機器は誰ですか?」というARPリクエストをブロードキャストしているのが分かります。

tcpdumpで使用した各オプションの意味は以下の通りです。

-n:名前解決を実行しない
-e:リンクレベルのヘッダを表示
-i:監視するインターフェースを指定

当り前ですが、ここで設定したバーチャルIPのMACアドレスは、同一セグメントであるwan1のMACアドレスと同じです。

また、オブジェクトのIPアドレスの変更時にも同様にGARPが流れてくるのが確認できました。

GARPを定期的に送信する方法

上記の他に、バーチャルIPのみGARPの送信インターバルを設定することができます。
設定可能値は5秒~8640000秒です。
CLIでFortiGateにログインします。

FGT-60F (root) # config firewall vip
FGT-60F (vip) # edit GARP_test_VIP
FGT-60F (GARP_test_VIP) # set gratuitous-arp-interval 5
FGT-60F (GARP_test_VIP) # end
FGT-60F (root) #

設定後、5秒間隔でGARPが送信されているのが分かります。

# tcpdump -ne -i ens192 dst host 172.23.61.165 and arp -vvv
tcpdump: listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
17:50:32.519323 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46
17:50:37.549458 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46
17:50:42.569591 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46
17:50:47.589519 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46
17:50:52.609721 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46
17:50:57.629680 e0:23:ff:69:74:b6 > Broadcast, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 172.23.61.165 tell 172.23.61.165, length 46

止めたい場合は、unsetで無効化できます。

おわりに

今回5つのタイミングでGARPが送信されるのを確認できましたが、以下のタイミングではGARPの送信がされませんでした。

・アドレスオブジェクトの新規作成・編集時
・ポリシーへのオブジェクト適用時
・オブジェクトの削除時

Fortinet社のナレッジでもGARPの仕様があまり記載されていないため、この記事がどなたかのお役に立てれば幸いです。

参考

https://docs.fortinet.com/document/fortigate/6.4.8/cli-reference/294620/config-firewall-vip

 

 

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

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

LSC v2.3.2 build 220823 リリースノート前のページ

CloudWatch Logs収集に必要な権限について次のページ

ピックアップ記事

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

関連記事

  1. NW機器

    FortiGateのVDOM毎にログの転送先syslogサーバ指定を行う設定について

    当記事では、FortiGateのVDOM毎にログの転送先syslogサ…

  2. NW機器

    Fortinet製品における認証バイパスの脆弱性(CVE-2022-40684)に対するFortiO…

    ※本記事の内容は、2022年10月18日現在の公開情報およびセキュアヴ…

  3. FortiGate

    FortiGateのCPU使用率が高い時の対応

    FortiGate(フォーティゲート)のCPU使用率の上昇時に確認する…

  4. FortiGateの冗長化構成におけるha-direct設定方法について

    NW機器

    FortiGateの冗長化構成(HA構成)におけるha-direct設定について

    当記事では、冗長構成(HA構成)のFortiGateにおけるha-di…

  5. 実践記事

    LogStare Reporter-レポート作成キャンペーン「LogStareチャレンジ」やってみた…

    当記事では、LogStareチャレンジを開始するまでの環境構築手順につ…

  6. FORTIGATEのAUTOMATION機能を用いてTEAMSへ通知

    NW機器

    FortiGateのAutomation機能を用いてTeamsへ通知してみた

    当記事では、FortiGateのAutomation機能を設定し、Mi…

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

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

  1. 実践記事

    DNSキャッシュポイズニングやってみた
  2. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  3. デフォルト画像イメージ

    FortiGate

    FortiGateのSD-WAN設定について
  4. AWS/Azure

    AWSマーケットプレイス上から無償版のLogStare Collectorを試す…
  5. NW機器

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