Como se lleva a cabo el rastreo de conexiones o connection tracking en netfilter/iptables? Como funcionan los estados de una conexión? Como funciona la tabla conntrack? Como se enlaza con el firewall para conseguir un stateful firewall? Estado inválido, eso que es? Estas son algunas de las preguntas que solemos hacernos (yo al menos me las hice) cuando queremos aprender a configurar un firewall basado en netfilter/iptables como es el caso del firewall de Vyatta. Gracias a Netfilter el kernel de Linux mantiene un rastreo de todas las conexiones (connection tracking o conntrack), se puede ver en los archivos /proc/net/ip_conntrack y /proc/net/nf_conntrack y se le llama máquina de estados o máquina de rastreo de conexiones (state machine o connection tracking machine), es una parte especial dentro de iptables y es lo que permite al framework Netfilter saber el estado de una conexión específica y lo que posibilita definir políticas de filtrado (firewall) basadas en el estado de conexión de los paquetes así como el funcionamiento de los servicios NAT y WAN load balancing en el caso de Vyatta.

La fuente clave para esta publicación es el tutorial de iptables de Oskar Andreasson Más >