新しい接続を指定するための最新のiptables構文

新しい接続を指定するための最新のiptables構文

私は最初に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接続を試みます)。

おすすめ記事