IPtablesでいくつかの関連チェーンを更新したいです。彼らの名前は「f2b。*」と同じです。チェーン全体が消えてほしい!まるで消えました。
-A f2b-postfix-sasl -s 103.231.139.130/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 141.98.9.2/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 45.13.39.56/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 185.36.81.61/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 185.36.81.169/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 185.36.81.165/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 185.137.111.22/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 185.137.111.188/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -s 185.137.111.123/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-postfix-sasl -j RETURN
-A f2b-ssh-ddos -s 193.201.224.214/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-ssh-ddos -j RETURN
また、チェーンルールが消えたくなります。
-A INPUT -p tcp -m multiport --dports 22,115 -j f2b-ssh-ddos
-A INPUT -p tcp -m multiport --dports 25,465,587,143,993,110,995 -j f2b-postfix-sasl
基本的には
iptables -F .*f2b-.*
iptables -D .*f2b-.*
あなたは何をしますか?
[理由] シャットダウン時に iptables を保存し、再起動時に復元するためです。ただし、fall2ban は、既存のルールがすでに存在するかどうかを確認せずに再追加します。だから結果は重複します。
[アップデート#1] 次の一意のチェーン名を取得できます。
sudo /sbin/iptables -S | grep -P '\-A f2b-.*' | cut -d ' ' -f 2 | sort -u
ループを形成せずにどのように削除できますか?
答え1
次の一意のチェーン名を取得できます。
sudo /sbin/iptables -S | grep -P '\-A f2b-.*' | cut -d ' ' -f 2 | sort -u
ループを形成せずにどのように削除できますか?
[回答#1]すべてのF2Bチェーンを削除
/sbin/iptables -S | grep -P '\-A f2b-.*' | cut -d ' ' -f 2 | sort -u | awk '{print "/sbin/iptables -F "$1";"}' #| /bin/sh
[回答#2]すべてのF2Bルールを削除
/sbin/iptables -S | grep -P '\-A INPUT.*f2b-.*' | sed 's/^-A //' | awk '{print "/sbin/iptables -D "$0";"}' #| /bin/sh
注:準備ができたら#のコメントを外してください。
答え2
あなたの例では、次のことができます。
iptables-save | sed -nE '/^(\*|COMMIT)/p;/^:/s/^:(f2b-[[:graph:]]+).*/-F \1/p;/ -[jg] f2b-[[:graph:]]+/s/^-A/-D/p' | iptables-restore -n
iptables-save
これは、チェーンのすべてのチェーン情報ディレクティブ(で始まる行:
)を対応するコマンドに置き換え、チェーンを参照するすべてのコマンドをそのコマンドに置き換えてから最後に供給する出力を取得します。f2b-*
-F <chain-name>
-A
f2b-*
-D
iptables-restore -n
これは重要-n
オプションを使用してこれを行います。iptables-restore
いいえすべてを洗い流してください。