Tracear reglas IPTables

En el mundo de las conexiones de red y de los filtros que IPTables puede hacer, hay veces que se nos puede escapar algún paquete y que no sepamos exactamente qué regla es la que está haciendo el comportamiento anómalo. Si esto pasa, depurarlo puede ser complejo y llegarnos a hacer perder bastante tiempo.
Todos los que alguna vez hemos tocado IPTables solemos usar en la opción de qué hacer con el paquete (-j), la cadena DROP, REJECT, ACCEPT, LOG, CONNMARK, y alguna más que otra más. Sin embargo, si bien es cierto, que por ejemplo LOG y CONNMARK pueden ayudar a depurar, no están pensadas exactamente para eso.

Entonces, ¿cómo seguimos un paquete a través de las reglas?

Pues bien, para hacer exactamente eso, tenemos la opción TRACE, que se carga al incluir el módulo ipt_LOG. Esta nueva regla se usa tal que así,
shell> iptables -A PREROUTING -t raw -p icmp -j TRACE
Y permite rastrear las reglas y tablas por las que pasa un paquete. El formato de salida:
TRACE: tablename:chainname:type:rulenum"
y toda la información queda depositada en syslog, para su posterior análisis. La única condición para habilitarlo es que se aplique sobre la tabla raw.

Desde mi punto de vista es una opción un tanto desconocida, pero muy útil si necesitas ver dónde te has equivocado en el filtrado de los paquetes, especialmente cuando estamos hablando de que IPTables está manejando un elevado número de reglas.
Para más información sobre el uso de TRACE, consultar el man de iptables.

La entrada Tracear reglas IPTables la puedes leer en Puppet Linux.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios