iptablesには、管理者がconnection tracking と言う方法で内部ネットワーク上で使用できるサービスへの接続を 検査したり制限したりできるようにするモジュールが含まれています。Connection tracking は、接続を表にして保存する為、これにより管理者は次ぎの接続状態に 応じてアクセスを許可したり、許可したりすることができます:
NEW — HTTP 要求などの新規の接続を要求する パケット
ESTABLISHED — 既存接続の一部であるパケット。
RELATED — 新規の接続を要求しているが、既存接続の 一部であるパケット。この例として、接続ポートがは20であるが、フォワードポートが 未使用の1024 又はそれ以上であるパッシブ FTP 接続があります。
INVALID — connection tracking 表内でのいずれの接続の 一部でもないパケット。
プロトコル自身がステートレスでも(UDP など)、いずれかのネットワークプロトコルの あるiptablesの connection tracking ステートフルな機能を 使用できます。次ぎの例では、connection tracking を使用して確立済の接続に 関連したパケットのみをフォワードするルールを示しています:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ALLOW |