我的服务器使用最近安装的 Centos8(约 1 年)。
尝试禁止某个 IP 后:
firewall-cmd --permanent --zone=extz --add-rich-rule='rule family="ipv4" source address="49.88.112.70" drop'
我的系统似乎已损坏:
# firewall-cmd --reload
Error: COMMAND_FAILED: Direct: '/usr/sbin/iptables-restore -w -n' failed: iptables-restore v1.4.21: Set blacklist doesn't exist.
Error occurred at line: 2
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
但重新启动服务却没有出现错误消息:
# systemctl restart firewalld
如果愿意的话(除了了解发生了什么)
- 要么恢复原状(似乎
--remove-rich-rule
还不够) - 或者使禁止方法起作用(以某种方式使用 ipset 添加一组?)
答案1
据记载这里我们创建blacklist
集合:
# sudo yum install ipset # was already installed
# sudo ipset create blacklist hash:ip hashsize 4096
# firewall-cmd --reload
success
正如 @MichaelHampto 在评论中指出的那样,该错误可能是由之前(部分)尝试达到相同目标(阻止 IP)引起的;类似于以下内容: 使用firewalld centos 7 删除 ip 黑名单
错误的解决应该是正确的但是和丰富的规则无关。