我一直在嘗試找出如何更新 ipset 條目的超時,但到目前為止還沒有運氣,當使用本機 ipset 時,我只需使用:
$ ipset add foo 192.168.0.5 timout N -exist
但是firewalld似乎沒有根據手冊(man)實現這個功能,這是一個非常有用且常見的功能。 ip2ban 似乎繞過了firewalld ipset 實作並只是在本機使用它,所以我嘗試過但沒有成功:
IP 集建立:
$ ipset create foo hash:ip timeout 300
直接規則:
$ firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p TCP -m multiport --dports 22,443 -m set --match-set foo src -j ACCEPT
$ ipset add foo 192.120.11.1
https 請求和 ssh 連線嘗試被丟棄,沒有到主機的路由。一旦我停用firewalld,我就可以成功發送請求並連接到ssh。
- 我正在使用預設區域:
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
firewall-cmd --direct --get-all-rules: ipv4 過濾器輸入 0 -p TCP -m 多埠 --dports 22,443 -m set --match-set foo src -j ACCEPT
我做錯了什麼,這可以用firewalld嗎?
先致謝