Iptables

iptables 最近的模組:刪除早於的條目

  • January 20, 2021

我正在使用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 核心的相關原始碼部分

引用自:https://unix.stackexchange.com/questions/629401