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

関連記事

  1. 実践記事

    【現場SE奮闘記 vol.1】社内ネットワークで「嵐」が起きたその日

    筆致についてはタイトル毎に統一されていません。あらかじめご了承ください…

  2. NW機器

    FortiGateにおける複数のSyslogサーバへログ転送を行う設定について

    当記事では、FortiGateにおける複数のSyslogサーバへログ転…

  3. AWS/Azure

    自社製品をAMIにしてAWSマーケットプレイスへ出品

    はじめにかねてより弊社製品のAWSマーケットプレイス出品を目論んで…

  4. LSCセキュリティアラート
  5. NW機器

    【FortiGate】インスペクションモードについて

    インスペクションモードとはスループットよりセキュリティを優先させる…

  6. FortiGate

    【2023年版】FortiGateのSSL-VPN設定方法

    こんにちは、takiです。今回は執筆時点(2023/02)での最新…

月額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