我正在尝试建立一个使用ipset成功登录到系统的客户端的白名单。我有什么选择,让一个进入年龄,以便我可以在以后放弃它的年龄?
有比下面概述的想法更好的方法吗?
我没有直接找到ipset提供的任何东西,所以我试图确定这样的工具是否存在于ipset/iptables的范围内。
现在,我想出的唯一想法是使用一个cronjob,每隔X分钟或每小时交换一次列表。例如,如果我是在20:00到20:59之间的某个时间,我就会有一个活动的list whitelist,再加上下一个小时的列表(例如21:00 whistelist_21)。现在连接的任何客户端都将添加到active whitelist中,并添加到下一小时(或给定时间段)的白名单中。然后,在每一个完整的时间(或给定的时间段),一个长时间(例如在上述情况下的21:00 )将现有的whitelist替换为whitelist_21 1,并处理(现在改名的) whitelist。例如:
ipset swap whitelist whitelist_21
ipset destroy whitelist_21发布于 2014-05-24 03:53:29
原来,man页面描述了我正在寻找的东西。它恰如其分地称为timeout,可以在向IP集中添加条目时指定。我错过了,因为我找错了条件。
在创建集合时,可以给出默认的超时值,如果希望覆盖set默认值,则为添加的每个条目提供默认超时值。
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 600https://unix.stackexchange.com/questions/131711
复制相似问题