我已经搜索了一段时间,但没有什么能解决我的问题。我正在设置邮件服务器,但在写入 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
答案1
这是因为该文件不是预期的格式。您应该先手动添加规则,然后使用它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
文件中的注释,它将丢失(它将用其自己的类似格式的文件替换整个文件)。
答案2
跑步:
iptables-save > /etc/sysconfig/iptables
然后启动/重新启动您的iptables
服务