iptables incluye un módulo que permite a los administradores inspeccionar y restringir conexiones a servicios disponibles en una red interna conocido como seguimiento de conexiones. El seguimiento de conexiones almacena las conexiones en una tabla, lo que permite a los administradores otorgar o negar acceso basado en los siguientes estados de conexiones:
NEW — Un paquete solicitando una nueva conexión, tal como una petición HTTP.
ESTABLISHED — Un paquete que es parte de una conexión existente.
RELATED — Un paquete que está solicitando una nueva conexión pero que es parte de una conexión existente, tal como las conexiones FTP pasivas donde el puerto de conexión es 20, pero el puerto de transferencia puede ser cualquiera desocupado más allá del puerto 1024.
INVALID — Un paquete que no forma parte de ninguna conexión en la tabla de seguimiento de conexiones.
Puede utilizar la funcionalidad de vigilancia continua de seguimiento de conexiones de iptables con un protocolo de red, aún si el protocolo mismo es sin supervisión (tal como UDP). El ejemplo siguiente muestra una regla que utiliza el seguimiento de conexiones para reenviar solamente paquetes que esten asociados con una conexión establecida:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ALLOW |