iptables-restoreがルールのロードに失敗する


10

私はしばらく探し回っていましたが、私の問題を解決するものは何もありません。メールサーバーを設定していますが、iptablesに書き込むときにエラーが発生します。

iptables-restore:2行目が失敗しました。

次の/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

この後、次のコマンドを発行します。

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

しかし、私はこれを返します:

iptables-restore: line 2 failed.

何が問題なのかわかりません。誰かが明確にできますか?

Ubuntu 10.10 LTSを使用しています

回答:


13

これは、そのファイルが予期された形式ではないためです。最初に手動でルールを追加してiptables-saveから、を使用して、予期される形式のファイルを取得する必要があります。

ただし、iptables-restoreが想定する形式を「模倣」するのは非常に簡単です。

*filterファイルの先頭に行を追加します。

COMMIT一番下に行を追加します。

つまり、次のようになります。

*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

他にも必要なスニペットがいくつかありますが、これで機能するはずです。これを実行したら、を使用iptables-save >filenameして、完全に正しくフォーマットされた保存ファイルをに取得できますfilename

iptables-saveファイル内のコメントを使用すると、失われることに注意してください(ファイル全体が独自の類似した形式のファイルに置き換えられます)。


0

実行:

iptables-save > /etc/sysconfig/iptables

次に、iptablesサービスを開始/再開します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.