iptables-extensions(8)
set
モジュールについて説明し、IPの有無、またはより一般的にはIPとの一致に反応することが可能であると説明しています。 IPセット。
ただし、iptables
ルールを使用してその場でIPセットにアイテムを追加する方法はないようです。
recent
モジュールを使用すると、試行を続ける特定のIPを一時的にブラックリストに登録して、IPセットに追加できるという考えです(これはおそらく高速です)。これは、そのような場合にトラバースするルールが少なくなることを意味し、IPセットとの照合も高速であると言われています。
iptables-extensions(8)
で説明されているSET
ターゲットを使用すると、isが可能であることがわかります。
SET
This module adds and/or deletes entries from IP sets which can be defined by ipset(8).
--add-set setname flag[,flag...]
add the address(es)/port(s) of the packet to the set
--del-set setname flag[,flag...]
delete the address(es)/port(s) of the packet from the set
where flag(s) are src and/or dst specifications and there can be no more
than six of them.
--timeout value
when adding an entry, the timeout value to use instead of the default one
from the set definition
--exist
when adding an entry if it already exists, reset the timeout value to
the specified one or to the default from the set definition
Use of -j SET requires that ipset kernel support is provided, which, for standard
kernels, is the case since Linux 2.6.39.
set
モジュールの説明を見つけた後、さらに下を検索していなかったため、見つかりませんでした。
いいえ、iptables/netfilterはipsetリストを操作できません。
Iptablesのset
match拡張子は、ipsetリストへの読み取り専用ビューです。リストは、ipset
コマンドでのみ操作することを目的としています。
達成しようとしていることを実行する最良の方法は、iptables log
拡張機能を fail2ban と組み合わせて使用することです。
Iptablesは、誰かがポリシーに違反するたびにログに記録するように構成され、X回違反すると、fail2banはそのホストをブラックリストに追加します。