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

 

 

LogStare Collector 無償版

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

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

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

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

ピックアップ記事

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

関連記事

  1. 実践記事

    現役セキュリティエンジニアによる情報処理安全確保支援士試験解説 [ 令和4年度 春期試験 午後Ⅰ ]…

    セキュリティエンジニアを目指す学生の皆様も、既にセキュリティエンジニア…

  2. NW機器

    FortiGateのコンサーブモードについて

    UTMにはコンサーブモード(節約モード)に切り替わる製品があります…

  3. FortiGate

    まずは、FortiGateを監視したい!

    初めてLSCを導入される方が、FortiGate側の準備、LSCをイン…

  4. NW機器

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

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

  5. 実践記事

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

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

  6. FortiGate

    FortiGateのアラートメールの設定方法

    当記事では、FortiGateのCUIからアラートメールの設定から、ア…

LogStare Collector 無償版
月額200円でM356の監査ログの運用レベルUP LogStare M365
AWSのログ分析・モニタリングに 次世代のマネージド・セキュリティ・プラットフォーム LogStare

  1. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  2. SNMPを触ってみた

    ログ分析・監視テクニック

    SNMPとは?新入社員が生まれてはじめて触ってみた!
  3. NW機器

    SonicWall UTMにSyslog送信設定を追加する方法について
  4. AWS/Azure

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

    PaloAltoのIPsec IKEv1 Phase1におけるトラブルシューティ…
PAGE TOP