50% de descuento Todos los planes, tiempo limitado. A partir de $2.48/mo
Quedan 14 minutos
Seguridad y redes

Listado y eliminación de reglas de Iptables de Linux: una hoja de referencia para principiantes

lily carnell By lily carnell 14 minutos de lectura Actualizado el 18 de septiembre de 2023
Directrices para enumerar y eliminar reglas de Iptables

El acceso no autorizado y la piratería de servidores son amenazas graves, por lo que debes implementar un firewall como parte de tu técnica de seguridad de red. Saber cómo trabajar con las reglas de Iptables es uno de los principales activos para disminuir estos riesgos en sus sistemas Linux. Este tutorial lo guiará para que se familiarice con los conceptos básicos del firewall, como las reglas de visualización de iptables y la eliminación de reglas de iptables en ubuntu, ayudándole a ejecutar comandos simples para lograr esto. Antes de discutir cómo enumerar las reglas de iptables o eliminarlas, hablemos de qué son las reglas de iptables y por qué las usamos.

¿Qué es Iptables?

iptables es una utilidad de firewall de línea de comandos que permite o bloquea el tráfico a través de cadenas de políticas. Cuando se intentan realizar conexiones en su sistema, iptables busca una regla en la lista que coincida con ellas, brindándole un asistente adecuado en seguridad de red. Si no encuentra ninguna para una conexión, recurre a la acción predeterminada.

iptables casi siempre viene preinstalado en cualquier distribución de linux. Puede utilizar el siguiente comando para actualizarlo o instalarlo:

sudo apt-get install iptables

¿Por qué usamos Iptables?

Como firewall de línea de comandos de Linux, iptables permite a los administradores del sistema manejar el tráfico entrante y saliente mediante reglas de tabla configurables. Iptables utiliza un conjunto de tablas con cadenas que contienen un conjunto de reglas integradas o definidas por el usuario.

Como se mencionó en la sección anterior, iptables juega un papel esencial en la seguridad de la red para la mayoría de los sistemas Linux. El resto de este artículo se centra principalmente en describir todas las reglas de la lista de iptables, incluidos conceptos como cómo mostrar iptables y eliminar reglas de iptables.

Más específicamente, este artículo analizará algunas de las tareas esenciales de iptables para mostrarle cómo enumerar reglas, eliminar contadores de paquetes y bytes, eliminar reglas de Iptables, vaciar cadenas y eliminar todas las cadenas y aceptar todo el tráfico.

Una guía completa de Iptables en Ubuntu

Antes de revisar las reglas de visualización de iptables, tenga en cuenta que debe utilizar un servidor Linux con el comando iptables instalado. Además de estos requisitos, es imprescindible tener privilegios sudo. Cuando trabaje con firewalls, preste atención a no bloquear el acceso a su servidor bloqueando el tráfico SSH (puerto: 22, de forma predeterminada). Si pierde el acceso debido a la configuración de su firewall, es posible que deba conectarse a través de una consola fuera de banda para solucionarlo.

Lea también: Cómo cambiar el puerto SSH en Linux | Una guía rápida paso a paso para su puerto SSH

Listado de reglas por especificación

Puedes ver tus reglas activas de iptables en una mesa o como una lista de especificaciones de reglas. Casi ambos métodos proporcionan la misma información en diferentes formatos. Para enumerar todas las reglas de los iptables activos por especificación, debe ejecutar el comando iptables con el -S opción:

sudo iptables -S

Después de ejecutar este comando iptables show rule, verá un resultado como este:

salida de las reglas de la lista de espectáculos en ejecución
salida de las reglas de la lista de espectáculos en ejecución

Listar una cadena específica

Si desea limitar la salida de show iptables a una cadena específica como ENTRADA, SALIDA o tcp, puede especificar el nombre de la cadena directamente después de la opción -S. Por ejemplo, el siguiente comando iptables show rule ayuda a especificar en la cadena TCP:

sudo iptables -S TCP

resultado de enumerar una cadena TCP específica
resultado de enumerar una cadena TCP específica

Como mencionamos antes, hay otra manera de lograr que se cumplan las reglas de visualización de iptables: ver las reglas de iptables como una tabla de reglas. Repasemos esta técnica.

Listado de reglas como tablas

Usar un comando para mostrar las reglas de iptables en las tablas puede ayudar a comparar varias reglas. Debe ejecutar el siguiente comando show iptables con el -L opción para generar todas estas reglas activas en una tabla:

sudo iptables -L

Este comando mostrará todas las reglas actuales ordenadas por cadenas. Hay una manera de limitar la salida a una cadena específica como ENTRADA, SALIDA, TCP, etc.; debe especificar el nombre de la cadena directamente después de la opción -L. A continuación se muestra un ejemplo de cómo limitar las reglas de visualización de iptables a la cadena INPUT:

