从`iptables -S`的输出恢复规则

我有一堆用iptables -S转储的规则:

 -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT etc... 

下一次,我会通过iptables-saveiptables-restore来做到这一点。 但现在呢,还有更好的办法来恢复我的规则,除了:

 iptables -F xargs -n1 -d\\n iptables < iptables.dump 

可悲的是…可能不是。 但是…一个兴趣点…您的iptables -F不足以冲刷您的所有表。 (是的,这足以清除默认filter表中的所有链)您必须指定每个表来刷新,而不仅仅是默认的表。 即iptables -t nat -F和/或iptables -t mangle -F