从iptables最近列表中删除那些不在ipset中的条目

Vin*_*ary 5 iptables netfilter

我使用iptables最近匹配我的工作,因为它保存IP地址和最后看到我需要的值.但是现在我需要从iptables最近的列表中删除一些条目,这些条目在ipset中.任何人都可以告诉我是否有可能?如果是,那我该怎么办呢?谢谢.

Mic*_*rux 8

您可以在iptables规则中删除:

... -m recent --remove ...
Run Code Online (Sandbox Code Playgroud)

例如,删除少于5个包/小时的条目:

-A TEST -m recent --rcheck --seconds 3600 --hitcount 5 --rsource -j RETURN
-A TEST -m recent --remove
Run Code Online (Sandbox Code Playgroud)

第一个规则匹配源ips> = 5 pkts/hour,并通过RETURN目标离开TEST链.第二个规则从默认的最近列表中删除未匹配/未过滤的数据包(速率低于5 pkts /小时).

您可以使用以下命令从userland中删除:

echo -addr >/proc/net/xt_recent/DEFAULT
          to remove addr from the DEFAULT list
echo / >/proc/net/xt_recent/DEFAULT
          to flush the DEFAULT list (remove all entries).
Run Code Online (Sandbox Code Playgroud)

例如,从默认的最近列表中删除ip 192.168.4.7:

echo -192.168.4.7 >/proc/net/xt_recent/DEFAULT
Run Code Online (Sandbox Code Playgroud)

也可以看看: