¿Cómo PREPARAR reglas en lugar de APENDER usando iptables?

65

Pregunta bastante básica: ¿cómo PREPARAR reglas sobre IPTABLES en lugar de APENDER?

Tengo DROPdeclaraciones al final de mis reglas. Tengo un software para agregar nuevas reglas, pero agregar reglas después de las DROPdeclaraciones no es bueno. Cada vez que quiero agregar una nueva regla, tengo que vaciar la tabla (que es ineficiente).

¿Hay alguna forma de anteponer una regla, es decir, agregar una regla en la parte superior de la tabla en lugar de la parte inferior?

Muchas gracias.

cerveza inglesa
fuente

Respuestas:

84

Usa el -Iinterruptor:

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Esto insertaría una regla en la posición # 1 en la cadena de ENTRADA.

Yanick Girouard
fuente
2
Dang! Me ganaste por 18 segundos ... No fui lo suficientemente rápido :(
Yanick Girouard
1
Jejejejejejeje :)
cjc
2
@ YanickGirourad, ¡tienes la marca de verificación!
cjc
55
También para tener en cuenta, cuando se usa -I INPUT 1, ninguna regla se sobrescribe. En cambio, todas las reglas se desplazarán una posición hacia arriba.
Abdull
1
Nota importante de Abdull.
Halsafar
19

-Iinsertará. Probablemente estés usando -Apara agregar.

También puede hacer iptables -I chain rulenumpara insertar una regla como número "rulenum" en la cadena "cadena". -R chain rulenumse puede usar para reemplazar una regla específica en el número "rulenum" en la cadena "chain". iptables -L -n --line-numbersmostrará los números de la regla en la columna más a la izquierda.

cjc
fuente
Tengo prisa en este momento o lo buscaría, pero sería bueno ver un ejemplo de cómo funciona la "cadena" aquí, o un enlace.
PJ Brunet
//, consulte fedoraproject.org/wiki/… para obtener más información sobre cómo insertar correctamente una regla de IPTables.
Nathan Basanese
2

Para ayudar a determinar qué número de línea agregar la nueva regla, utilizo iptables-savepara mostrar las reglas existentes en la consola.

Para los principiantes, también puedo sugerir una tarjeta trampa usando webmin administre sus reglas. Es muy amigable y puede reordenar fácilmente las reglas de la lista. También manejará las variaciones 'leves' en las implementaciones de iptables basadas en redhat vs debian.

AngryWombat
fuente
2
iptables -L --line-numberses un poco más independiente de la plataforma
Sirex
1
No estoy seguro exactamente por qué uno debería usar webmin para eso (o cualquier cosa). Es mucho mejor aprender la línea de comando que usar una muleta.
Falcon Momot
2

Hay un programa llamado iptables-persistentque hace que las reglas de iptable sean persistentes como un servicio del sistema operativo. Este servicio incluye un archivo de configuración como la iptables-saveexportación.

Entonces puede reordenar las líneas en el archivo de configuración y reiniciar el servicio.

sudo service iptables-persistent restart

¡¡¡¡¡Tan fácil!!!!!

shgnInc
fuente