iptables 规则可以操纵 IP 集吗?

iptables 规则可以操纵 IP 集吗?

iptables-extensions(8)描述了该set模块,并讨论了可以对 IP 的存在或不存在或更一般地对 IP 集的匹配做出反应。

然而,似乎没有办法使用规则将项目动态附加到 IP 集iptables

这个想法是,如果我使用该recent模块,我可以暂时将某些不断尝试的 IP 列入黑名单,并将它们添加到 IP 集中(这可能更快)。这意味着此类情况需要遍历的规则更少,并且据说与 IP 集的匹配速度也会更快。

答案1

事实证明可能,使用SET中描述的目标iptables-extensions(8)

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

答案2

不,iptables/netfilter 无法操作 ipset 列表。

iptables 的匹配扩展set是 ipset 列表的只读视图。这些列表只能通过命令进行操作ipset
 

完成您想要完成的任务的最佳方法是将 iptableslog扩展与失败2禁止
Iptables 将被配置为记录每次有人违反您的策略的时间,然后一旦他们违反了 X 次,fail2ban 就会将该主机添加到黑名单中。

相关内容