Índice del artículo

Manipulación de filtros

Resulta evidente que de alguna forma tendermos que namipular los filtros y cadenas que utiliza iptables. La manipulación se basará en instrucciones como añadir o insertar una regla, que ya hemos visto al definir una regla, borrar una regla, borrar todas las reglas de una cadena, crear y borrar una cadena de usuario, etc

Gestión de filtros y cadenas

Mostrar las reglas activas de una cadena

Para mostrar las reglas de una cadena ejecutaermos ipatables con la opción -L. Por ejemplo para mostar todas las reglas de la cadena INPUT podríamos:

 

iptables -L input

Para ver todas las reglas NAT pondríamos

 

iptables -t nat -L

Iptables va a tratar de resolver los nombres de las direcciones IP resultantes. Si esto demora el proceso podemos ejecutarlo con la opción "-n" para que diectamente muestre los números:

 

iptables -L input -n

Vaciar una cadena

Cuando queremos reiniciar una cadena para añadir reglas nuevas tenemos qeu borrar todas las reglas que tiene definidas. para hacerlo tenemos que usar la opción "-F". Si ponemos

 

iptables -F FORWARD

eliminaría toda las reglas de FORWARD definidas.

Borrar una regla de una cadena

Cuando tengamos que borrar una cadena tenemos que usar la opción "-D" de iptables. Esta opción la podemos uar de dos formas,

 

iptables -D  INPUT numero

y eliminaríamos de la cadena INPUT la regla que ocupa la opsición especificada.

También podemos poner

iptables -D descripcion de la cadena

y borrarría la cadena que verificara de forma exacta esa descripción.

Cadenas de usuario

iptables permite definir cadenas propias de usuario para facilitar la gestión. Una cadena de usuario es un conjunto de reglas asociadas una acción definida por el usuario.

Crear una cadena de usuario

Con la opción "-N" de iptables un usuario puede definir una cadena propia a la cual asociarle posteriormente un conjunto de reglas de la misma forma que se hace con las cadenas predefinidas.

En el siguiente ejemplo vamos a definir una cadena llamada TLT que se va a ejecutar, con todas sus reglas cada vez que llegue un paquete dirigido al puerto 23.

 

iptables -N TLT
 
iptables -A TLT -s 192.168.1.0/24 -p tcp --dport 23  -j ACCEPT
iptables -A TLT -s 192.168.0.37 -p tcp --dport 23  -j ACCEPT
iptables -A TLT -s 192.168.0.0/24 -p tcp --dport 23  -j REJECT
 
iptables -A INPUT -p tcp --dport 23 -j TLT

La última línea indica que si un paquete llega para el puerto 23 tiene que pasar todas las reglas correspondientes a TLT.

Borrar una cadena de usuario

Una cadena de usuario se elimina con la opción "-X". Para poder borrar la cadena tiene que estar vacía de reglas. Si quiesiéramos borrar una cadena llamada TLT tendríamos que hacer:

iptables -F TLT

iptables -X TLT