如何测试 iptables 规则以防止远程锁定和检查匹配?

如何测试 iptables 规则以防止远程锁定和检查匹配?

当我学习 iptables 时,我犯了一些错误并将自己锁在了外面。

您使用什么方法来测试规则而无需将自己锁定?

我正在使用 Ubuntu 服务器 12.04 LTS


以下所有答案都很有帮助。最后我使用了多种选择。以防万一,拥有对远程服务器的 IPMI 访问权限也很有用!但最好在复制环境中本地测试规则并先进行测试。在这方面,Vagrant 有助于快速完成测试设置。

答案1

iptables-apply是专门为此设计的。它会应用您的规则,然后提示您确认。如果您不确认,它会将其撤销。因此,如果您使用 apply 破坏系统或将自己锁定,它会将其撤销。

答案2

您使用什么方法来测试规则而无需将自己锁定?

在输入内容之前先想一想它会产生什么效果。

把自己锁在外面

在开始远程更改可能会锁定您的内容之前,请在列表开头插入与您的连接匹配的接受规则。使用监视程序脚本对其进行备份,如果您不重置计时器,该脚本会将所有规则重置为您开始时的工作状态。您可以使用文件监视循环并touch在处理事务时运行命令来重置时间戳来做到这一点。只需记住在完成规则时将其关闭即可。它的非常简单的格式是:

sleep $((10*60)) && iptables-restore /path/to/working/script

答案3

您可以在输入链上设置不带默认 DROP 规则的 iptables。如果您创建规则然后输入以下命令:

$ iptables -nvL

然后您会看到数据包计数并查看是否有来自主机的命中。

另一个选择是创建一个运行脚本的 crontab。在该脚本中,您可以编写

$ iptables -F

使用此命令您可以刷新您的IPTABLES-config

相关内容