当我学习 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
。