2.8.7. IPTables と接続追跡 (Connection Tracking)

サービスへの接続の検査と制限は、接続状態に基づいて行うことができます。iptables 内のモジュールは、接続追跡 (connection tracking) と呼ばれる方法を使用して、着信接続についての情報を保存します。以下の接続状態に基づいてアクセスを許可または拒否することができます。
  • NEW — HTTP 要求などの新規接続を要求するパケット
  • ESTABLISHED — 既存の接続の一部であるパケット
  • RELATED — 新規接続を要求しているが、既存の接続の一部であるパケット。例えば、FTP は接続を確立するためにポート 21 を使用しますが、データは異なるポート (通常はポート 20) で転送されます。
  • INVALID — 接続追跡テーブルの接続の一部ではないパケット
プロトコル自体がステートレスな場合でも (UDP など)、 iptables の接続追跡のステートフルな機能を任意のネットワークプロトコルと共に使用することができます。以下の例は、既存の接続と関連付けられたパケットのみを転送するために接続追跡を使用するルールを示しています。
~]# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT