运行 Debian 12
我按照以下方式创建了一个 IPSet:
~$ firewall-cmd --permanent --new-ipset=myipset --type=hash:ip --option=timeout=0
success
~$ firewall-cmd --reload
success
~$ firewall-cmd --permanent --zone=drop --add-source=ipset:myipset
success
~$ firewall-cmd --zone=drop --list-sources
ipset:myipset
我把一个 IP 添加到列表中:
~$ firewall-cmd --ipset=myipset --add-entry=1.2.3.4
success
~$ firewall-cmd --ipset=myipset --get-entries
1.2.3.4
我尝试删除:
~$ firewall-cmd --ipset=myipset --remove-entry=1.2.3.4
success
然而,当我再次检查条目时,该 IP 仍然存在:
~$ firewall-cmd --ipset=myipset --get-entries
1.2.3.4
在永久环境中,该行为按预期工作。这是错误还是预期行为?
还有其他方法可以解决这个问题吗?我正在尝试使用firewalld ipsets进行fail2ban操作,当尝试在同一个监狱内第二次禁止IP时,问题就很明显了。
我希望避免每次执行操作时重新加载firewalld,以减少负载。