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