启动防火墙 systemctl start firewalld
防火墙开机自启动 systemctl enable firewalld
创建IP黑名单 firewall-cmd –permanent –zone=public –new-ipset=blacklist –type=hash:net
执行此命令会在/etc/firewalld/ipsets路径下看到生成的blacklist.xml文件
#添加ip
$ firewall-cmd –permanent –zone=public –ipset=blacklist –add-entry=x.x.x.x
#添加ip段
$firewall-cmd –permanent –zone=public –ipset=blacklist –add-entry=x.x.x.0/24
#删除ip
$firewall-cmd –permanent –zone=public –ipset=blacklist –remove-entry=x.x.x.x
#删除ip段
$firewall-cmd –permanent –zone=public –ipset=blacklist –remove-entry=x.x.x.0/24
备注: –permanent参数表示永久生效,内容会写入blacklist.xml文件且需要重启防火墙;
firewall-cmd –reload生效,如果不加该参数,则立即生效,内容不会写入blacklist.xml文件,服务重启则规则失效。
$ firewall-cmd –permanent –zone=public –add-rich-rule=’rule source ipset=blacklist drop’
前面只是创建了名为blacklist的ipset,而且也往里面增加了内容,最后一步即防火墙封禁该ipset即可,这样的好处是防火墙只是一条规则就封禁了文件里管理的大量ip。
重新载入防火墙即可生效:
firewall-cmd –reload
开放端口命令: # 永久开放端口,例如开放TCP 8080端口
sudo firewall-cmd –permanent –add-port=8080/tcp
# 重新加载防火墙规则使更改生效
sudo firewall-cmd –reload