iptables-restore nie ładuje moich reguł

10

Szukałem już od jakiegoś czasu, ale nic nie rozwiązuje mojego problemu. Konfiguruję serwer pocztowy, ale podczas pisania na iptables pojawia się błąd:

iptables-restore: linia 2 nie powiodła się.

Próbuję użyć następującego pliku /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

Następnie wydaje następujące polecenie:

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

Jednak otrzymałem to:

iptables-restore: line 2 failed.

Nie wiem na czym polega problem. Czy ktoś może to wyjaśnić?

Używam Ubuntu 10.10 LTS

Søren Lorentzen
źródło

Odpowiedzi:

13

To dlatego, że ten plik nie ma oczekiwanego formatu. Reguły należy dodać za pierwszym razem ręcznie, a następnie użyć, iptables-saveaby uzyskać plik w oczekiwanym formacie.

Jednak dość łatwo jest „naśladować” format oczekiwany przez iptables-restore.

Dodaj linię *filterna samym początku pliku.

Dodaj linię COMMITna samym dole.

W rezultacie wyglądasz tak:

*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

Jest też kilka innych urywków, które powinien mieć, ale to powinno sprawić, że zadziała. Po wykonaniu tej czynności możesz użyć, iptables-save >filenameaby uzyskać w pełni poprawnie sformatowany plik zapisu filename.

Pamiętaj, że jeśli użyjesz iptables-saveswoich komentarzy, plik zostanie utracony (zastąpi cały plik własnym, podobnie sformatowanym).

Cez
źródło
0

Biegać:

iptables-save > /etc/sysconfig/iptables

następnie uruchom / uruchom ponownie iptablesusługę

Younes
źródło