iptables-restore no puede cargar mis reglas

10

He estado buscando por algún tiempo, pero nada resuelve mi problema. Estoy configurando un servidor de correo, pero cuando escribo en iptables, aparece un error:

iptables-restore: la línea 2 falló.

Estoy tratando de usar los siguientes /etc/iptables.test.rules:

# Allows SMTP access
-A INPUT -p tcp --dport 25 -j ACCEPT

# Allows pop and pops connections 
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 995 -j ACCEPT

# Allows imap and imaps connections 
-A INPUT -p tcp --dport 143 -j ACCEPT
-A INPUT -p tcp --dport 993 -j ACCEPT

Después de esto, estoy emitiendo el siguiente comando:

sudo iptables-restore < /etc/iptables.test.rules

Sin embargo me devuelven esto:

iptables-restore: line 2 failed.

No se cual es el problema. ¿Alguien puede aclarar?

Estoy usando Ubuntu 10.10 LTS

Søren Lorentzen
fuente

Respuestas:

13

Es porque ese archivo no está en el formato esperado. Debe agregar sus reglas manualmente la primera vez, luego usar iptables-savepara obtener un archivo en el formato esperado.

Sin embargo, es bastante simple "imitar" el formato que espera iptables-restore.

Agregue una línea con solo *filteren la parte superior del archivo.

Agregue una línea con solo COMMITen la parte inferior.

Entonces terminas luciendo así:

*filter    

# Allows SMTP access
-A INPUT -p tcp --dport 25 -j ACCEPT

# Allows pop and pops connections 
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 995 -j ACCEPT

# Allows imap and imaps connections 
-A INPUT -p tcp --dport 143 -j ACCEPT
-A INPUT -p tcp --dport 993 -j ACCEPT

COMMIT

Hay algunos otros fragmentos que también debería tener, pero eso debería hacer que funcione. Después de hacer esto, puede usar iptables-save >filenamepara obtener el archivo de guardar con el formato completo correcto filename.

Tenga en cuenta que si usa iptables-savesus comentarios en el archivo se perderá (reemplazará todo el archivo con su propio formato similar).

Cesio
fuente
0

Correr:

iptables-save > /etc/sysconfig/iptables

luego inicie / reinicie su iptablesServicio

Younes
fuente