iptables检查脚本语法


11

有什么方法可以在不修改实际防火墙配置的情况下测试/检查iptables规则脚本的语法(我认为添加和删除每个规则并不是最好的方法...)。

我知道-C选项,但是它不检查链之类的选项,并且它的返回码有些棘手,因为1并不总是意味着语法正确。

谢谢!

Answers:


9

正如建议的那样,您可以使用iptables-restore,但是可以将其与--test标志一起使用,以仅测试配置,而不是在实际安装中进行测试。

iptables-restore --test [YOUR RULES AS A FILE]

这似乎并不总是很好。我目前正在处理一个iptables文件,该文件在实际安装时会失败(iptables-restore <iptables-new),但是使用--test选项,不会生成任何错误。我会发布它,但是很长。m15440 @ NDC01P04CU2PNGA SYSCONFIG#的iptables-恢复--test <iptables的全新m15440 @ NDC01P04CU2PNGA SYSCONFIG#由iptables-restore <iptables的新的iptables-恢复:行217失败m15440 @ NDC01P04CU2PNGA SYSCONFIG#
PatrickTaylor

1

使用iptables-save / iptables-restore。我认为,使用脚本不是一个好主意。从命令行编写您的第一个规则,然后用“ iptables-save> file”保存它们,然后继续编辑该文件。“ iptables-restore <文件”用于应用规则。该命令将检查语法,如果有错误,将不应用规则。


1
另外,在远程计算机上使用iptables时,我还设置了一个cron作业以每5或10分钟运行一次,以将iptables还原为默认的“允许所有”状态,因此,如果我将自己锁定在外,我将返回在5至10分钟内。只要记住再次将其锁定并禁用cron作业即可;)
jwbensley 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.