如何让 ipset 条目“年龄”?

如何让 ipset 条目“年龄”?

我正在尝试使用 建立已成功登录系统的客户端白名单ipset。我必须有哪些选项来让条目老化,以便以后可以根据其寿命丢弃它?

有没有比下面概述的想法更好的方法?

我没有找到直接提供的任何内容,因此我试图确定/ipset范围内是否存在这样的设施。ipsetiptables


现在我想到的唯一想法是使用一个 cronjob 每 X 分钟或几小时交换列表。因此,作为示例,如果我在 20:00 到 20:59 之间的某个时间,我会有一个whitelist处于活动状态的列表,以及下一小时的列表(例如 21:00 )。whistelist_21任何客户端连接现在将被添加到活动状态whitelist和下一小时(或给定时间段)的白名单中。然后,在每个完整的小时(或给定的时间段),一个 cronjob - 例如在上述情况下的 21:00 - 将现有的替换whitelistwhitelist_21一个并处理(现已重命名)whitelist。例如:

ipset swap whitelist whitelist_21
ipset destroy whitelist_21

答案1

结果该man页面描述了我正在寻找的内容。它被恰当地调用timeout,并且可以在向 IP 集添加条目时指定。由于搜索错误的术语,我错过了它。

如果需要覆盖设置的默认值,则可以在创建集合时以及稍后为添加的每个条目指定默认超时值。

示例来自ipset(8)

ipset create test hash:ip timeout 300
ipset add test 192.168.0.1 timeout 60
ipset -exist add test 192.168.0.1 timeout 600

相关内容