centos stream9 防火墙封禁IP与开放端口

启动防火墙 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