Firewall
如何讓 ipset 條目“老化”?
我正在嘗試建立已成功登錄系統的客戶端的白名單,使用
ipset
. 我有哪些選項可以讓條目年齡,以便我以後可以根據它的年齡丟棄它?有沒有比下面概述的想法更好的方法?
我沒有找到
ipset
直接提供的任何東西,所以我試圖確定這樣的設施是否存在於ipset
/的範圍內iptables
。現在我想出的唯一想法是使用一個 cronjob 每 X 分鐘或幾小時交換一次列表。例如,如果我在 20:00 和 20:59 之間的某個時間,我將有一個
whitelist
處於活動狀態的列表,以及下一小時的列表(比如 21:00 )。現在whistelist_21
連接的任何客戶端都將在下一小時(或給定時間段)添加到活動和白名單中。然後在每個完整小時(或給定時間段)一個 cronjob - 例如在上述情況下的 21:00 - 將現有的交換為一個並處理(現在重命名)。例如:whitelist``whitelist``whitelist_21``whitelist
ipset swap whitelist whitelist_21 ipset destroy whitelist_21
結果
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