firewalld 服务管理
# 启动 firewalld
sudo systemctl start firewalld
# 停止 firewalld
sudo systemctl stop firewalld
# 重启 firewalld
sudo systemctl restart firewalld
# 查看 firewalld 状态
sudo systemctl status firewalld
# 设置 firewalld 开机自启动
sudo systemctl enable firewalld
# 禁用 firewalld 开机自启动
sudo systemctl disable firewalld
查看和管理防火墙规则
# 查看防火墙状态和规则
sudo firewall-cmd --state
sudo firewall-cmd --list-all
# 查看当前区域
sudo firewall-cmd --get-active-zones
# 查看指定接口所属区域
sudo firewall-cmd --get-zone-of-interface=<interface>
# 查看某个区域的所有规则
sudo firewall-cmd --zone=<zone> --list-all
添加和移除端口
# 永久添加端口(例如 TCP 端口 80)
sudo firewall-cmd --permanent --add-port=80/tcp
# TCP 端口 8080,9090
sudo firewall-cmd --add-port={8080,9090}/tcp --permanent
# 永久移除端口(例如 TCP 端口 80)
sudo firewall-cmd --permanent --remove-port=80/tcp
# 重新加载防火墙以应用永久规则
sudo firewall-cmd --reload
添加和移除服务
# 永久添加服务(例如 HTTP 服务)
sudo firewall-cmd --permanent --add-service=http
# 永久移除服务(例如 HTTP 服务)
sudo firewall-cmd --permanent --remove-service=http
# 重新加载防火墙以应用永久规则
sudo firewall-cmd --reload
临时规则(重启后失效)
# 临时添加端口
sudo firewall-cmd --add-port=80/tcp
# 临时移除端口
sudo firewall-cmd --remove-port=80/tcp
# 临时添加服务
sudo firewall-cmd --add-service=http
# 临时移除服务
sudo firewall-cmd --remove-service=http
管理区域和接口
# 将接口添加到某个区域
sudo firewall-cmd --zone=<zone> --add-interface=<interface> --permanent
# 将接口从某个区域移除
sudo firewall-cmd --zone=<zone> --remove-interface=<interface> --permanent
# 重新加载防火墙以应用永久规则
sudo firewall-cmd --reload
其他常用命令
# 查看所有可用服务
sudo firewall-cmd --get-services
# 查看所有开放的端口
sudo firewall-cmd --list-ports
# 查看所有开放的服务
sudo firewall-cmd --list-services