iptables-restore n'a pas réussi à charger mes règles

10

Je cherche depuis un certain temps maintenant, mais rien ne résout mon problème. J'installe un serveur de messagerie, mais lors de l'écriture sur iptables, j'obtiens une erreur:

iptables-restore: la ligne 2 a échoué.

J'essaie d'utiliser les /etc/iptables.test.rules suivants:

# 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

Après cela, j'émets la commande suivante:

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

Cependant, je suis retourné ceci:

iptables-restore: line 2 failed.

Je ne connais pas le problème. Quelqu'un peut-il clarifier?

J'utilise Ubuntu 10.10 LTS

Søren Lorentzen
la source

Réponses:

13

C'est parce que ce fichier n'est pas au format attendu. Vous devez ajouter vos règles manuellement la première fois, puis utiliser iptables-savepour obtenir un fichier au format attendu.

Cependant, il est assez simple de "mimer" le format attendu par iptables-restore.

Ajoutez une ligne avec juste *filteren haut du fichier.

Ajoutez une ligne avec juste COMMITen bas.

Vous finissez donc par ressembler à ceci:

*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

Il devrait y avoir quelques autres extraits, mais cela devrait le faire fonctionner. Après cela, vous pouvez utiliser iptables-save >filenamepour obtenir le fichier de sauvegarde entièrement correctement formaté filename.

Notez que si vous utilisez iptables-savevos commentaires dans le fichier, ils seront perdus (il remplacera le fichier entier par son propre format similaire).

Césium
la source
0

Courir:

iptables-save > /etc/sysconfig/iptables

puis démarrez / redémarrez votre iptablesservice

Younes
la source