【问题标题】:Remove those entries from iptables recent list which are not there in an ipset从 iptables 最近列表中删除那些不在 ipset 中的条目
【发布时间】:2014-06-10 19:09:13
【问题描述】:

我正在为我的工作使用 iptables 最近的匹配,因为它保存了 ip 地址和我需要的最后一次看到的值。 但现在我需要从 iptables 最近列表中删除一些条目,这些条目在 ipset 中。谁能告诉我这可能吗?如果是,那我该怎么做? 谢谢。

【问题讨论】:

    标签: iptables netfilter


    【解决方案1】:

    您可以在 iptables 规则中删除

    ... -m recent --remove ...
    

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

    -A TEST -m recent --rcheck --seconds 3600 --hitcount 5 --rsource -j RETURN
    -A TEST -m recent --remove
    

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

    您可以从用户空间中删除

    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).
    

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

    echo -192.168.4.7 >/proc/net/xt_recent/DEFAULT
    

    另见:

    【讨论】:

    • 既然有-A TEST -m recent --remove 没有匹配到 RETURN 规则为什么?
    猜你喜欢
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    相关资源
    最近更新 更多