sudo iptables -L INPUT

La salida de iptables muestra reglas limitadas a la cadena INPUT.
La salida de iptables muestra reglas limitadas a la cadena INPUT.

La primera línea del resultado anterior muestra el nombre de la cadena (INPUT, en este caso) y su política predeterminada (DROP). La siguiente línea contiene los encabezados de cada columna de la tabla y las reglas de la cadena. Los repasaremos para ayudarle a aprenderlos todos:

  • Destino: Si un paquete corresponde a la regla, el destino determina qué se debe hacer con él. Puede aceptar, descartar, registrar o enviar un paquete a otra cadena para compararlo con más reglas.
  • prot: el protocolo (como TCP, udp, ICMP o todos)
  • opt: indica opciones de IP (se usa con poca frecuencia)
  • fuente: muestra la dirección IP/subred de origen del tráfico 
  • destino: presenta la dirección IP de destino/subred del tráfico

La columna sin etiqueta sugiere las opciones de una regla y es cualquier parte de la regla que no se haya indicado en las columnas anteriores. Esta información puede ser cualquier cosa, desde los puertos de origen y destino hasta el estado de conexión del paquete.

Lea también: Instale OpenVPN en VPS – Configuración del cliente OpenVPN 🔑

¿Cómo mostrar el recuento de paquetes y el tamaño agregado?

Al enumerar las reglas de iptables, podemos mostrar la cantidad de paquetes y el tamaño agregado de los paquetes en bytes que coinciden con cada regla de iptables en particular; Esto suele ser útil para comprender qué reglas coinciden con los paquetes. Tienes que usar el -L y -v opciones juntas para lograr este.

Aquí hay un ejemplo en el que usaremos la cadena INPUT nuevamente, con la opción -v:

sudo iptables -L INPUT -v

Mostrar recuentos de paquetes y tamaño agregado
salida de Mostrar recuentos de paquetes y tamaño agregado

Observe que nuestra lista ahora tiene dos columnas más llamadas paquetes y bytes. Hemos aprendido varias formas de hacer que iptables muestre todos los comandos de reglas realizados, y ahora es el momento de saber cómo restablecer el recuento de paquetes y el tamaño agregado.

¿Cómo restablecer el recuento de paquetes y el tamaño agregado?

Debe utilizar la opción Z si desea borrar o poner a cero los contadores de paquetes y bytes para sus reglas. También se reinician si se produce un reinicio, lo cual es útil si desea ver si el servidor recibe tráfico nuevo que coincide con sus reglas existentes.

Puedes borrar los contadores de todas las cadenas y reglas usando el -Opción Z por sí mismo:

sudo iptables -Z

Para eliminar los contadores de todas las reglas de una cadena específica, debe utilizar la opción -Z y especificar la cadena. Por ejemplo, el siguiente comando se utiliza para borrar los contadores de la cadena de ENTRADA:

sudo iptables -Z INPUT

Si desea eliminar los contadores de una regla específica, debe mencionar con precisión el nombre de la cadena y el número de regla. Por ejemplo, puede ejecutar el siguiente comando para poner a cero los contadores de la primera regla en la cadena de ENTRADA:

sudo iptables -Z INPUT 1

Además de saber que iptables muestra todos los comandos de reglas y formas de restablecer los contadores de paquetes y bytes de iptables, es bueno saber cómo eliminar la regla de iptables.

Lea también: Cómo instalar el servidor VPN PPTP en su VPS

¿Cómo eliminar las reglas de iptables?

Puede utilizar varios comandos para eliminar las reglas de Iptables o incluso eliminar todas las reglas de una cadena. Aquí discutiremos estos métodos,

Eliminar reglas por especificación

Una de las formas de eliminar las reglas de iptables es hacerlo mediante la especificación de reglas. Le permite ejecutar el comando iptables con el -D opción y la especificación de la regla. Si desea eliminar reglas usando esta técnica, puede utilizar la salida de la lista de reglas, iptables -S, como ayuda.

Por ejemplo, para eliminar la regla que descarta paquetes entrantes no válidos (-A INPUT -m conntrack –ctstate INVALID -j DROP), puede ejecutar la siguiente línea de comando:

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP

Preste atención a que la opción -A sirve para indicar la posición de la regla en el momento de la creación y debe excluirse aquí.

Eliminar reglas por cadena y número

El otro método que puede utilizar para eliminar las reglas de iptables es mediante su cadena y número de línea. Escriba el siguiente comando para elegir el número de línea de una regla, enumerar las reglas en el formato de tabla y agregar el –opción de números de línea:

sudo iptables -L --line-numbers

Eliminar reglas por cadena y número
salida de Eliminación de reglas por cadena y número

Después de ejecutar esto, todas las reglas de iptables tienen su número de línea, que se muestra en el encabezado num.

