web-dev-qa-db-fra.com

iptables-restore ne charge pas mes règles

Je cherche depuis un certain temps maintenant, mais rien ne résout mon problème. Je configure 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 sais pas quel est le problème. Quelqu'un peut-il clarifier?

J'utilise Ubuntu 10.10 LTS

8
Søren Lorentzen

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

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

Ajoutez une ligne avec seulement *filter en haut du fichier.

Ajoutez une ligne avec simplement COMMIT en bas.

Donc, vous finissez 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. Ceci fait, vous pouvez utiliser iptables-save >filename pour obtenir le fichier de sauvegarde correctement formaté dans filename.

Notez que si vous utilisez iptables-save, vos commentaires dans le fichier seront perdus (le fichier entier sera remplacé par son propre format similaire).

12
Caesium

Courir:

iptables-save > /etc/sysconfig/iptables

puis démarrez/redémarrez votre service iptables

0
Younes