这是最全面的命令来完全重置您的iptables?

我正在运行VPS,并希望将iptables的规则重置为其全新的默认状态。 这些是我提出的命令:

#!/bin/sh echo "Resetting all iptables rules..." #Reset default table policies iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT #Reset nat table policies iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P INPUT ACCEPT iptables -t nat -P OUTPUT ACCEPT #Reset mangle table policies iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P POSTROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT #Reset raw table policies iptables -t raw -P PREROUTING ACCEPT iptables -t raw -P OUTPUT ACCEPT #Flush all rules and delete empty chains iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -t raw -F iptables -t raw -X 

问题:

  1. 这些规则是否足够全面? 我已经搞乱了我的iptables,我只想从一个干净的版本开始。

  2. 如果我重新启动,会不会被locking在我的VPS之外?

  3. 我是否需要在每个表上使用-Z命令来清零链中所有规则上的数据包和字节计数器? 例如“iptables -t nat -Z”(并重复相同的所有其他表)?

谢谢!

  1. 我觉得这很不错, 我可以毫不留情地想到那个修剪的规则。

  2. 这取决于。 你目前关于重新启动规则的安排是什么? 如果他们相当于把所有东西都拿走,那么是的,你会把自己锁在外面。 上面显示的脚本非常可爱(请参阅1.),但在重启时不会奇迹般地运行。

  3. 这取决于您是否要将计数器归零。

至于没有被locking,我同意pauska做远程防火墙的工作可能会非常棘手。 这就是为什么在我对远程系统的防火墙做出任何改变之前,我就这么做了

 # at now+5min at> service iptables stop at> ^D 

如果我所做的改变把我locking了,好的,我可以在五分钟之内回来。 如果他们不这样做,我可以使用atrm删除我刚刚提交的工作。 这是保存我的屁股几次! (注意:那个service命令对于Red Hat Linuces是有好处的,你可能需要为其他unicesfind一个等价的东西。)