最近構成したWatchGuard Fireboxがあります。すべてのポリシーは正常に見え、すべての適切なサービスは正しく機能しているようです。
ただし、1つまたは2つの(一見)ランダムノードが1:1 NATホストへのHTTP要求をブロックし続け、他のすべてのノードが問題なく実行します。
ファイアウォールログは、tcp syn checking failed
、およびこれらの要求は、アプライアンスの背後にあるクライアントには宛先ポート64を使用し、外側にあるクライアントにはポート50を使用します。私はついにこのオプションを見つけて、グローバル設定で無効にしました(これは私の口に悪い味を残します)、そしてそれはトリックをしたようです。
ただし、このトピックに関するドキュメントは非常に薄いです。 tcp synチェックが何をするのか、そしてそれをグローバルに無効にするのではなく、ポリシーで適切に許可する方法を誰かが私に正確に説明できますか(もちろん、そこにisグローバルルールよりも優雅なソリューション)?
ウォッチガードから:
TCPSYNチェック
グローバルTCP SYNチェック設定は次のとおりです。有効TCP SYNチェックこの機能により、TCP 3方向ハンドシェイクFireboxがデータ接続を許可する前に実行されます。
だから私はウォッチガードが何らかの理由で通常のsyn/syn ack/ackが発生するのを見て接続を殺していないと想像します。
私はWatchGuardで働いています。 SYNチェックは、TCPハンドシェイクが他のトラフィックを許可する前に行われたことを確認するためのものです。これがオフになっていても、TCPハンドシェイクが完全な状態を正しく観察し、TCP SYNフラッド保護に影響を与えません。オフにしても安全です。
TCP WatchGuardのタイムアウトがサーバー/クライアント接続のタイムアウトよりも短いためにトリガーされることがよくあります。サーバー/クライアントが再度通信すると、WatchGuardは接続が閉じられていると見なし、 TCPハンドシェイクをもう一度参照してください。