我知道可以使用iptables -F
或刷新 iptables iptables -X
,但是,是否可以刷新除一个关键链/规则之外的 iptables?
答案1
将规则转储到文件中
iptables-save > file
删除除要保留的规则之外的所有规则,恢复未删除的规则,覆盖当前的 iptables 规则。
iptables-restore < file
或者只是刷新所有规则并创建您想要的规则。
当您将规则转储到文件时,您将看到它们的格式都类似于
-A SomeChain SomeActions Target
例如
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
您可以使用 iptables 命令创建相同的规则
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
答案2
您不能直接冲洗或移除除一根链条之外的所有链条。然而,由于列出链很简单,选项的简短组合就足够了
列出链
iptables -nL | awk '$1 == "Chain" { print $2 }'
INPUT
FORWARD
OUTPUT
f2b-iptables-log
f2b-recidive
f2b-sshd
冲洗除以下内容之外的所有内容INPUT
(echo
当您确定它适合您时将其删除):
iptables -nL |
awk -v keep=INPUT '$1 == "Chain" && $2 != keep { system("echo iptables -F " $2) }'