iptables-restore 无法加载我的规则

Sør*_*zen 11 server iptables 10.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
Run Code Online (Sandbox Code Playgroud)

在此之后,我发出以下命令:

sudo iptables-restore < /etc/iptables.test.rules
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个:

iptables-restore: line 2 failed.
Run Code Online (Sandbox Code Playgroud)

我不知道是什么问题。任何人都可以澄清吗?

我使用的是 Ubuntu 10.10 LTS

Cae*_*ium 16

这是因为该文件不是预期的格式。您应该第一次手动添加规则,然后使用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
Run Code Online (Sandbox Code Playgroud)

它也应该有其他一些片段,但这应该可以使它工作。完成此操作后,您可以使用iptables-save >filename将完全正确格式化的保存文件转换为filename.

请注意,如果您确实使用iptables-save了文件中的注释,则会丢失(它将用自己类似的格式替换整个文件)。