新しいTCP接続を一致させるために「--sync」に加えて「--ctstate NEW」を使用する利点

新しいTCP接続を一致させるために「--sync」に加えて「--ctstate NEW」を使用する利点

iptablesのコンテキストで新しいTCP接続を一致させるには、次のものを使用できます。

-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j ACCEPT

しかし、フラグがすでに存在する--ctstate NEW限り、まだ必要ですか?--synつまり、--synパケットは定義上常に新しいものではありませんか?それでは、ヘルスチェックが重複するのでしょうか、それともそれにはどのような利点がありますか?データパッケージは--syn新しいものではないかもしれませんか?

時々、ヘルスチェックが削除される多くの例を読んでいましたが、他の(ほとんどの)テキストではまだ存在します。また、次の関連質問を見つけましたが、特定の質問に対する正確な回答が見つかりませんでした。

新しいTCP接続を一致させるために「--syn」を使用する利点

https://serverfault.com/q/338553

ありがとうございます。

答え1

私はすべての依存チェーンを最初のルールにするので、常にそれを見つけて--syn重複します。--ctstate NEW-m state --state INVALID -j DROP

アイデアは、おそらくあなたが純粋主義者になりたいと思ってTCP / IPスタックに厳密に従うことです。つまり、新しい接続は1つだけである必要があることを意味します。--synつまり、確立された接続内でSYNパケットを送信できません。接続を終了するには、以下を使用する必要があるためです。FIN

関連情報