LINUX

Cómo enumerar y eliminar reglas de Iptables

Iptables es una utilidad de firewall que está disponible de forma predeterminada en todas las distribuciones de Linux. Los iptables se utilizan normalmente para configurar, mantener e inspeccionar las tablas de reglas de filtrado de paquetes en su kernel de Linux.

Las reglas de iptables que ya no son necesarias o que se agregan por error deben eliminarse. Después de terminar este tutorial, aprenderá las diferentes formas de enumerar y eliminar reglas de iptables.

Para ejecutar comandos de iptables, necesita privilegios de usuario root o sudo.

Para enumerar (ver) todas las reglas en iptables

Para enumerar todas las reglas en todas las cadenas (INPUT, OUTPUT y FORWARD), iptables usa --list o -L opción.

Compruebe la sintaxis de la lista de iptables:

$ sudo iptables --list
or
$ sudo iptables -L

A continuación, el resultado de muestra muestra todas las cadenas sin reglas:

# iptables --list
Chain INPUT (policy ACCEPT)
Target prot opt source destination
Chain FORWARD (policy ACCEPT)
Target prot opt source destination
Chain OUTPUT (policy ACCEPT)
Target prot opt source destination

Déjame mostrarte otro ejemplo que tiene una regla en la cadena ‘SALIDA’.

# iptables -L
Chain INPUT (policy ACCEPT)
Target prot opt source destination

Chain FORWARD (policy ACCEPT)
Target prot opt source destination

Chain INPUT (policy ACCEPT)
Target prot opt source destination
DROP icmp -- anywhere anywhere icmp echo-request

Eliminar todas las reglas de iptables (todas las cadenas)

Cuando esté buscando eliminar todas las reglas en una cadena, puede usar fácilmente la opción flush. Veamos cómo se usa -F o --flush en esta sección.

Tenga cuidado al eliminar todas las reglas, ya que puede eliminar su acceso ssh al servidor desde la terminal. Si eso sucede, la única opción sería configurar el acceso a través de la consola.

El siguiente comando vaciará todas las cadenas de iptables:

$ sudo iptables --flush
or
$ sudo iptables -F

Después de realizar el comando anterior, sus iptables se aclararán por completo. Puede verificar la salida usando iptables --list mando.

Eliminar cadena específica

Para eliminar una cadena específica, debe usar -F o --flush seguido del nombre de la cadena. Veamos un ejemplo para eliminar completamente la cadena ‘SALIDA’ de las iptables.

El siguiente comando eliminará todas las reglas en la cadena de SALIDA:

$ sudo iptables -F OUTPUT

Cómo eliminar una regla específica dentro de una cadena

Es posible eliminar una regla específica dentro de una cadena. Tenemos dos opciones para eliminar por coincidencia de regla o número de regla especificado.

Eliminar por coincidencia de regla

El siguiente comando elimina una regla en la cadena de entrada haciendo coincidir.

$ sudo iptables -D INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Eliminar por número de regla especificado

Para eliminar una regla por un número específico, primero debe enumerar el número de regla (iptables -L INPUT --line-numbers).

A continuación se muestra un ejemplo que muestra los números de línea para las reglas en la cadena ‘INPUT’.

$ sudo iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
Num target prot opt source destination
1 ACCEPT udp -- anywhere anywhere udp dpt:domain
2 ACCEPT tcp -- anywhere anywhere tcp dpt:domain
. . .

Entonces, ahora tenemos el número de regla. Sigamos adelante y eliminemos la segunda regla usando -D opción.

$ sudo iptables -D INPUT 2

Veamos un ejemplo práctico en el que desea eliminar todas las reglas nat, luego use los siguientes comandos.

Lista de todas las reglas nat

$ sudo iptables -L -t nat -v

Eliminar todas las reglas nat

$ sudo iptables -F -t nat -v

Conclusión

Debe tener cuidado antes de eliminar la regla iptables y recomendar tener una copia de seguridad antes. Espero que haya disfrutado leyendo y agregue su sugerencia en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar