Este artículo explica cómo borrar reglas de iptables de forma rápida y sencilla.

El comando iptables -nL se utiliza para listar las reglas de todas las cadenas (chains) del firewall. Con -n se indica que la salida sea numérica (direcciones IP y puertos de forma numérica, ya que por defecto iptables trata de mostrar los nombres de host y protocolos):

root@linuxito:~# iptables -nL | head -n 7
Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       all  --  197.89.182.190       0.0.0.0/0
DROP       all  --  49.151.15.172        0.0.0.0/0
DROP       all  --  99.140.105.147       0.0.0.0/0
DROP       all  --  31.148.224.141       0.0.0.0/0
DROP       all  --  168.227.164.252      0.0.0.0/0

Supongamos que se desea borrar la siguiente regla de la cadena INPUT:

DROP       all  --  99.140.105.147

Para borrar reglas, se debe utilizar el comando -D indicando la regla tal como se muestra en la salida de iptables -nL:

root@linuxito:~# iptables -D INPUT -s 99.140.105.147 -j DROP

Se observa que la regla ha sido eliminada:

root@linuxito:~# iptables -nL | head -n 7
Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       all  --  197.89.182.190       0.0.0.0/0
DROP       all  --  49.151.15.172        0.0.0.0/0
DROP       all  --  31.148.224.141       0.0.0.0/0
DROP       all  --  168.227.164.252      0.0.0.0/0
DROP       all  --  41.164.24.122        0.0.0.0/0

Sin embargo, el comando -D tiene dos versiones. La segunda versión permite eliminar una regla simplemente especificando su número (orden) dentro de la cadena. Claro que para ello se debe conocer exactamente el número de regla que se desea eliminar. Para ello, listar las reglas con la opción --line-numbers:

root@linuxito:~# iptables -nL --line-numbers | head -n 7
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  197.89.182.190       0.0.0.0/0
2    DROP       all  --  49.151.15.172        0.0.0.0/0
3    DROP       all  --  99.140.105.147       0.0.0.0/0
4    DROP       all  --  31.148.224.141       0.0.0.0/0
5    DROP       all  --  168.227.164.252      0.0.0.0/0

Se desea entonces, borrar la regla número 3. Simplemente se debe especificar el número de regla luego de la cadena:

root@linuxito:~# iptables -D INPUT 3

Esta versión del comando -D es mucho más rápida y simple de utilizar:

root@linuxito:~# iptables -nL --line-numbers | head -n 7
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  197.89.182.190       0.0.0.0/0
2    DROP       all  --  49.151.15.172        0.0.0.0/0
3    DROP       all  --  31.148.224.141       0.0.0.0/0
4    DROP       all  --  168.227.164.252      0.0.0.0/0
5    DROP       all  --  41.164.24.122        0.0.0.0/0


Tal vez pueda interesarte


Compartí este artículo