FortiGate

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

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

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

関連記事

  1. FortiGate

    FortiGateのメモリ使用率が高い時の対応

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

  2. FortiGate

    【FortiGate】SNAT時に変換される送信元IPアドレスの選定フロー

    FortiGateのNATを利用する場合に、送信元IPアドレス変換(S…

  3. 実践記事

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

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

  4. NW機器

    PaloAlto/FortiGate/BIG-IPのバージョン情報まとめ

    弊社がよくとりあつかう3つの製品がありますが、採番のクセがあり、混乱し…

  5. FortiGate

    【FortiGate】トラフィックログ生成のタイミングについて

    FortiGateのトラフィックログは、許可トラフィックのセッション開…

  6. FortiGate

    FortiGate NAT設定(VIP)の確認事項

    正しくNATの設計を行わないと、NATが動作しない、意図した送信元IP…

若手エンジニア志望者を募集!
LogStare Collector 無償版
クラウド活用の「困った」「焦った」事例
月額200円でM356の監査ログの運用レベルUP LogStare M365
AWSのログ分析・モニタリングに 次世代のマネージド・セキュリティ・プラットフォーム LogStare

  1. NW機器

    SonicWall UTMにSyslog送信設定を追加する方法について
  2. ログ分析・監視テクニック

    nProbeであらゆる通信をログに記録し可視化する
  3. AWS/Azure

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

    PaloAltoのIPsec IKEv1 Phase1におけるトラブルシューティ…
  5. デフォルト画像イメージ

    FortiGate

    FortiGateのSD-WAN設定について
PAGE TOP