Rocky Linux 默认使用firewalld作为防火墙管理工具
一、查看防火墙状态
有两种常用方法
1. 使用 firewall-cmd 命令
# 查看基本状态(running/not running)
sudo firewall-cmd --state
# 查看详细状态(包括区域、服务、端口等)
sudo firewall-cmd --list-all
2. 使用 systemctl 命令(推荐)
# 查看服务状态
sudo systemctl status firewalld
状态显示为active (running)表示防火墙已开启,inactive (dead)表示已关闭
二、关闭防火墙
1. 临时关闭(重启后自动恢复)
sudo systemctl stop firewalld
2. 永久关闭(重启后仍保持关闭)
# 1. 停止防火墙服务
sudo systemctl stop firewalld
# 2. 禁用开机自启
sudo systemctl disable firewalld
# 3. 防止其他服务激活firewalld(可选但推荐)
sudo systemctl mask firewalld
三、开放指定端口
1. 开放单个端口(如 80 端口)
# 临时开放(重启后失效)
sudo firewall-cmd --zone=public --add-port=80/tcp
# 永久开放(重启后保留)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 应用更改
sudo firewall-cmd --reload
验证
# 查看已开放端口
sudo firewall-cmd --list-ports
2. 开放多个端口
# 一次性开放多个端口
sudo firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --permanent
# 应用更改
sudo firewall-cmd --reload
3. 开放一个端口范围
# 开放8000-8010范围内的所有TCP端口
sudo firewall-cmd --zone=public --add-port=8000-8010/tcp --permanent
# 应用更改
sudo firewall-cmd --reload
4. 使用服务名代替端口号
firewalld 预定义了常见服务(如 http、https、ssh 等),使用服务名更直观
# 开放HTTP服务(自动关联80端口)
sudo firewall-cmd --zone=public --add-service=http --permanent
# 开放HTTPS服务(自动关联443端口)
sudo firewall-cmd --zone=public --add-service=https --permanent
# 应用更改
sudo firewall-cmd --reload
5. 移除已开放的端口
# 移除80端口
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 应用更改
sudo firewall-cmd --reload