常用命令
# 查看防火墙状态
firewall-cmd --state
systemctl status firewalld
# 查看当前防火墙配置
firewall-cmd --list-all
# 放行指定服务(移除规则只需将 add 替换为 remove,下同)
firewall-cmd --add-service=ssh
# 放行指定端口
firewall-cmd --add-port=8000/tcp
# 放行指定 IP
firewall-cmd --add-source=192.168.88.30
# 设置规则持久化
firewall-cmd --add-service=ssh --permanent # 针对每条规则添加 --permanent 参数
firewall-cmd --runtime-to-permanent # 或者将之前添加的规则转换为持久化
# 重新加载配置,针对新增的持久化规则需要执行该命令后才生效
firewall-cmd --reload
自定义服务
# 查看当前支持的所有服务
firewall-cmd --get-services
# 自定义 myrsyncd 服务
cp /usr/lib/firewalld/services/rsyncd.xml /etc/firewalld/services/myrsyncd.xml
sed -i 's/873/22873/' /etc/firewalld/services/myrsyncd.xml # 修改端口为 22873
# 放行 myrsyncd 服务
firewall-cmd --permanent --add-service=myrsyncd
firewall-cmd --reload
参考