iptables -F
iptablesを使用または更新できることを知っていますiptables -X
。しかし、1つの重要なチェーン/ルールを除いて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
1つのチェーンだけを除いて、すべて直接洗い流したり削除したりすることはできません。しかし、リストチェーンは単純なので、短いオプションの組み合わせで十分です。
リストチェーン
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) }'