Cuando sepa qué regla desea eliminar, tenga en mente su cadena y número de línea. Debes usar el comando iptables -D con la cadena y el número de regla. Por ejemplo, si desea eliminar la regla de entrada que descarta paquetes no válidos, puede ver que es la regla 3 de la cadena de ENTRADA. Entonces ejecuta este comando:

sudo iptables -D INPUT 3

¿Cómo lavar las cadenas?

Hay una manera de eliminar todas las reglas de Iptables en una cadena, a la que llamamos lavar una cadena. Aquí cubriremos los diversos métodos para hacer esto. Antes de continuar, preste atención para no quedar bloqueado del servidor a través de SSH cuando vacíe una cadena con una política predeterminada de descartar o denegar. Porque si lo hace, es posible que deba conectarse a través de la consola para arreglar su acceso.

Lavar una sola cadena

Para vaciar una cadena específica o, en otras palabras, eliminar todas las reglas de la cadena, puede utilizar el -F o el equivalente –opción de descarga y el nombre de la cadena seleccionada. Supongamos que desea eliminar todas las reglas de la cadena INPUT; ¿Qué hacer? Bueno, es fácil, ejecuta el siguiente comando:

sudo iptables -F INPUT

Lavar todas las cadenas

Para eliminar todas las cadenas o vaciarlas, puede utilizar la opción -F o su equivalente –flush por sí sola:

sudo iptables -F

¿Cómo eliminar todas las reglas, eliminar todas las cadenas y aceptarlas todas?

En este punto, describiremos cómo eliminar todas las reglas, tablas y cadenas del firewall y permitir todo el tráfico de red. Preste atención a que este proceso desactivará efectivamente el firewall. Por lo tanto, sólo debes seguir esta sección si deseas comenzar de nuevo con la configuración de tu firewall.

Primero debe configurar las políticas predeterminadas para cada una de las cadenas integradas en ACEPTAR. La razón principal por la que hacemos esto es para asegurarnos de que no se le bloquee el acceso al servidor con SSH:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

Luego necesitas vaciar las mesas nat y mangle, vaciar todas las cadenas. (-F)y eliminar todas las cadenas no predeterminadas (-INCÓGNITA) como esto:

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

Después de ejecutar los comandos anteriores, el firewall permitirá todo el tráfico de la red. Si desea enumerar sus reglas ahora, verá que no hay ninguna; solo quedan las tres cadenas predeterminadas, como ENTRADA, ADELANTE y SALIDA.

¿Cómo configurar iptables en Ubuntu?

Al igual que con cualquier comportamiento básico de un firewall, las reglas de iptables se pueden leer según el orden que aparece en cada cadena, lo que significa que tendrá que establecer las reglas en el orden correcto. Una vez que agregue nuevas reglas, las agregará al final de la lista de reglas. Puede agregar nuevas reglas a una posición particular de la lista insertándolas usando iptables -I <índice> -comando. El <índice> es para el número de pedido en el que desea insertar la regla en este comando. Puede utilizar el siguiente comando para comprender qué número de índice ingresar:

sudo iptables -L --line-numbers

El número al inicio de cada línea de regla muestra la posición en la cadena. Para agregar una nueva regla encima de una regla existente específica, debe usar el número de índice de esa regla existente. Por ejemplo, si desea agregar una nueva regla en la parte superior de la cadena, debe usar el siguiente comando con el índice número 1:

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

¿En qué se diferencia iptables de firewalld?

Tanto iptables como firewalld son herramientas prácticas para administrar firewalls en varios sistemas Linux diseñados explícitamente para el filtrado de paquetes (filtrado estático). El filtrado de paquetes es una estrategia de firewall que permite a los usuarios controlar el acceso a una red específica mediante la gestión de paquetes de información entrantes y salientes. Les permiten el paso o los niegan según reglas de firewall preestablecidas sobre sus protocolos, puertos y direcciones IP de origen y destino. Estas reglas proporcionan mecanismos de seguridad muy eficientes, lo que hace que el filtrado de paquetes de información sea una gran defensa contra dispositivos enrutados fuera de la LAN (red de área local) del sistema.

Tenga en cuenta que firewalld se introdujo inicialmente como software para manejar iptables para ayudar a que al usuario le resulte más fácil navegar por él. Teniendo esta introducción de firewalld e iptables, comparémoslos con más detalle.

iptables vs firewalld: configuración del sistema

Firewalld e iptables utilizan diferentes configuraciones y ajustes de almacenamiento predeterminados. Con iptables, cada cambio significa eliminar todas las reglas antiguas y leer las nuevas, por lo que el sistema tiene que reiniciarse. Sin embargo, al utilizar firewalld, las reglas no se vuelven a crear; en cambio, las diferencias y modificaciones realizadas se aplican para alterar las reglas existentes para que pueda verlas surtiendo efecto en el tiempo de ejecución.

