次のiptablesルールが正確に何をするのか知りたいですか?なぜそれが必要なのですか?
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ESTABLISTED状態は、既存の接続の一部であるすべてのパケットが通過できるようにします。 RELATED状態では、既存の接続に関連する新しいセカンダリ接続を作成できます。これにより、たとえば、制御接続がポート21にあり、データポートがプロトコルによってネゴシエートされるFTPデータ転送が可能になります。
上記のコメントのいくつかが示唆するよりも少し複雑です。
state ESTABLISHED
は、「接続が開いたら、残りのパケットを通過させる」ことを意味しますが、ここでの「接続」は同期性によって定義されることに注意してください。パケットは、ある既知のアドレス/ポートペアと別の既知のアドレス/ポートペアの間を移動します。 「ESTABLISHED」として定義されます。有名なスリーウェイTCPハンドシェイクは入りません。
state RELATED
は、それが何をするのかを本当に理解していない多くの人々によってカーゴカルトされているようです。これには通常、既存の接続(試行)に関連するICMPトラフィックが含まれます。たとえば、ファイアウォールから戻ってくるICMP-Host-administratively-unreachableパケットが、禁止ボックスへの接続要求をブロックしています。
ただし、nf_conntrack_ftp
などのカーネルモジュールのグループもあり、ロード時にRELATED
トラフィックの定義を動的に拡張します(特定のモジュールはftp制御チャネルトラフィックのレイヤー4検査を実行し、DATAを探します) DATAチャネルの差し迫った開始を警告し、それらのパケットが到着したときに一致するステートメント)。
必要であることがわかっている場合を除いて、notRELATED
トラフィックを一般的に許可することをお勧めしますが、代わりにRELATED
ステートメントを必要なトラフィックに制限します(例:-p icmp
)。