En este tutorial, utilizaremos diferentes métodos de línea de comandos en Linux para eliminar las reglas iptables no relacionadas con la configuración deseada.
Nota: Se recomienda no bloquear el servidor bloqueando el tráfico SSH (por defecto, puerto 22). Supongamos que accidentalmente pierde su acceso debido a la configuración del firewall. En ese caso, puede conectarse de nuevo recuperando el acceso a través de la consola fuera de banda.
Antes de eliminar las reglas de iptables, primero enumeraremos las reglas. Hay dos formas de ver las reglas iptables en las que las reglas se pueden ver en especificaciones o como una lista en una tabla. Ambos muestran información similar de diferentes maneras.
Método 1: Listado por especificaciones
Con la opción -s, iptables enumera todas sus reglas activas.
sudo iptables -s
Puede ver que la salida es como los comandos utilizados para crearlos sin precedir al comando iptables. Además, se parece similar a los archivos de configuración de reglas de iptables si usa iptables save o ippersistent.
Enumerando una cadena específica
Supongamos que desea la serie específica en salida. Siguiendo la opción -s, el nombre de la cadena se puede colocar directamente después de especificar el nombre de la serie.
Aquí, por ejemplo, ejecutaremos el siguiente comando en el terminal para ver todas las especificaciones de la regla en la cadena de "salida".
Salida de sudo iptables -s
Método 2: Listado como tablas
Ahora, discutiremos otra forma alternativa de ver iptables activos, en el que los veremos como una tabla de reglas. Listado de reglas iptables en una vista de tabla demuestra ser muy útil para comparar otras reglas entre sí. Usando la opción -l del comando iptables, puede mostrar todas las reglas activas iptables en formato tabular.
sudo iptables -l
O
sudo iptables -Lista
Esto generará todas las reglas existentes por serie. Supongamos que desea ver una serie específica limitada como salida. En ese caso, puede especificar el nombre de esa serie directamente después de la opción -l.
Aquí, volvemos al ejemplo. Ejecutaremos un comando en el terminal especificando la cadena de "salida" para ver todas las especificaciones de la regla de la serie.
Salida de sudo iptables -l
Mostrar recuentos de paquetes y tamaño agregado
Es posible mostrar o enumerar las reglas iptables como bytes que muestran el tamaño total de los paquetes y el número de paquetes que coinciden con cada regla. Esto resulta útil cuando adivina qué reglas coinciden con el paquete. Sería mejor usar las opciones - L y - V juntas en la terminal. La cadena de salida, por ejemplo, será revisada nuevamente con la opción -v.
sudo iptables -l salida -v
Bytes y PKTS, ahora existen dos columnas adicionales en la lista. El siguiente paso implicará restablecer los contadores de datos de byte y paquetes después de que hayamos enumerado las reglas activas de firewall.
Restablecimiento de recuentos de paquetes y tamaño agregado
Puede establecer el byte y el contador de paquetes en cero o vacío para sus reglas usando la opción -z en el comando. En el reinicio, también se restablece nuevamente. Esto resulta útil cuando desea ver si su servidor está obteniendo un nuevo tráfico que coincide con sus reglas o no. Puede borrar contadores de todas las reglas y cadenas con la opción -z.
sudo iptables -z
Por ejemplo, ejecutaremos el siguiente comando en el terminal para borrar el contador de la cadena de salida.
sudo iptables -z entrada
Especificar el número de regla y el nombre de la cadena puede borrar el contador para una regla específica. Para esto, run el siguiente comando.
sudo iptables -z entrada 1
Por ahora, debe saber cómo restablecer los contadores y paquetes de bytes iptables. Ahora, arrojaremos luz sobre cómo se eliminan. Para superarlos, se utilizan principalmente dos métodos, que discutiremos más.
Eliminar reglas por especificaciones
La especificación de reglas es una forma de eliminar las reglas iptables. Ayudaría si usó la opción -d al ejecutar el comando de tabla IP para ejecutar esta regla. Puede seleccionar algunas de las reglas específicas para la salida usando iptables -s y eliminarlas utilizando el siguiente comando.
sudo iptables -d entrada -m conntrack - -ctstate inválido -j drop
La opción que muestra la posición de la regla en el momento de la creación se excluye desde aquí.
Eliminar reglas por cadenas y números
Su número de línea y cadena también pueden eliminar las reglas iptables. La opción -line -numbers se agrega para establecer el número de fila de cualquier regla enumerando las reglas en un formato de tabla.
sudo iptables -l -Numbers
Al usar este número, el sistema agregará el número de fila al encabezado NUM para cada fila de reglas.
Cuando decide qué regla desea eliminar, es mejor tener en cuenta el número de línea y la cadena de la regla. Después de esto, ejecute el comando -d después del número de regla y la cadena. Aquí, por ejemplo, eliminaremos la regla de entrada que arrojó paquetes no válidos. Ejecutaremos el siguiente comando de acuerdo con cualquier regla que esté en la cadena de entrada.
sudo iptables -d entrada 3
Una vez que se eliminen las reglas del firewall, veremos cómo enjuagar la cadena de reglas.
Cadenas de lavado
Los iptables le proporcionan una forma de eliminar todas las reglas de una cadena o alquilar una cadena por separado. Veamos ahora cómo enjuagar la cadena iptable de diferentes maneras.
Nota: No enjuagar una cadena con una política predeterminada de dejar caer o negar puede bloquearlo de sus servidores a través de SSH. Puede conectarse a él arreglando su acceso a través de la consola si hace esto.
Enjuagando una sola cadena
Puede usar la cadena y el nombre de la opción con -f o el equivalente -flush para descargar cualquier cadena específica que desee eliminar. Para eliminar todas las reglas de la cadena de entrada, ejecute el siguiente comando.
sudo iptables -f entrada
Enjuagando todas las cadenas
Puede eliminar todas las reglas de firewall utilizando la opción F o equivalente, -flush.
sudo iptables -f
sudo iptables - -Flush
Eliminar todas las cadenas, enjuague todas las reglas y aceptar todos. Veamos cómo permitir todo el tráfico de la red enjuagando todas las cadenas, tablas y reglas de firewall.
Nota: Tenga especial cuidado de que esto desactive efectivamente su firewall. La única razón para seguir esta sección es si solo necesita iniciar la configuración del firewall.
Para no bloquear su servidor a través de SSH, primero debe establecer las políticas predeterminadas para aceptar cada cadena subyacente.
sudo iptables -p entrada de entrada aceptado
sudo iptables -p adelante aceptar
sudo iptables -p salida aceptar
Flushes todas las tablas de mangle y red, (-x) elimina todas las cadenas no defectuosas, y (-f) descarga todas las cadenas.
sudo iptables -t nat -f
sudo iptables -t mangle -f
sudo iptables -f
sudo iptables -x
Ahora, su firewall le permitirá todo el tráfico de red. Si ha enumerado todas las reglas, no le quedan reglas, excepto las tres cadenas predeterminadas (salida, avance, entrada).
Restablecer toda la configuración de iptables
Puede restablecer todas las configuraciones iptables al valor predeterminado utilizando todos los siguientes comandos en conjunción. Borra todas las reglas de cada tabla y restablece las políticas de la cadena predeterminada, junto con la eliminación de todas las cadenas vacías de cada tabla.
sudo iptables -p entrada de entrada aceptado
sudo iptables -p adelante aceptar
sudo iptables -p salida aceptar
sudo iptables -f
sudo iptables -x
sudo iptables -t nat -f
sudo iptables -t nat -x
sudo iptables -t mangle -f
sudo iptables -t mangle -x
Conclusión
Después de leer este tutorial, debes haber sabido cómo iptables eliminan y enumeran las reglas de firewall. Según las tareas más simples, aprender a eliminar cualquier regla en iptables se considera una curva de aprendizaje. Podemos usar múltiples opciones para eliminar una sola regla e individualmente borrar todas las reglas para series o tablas particulares.
Tenga en cuenta que cualquier cambio en iptables realizados a través del comando iptable es transitorio y tendrá que guardarse para que persistan en un servidor reinicie. El tutorial también cubrió la sección de reglas de guardado y las reglas generales de firewall.