
私は最初にiptablesに触れ、ここ数年間CLIがどのように変わったのか混乱しています。同じことを行いますが、構文の異なる多くの例を見てください。
これらはまったく同じ、またはそれらの間にわずかな微妙な違いがあります。
-p tcp -m state --state NEW
-p tcp -m conntrack --ctstate NEW
-p tcp -m tcp --syn
/-p tcp --syn
私が使用するものとまったく同じであれば、-p tcp --syn
構成は単純化/短縮されます。
答え1
からman iptables-extensions
:
状態
「state」拡張は「conntrack」モジュールのサブセットです。 「state」は、このパケットの接続追跡状態へのアクセスを許可します。
[!] -- 状態状態
ここで、stateは、一致させる接続状態のカンマ区切りリストです。 「conntrack」が理解できない状態のサブセットであるINVALID、ESTABLISHED、NEW、RELATED、またはUNTRACKEDのみが認識されます。これについては、このマンページの「conntrack」のタイトルを参照してください。
[...]
つながる
このモジュールを接続追跡と組み合わせて使用すると、そのパケット/接続の接続追跡状態にアクセスできます。
[!] --ctstate ステータスリスト
statelistは、一致させる接続状態のカンマ区切りリストです。可能な状態は次のとおりです。 [...]
[...]
伝送制御プロトコル
これらの拡張は、「--protocol tcp」が指定されている場合に使用できます。次のオプションを提供します。
[!] --syn
SYNビットがセットされ、ACK、RST、およびFINビットがクリアされたTCPパケットのみが一致します。これらのパケットは TCP 接続の開始を要求するために使用されます。たとえば、これらのパケットがインターフェイスに入らないようにブロックすると、着信TCP接続はブロックされますが、発信TCP接続は影響を受けません。
したがって、最初の2つは同じで、最後のものは別の操作を実行します(これを使用して詰まったたとえば、TCP接続を試みます)。