Iptables
iptables 最近的模組:刪除早於的條目
我正在使用
iptables
recent
模組:-A INPUT -m recent --rsource --name PORTSCAN --set -j DROP
上面的行將有問題的 IP 地址添加到
/proc/net/xt_recent/PORTSCAN
.現在我正在尋找一種方法來定期(cron 作業)檢查此列表,並刪除超過
n
幾小時的條目。我正在使用
xt_recent.ip_pkt_list_tot=1
帶有recent
. 這意味著,當看到數據包時,我不會多次保留。我只保留上次看到數據包的時間。所以列表
/proc/net/xt_recent/PORTSCAN
看起來像這樣:src=185.242.5.46 ttl: 240 last_seen: 4312349727 oldest_pkt: 1 4312349727 src=184.100.29.188 ttl: 57 last_seen: 4312673918 oldest_pkt: 1 4312673918 src=184.157.25.107 ttl: 57 last_seen: 4312086204 oldest_pkt: 1 4312086204
我怎樣才能定期“清除”這個列表,以便我只保留不到
n
幾個小時的條目?是否
iptables
提供了一些方法來做到這一點?還是我必須使用一些自定義腳本來完成?
從iptables-extensions 手冊頁,關於以下部分,它看起來就像
--reap
您正在尋找的東西:recent
--reap
此選項只能與 結合使用--seconds
。使用時,這將導致早於最後給定秒數的條目被清除。至於它是如何工作的,這裡是來自 Linux 核心的相關原始碼部分。