REGEX:iptablesでいくつかの関連チェーンを更新する

REGEX:iptablesでいくつかの関連チェーンを更新する

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>-Af2b-*-Diptables-restore -n

これは重要-nオプションを使用してこれを行います。iptables-restore いいえすべてを洗い流してください。

関連情報