语法:
sudo firewall-cmd --zone=<区域> --add-port=<端口>/<协议> --permanent
-
--zone
: 指定区域(默认为public
,根据网络环境调整)。 -
--add-port
: 要开放的端口和协议(如80/tcp
、443/udp
)。 -
--permanent
: 使规则永久生效(未加此参数则为临时规则,重启失效)。
示例:
# 开放 TCP 80 端口(HTTP)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 开放 TCP 443 端口(HTTPS)
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
# 开放 UDP 53 端口(DNS)
sudo firewall-cmd --zone=public --add-port=53/udp --permanent
重新加载防火墙配置
sudo firewall-cmd --reload
验证已开放的端口
# 列出所有永久生效的开放端口
sudo firewall-cmd --zone=public --list-ports
# 查看完整的防火墙配置(含服务、端口等)
sudo firewall-cmd --zone=public --list-all
移除已开放的端口
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload
开放服务(而非手动指定端口)
Firewalld 内置常用服务(如 http
, ssh
, ftp
):
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
临时开放端口(重启失效)
sudo firewall-cmd --zone=public --add-port=8080/tcp