iptables vs firewalld: interfaz de usuario

Firewalld utiliza una interfaz gráfica de usuario (GUI). Sin embargo, iptables utiliza una interfaz de línea de comandos (CLI), lo que puede resultar difícil para algunas personas acceder a las reglas del firewall del kernel de Linux utilizando iptables, lo que hace que firewalld sea una opción más sencilla. Lo mejor sería considerar que iptables tiene un tiempo de respuesta más corto ya que solo usa comandos cortos. Aparte de todo esto, ambos tienen sus casos de uso, así que elija aquel con el que se sienta más cómodo trabajando.

Reflexiones finales: iptables muestra reglas

Iptables es una utilidad de firewall altamente flexible creada específicamente para sistemas operativos Linux. No importa si eres un experto en Linux recién llegado o un administrador de sistemas profesional; Hay alguna forma en que las reglas de iptables pueden resultarle útiles. Este artículo representa principalmente comandos básicos para esta utilidad de firewall, incluyendo iptables show reglas y eliminar reglas de iptables, con el objetivo de revisar brevemente las capacidades de Linux. Además, puede utilizar nuestro Soluciones de alojamiento VPS Linux para utilizar el verdadero potencial de este fantástico sistema operativo. En cloudzy, ofrecemos varios planes VPS Linux con tecnología KVM adecuados para múltiples casos de uso, como alojamiento web, implementación de una aplicación web o incluso configuración de un entorno para desarrollar, probar y automatizar código.

Preguntas frecuentes

¿Cómo enumerar todas las reglas de iptables de Linux por especificación?

Si desea enumerar todas las reglas de iptables actualmente activas por su especificación o funcionalidad, puede hacerlo mediante el comando iptables seguido del -S bandera. Preste atención a utilizar el sudo palabra clave en este caso:

sudo iptables-S

¿Cómo eliminar las reglas de iptables?

Para eliminar una cadena específica, lo que eliminará todas las reglas de la cadena, debe use la opción -F o –flush y el nombre de la cadena. Digamos que queremos eliminar todas las reglas de la cadena de SALIDA, ¿qué hacer? Bueno, necesitas ejecutar este comando:

 sudo iptables -F SALIDA

¿Cómo funcionan iptables en Ubuntu?

El firewall de iptables compara el tráfico de red con un conjunto de reglas. Las reglas de iptables especifican las características de un paquete para que coincida con la regla y qué acción se debe tomar si los paquetes coinciden. Por supuesto, hay muchas opciones para establecer qué paquetes coinciden con una regla específica.

¿Las reglas de iptables entran en vigor inmediatamente? ¿Por qué?

Sí, las reglas de iptables entran en vigor al instante; porque su secuencia de comandos se agrega a las cadenas de ENTRADA y SALIDA, y sus reglas se agregan al final de esas cadenas.

Compartir

Más del blog

Sigue leyendo.

Una imagen de título de Cloudzy para una guía de VPN MikroTik L2TP, que muestra una computadora portátil que se conecta a un rack de servidores a través de un túnel digital azul y dorado brillante con íconos de escudo.
Seguridad y redes

Configuración de MikroTik L2TP VPN (con IPsec): Guía de RouterOS (2026)

En esta configuración de VPN MikroTik L2TP, L2TP maneja el túnel mientras IPsec maneja el cifrado y la integridad; emparejarlos le brinda compatibilidad con el cliente nativo sin la edad de terceros

Rexa CiroRexa Ciro 9 minutos de lectura
Ventana de terminal que muestra un mensaje de advertencia SSH sobre el cambio de identificación del host remoto, con el título de Fix Guide y la marca Cloudzy sobre un fondo verde azulado oscuro.
Seguridad y redes

Advertencia: la identificación del host remoto ha cambiado y cómo solucionarlo

SSH es un protocolo de red seguro que crea un túnel cifrado entre sistemas. Sigue siendo popular entre los desarrolladores que necesitan acceso remoto a las computadoras sin necesidad de un gráfico.

Rexa CiroRexa Ciro 10 minutos de lectura
Ilustración de la guía de solución de problemas del servidor DNS con símbolos de advertencia y servidor azul sobre fondo oscuro para errores de resolución de nombres de Linux
Seguridad y redes

Fallo temporal en la resolución de nombres: ¿Qué significa y cómo solucionarlo?

Mientras usa Linux, puede encontrar una falla temporal en el error de resolución de nombres al intentar acceder a sitios web, actualizar paquetes o ejecutar tareas que requieren una conexión a Internet.

Rexa CiroRexa Ciro 12 minutos de lectura

¿Listo para implementar? Desde $2,48/mes.

Nube independiente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Devolución de dinero en 14 días.