一、先看防火墙状态
bash
systemctl status firewalld
没启动就启动并开机自启:
bash
systemctl start firewalld
systemctl enable firewalld
二、开放端口(最常用)
1. 开放 80 端口(HTTP/Nginx)
bash
firewall-cmd --add-port=80/tcp --permanent
2. 开放 443 端口(HTTPS)
bash
firewall-cmd --add-port=443/tcp --permanent
3. 开放 MySQL 3306
bash
firewall-cmd --add-port=3306/tcp --permanent
4. 开放一段端口(如 8080-8090)
bash
firewall-cmd --add-port=8080-8090/tcp --permanent
加了必须重载才能生效:
bash
firewall-cmd --reload
三、关闭端口
bash
firewall-cmd --remove-port=3306/tcp --permanent
firewall-cmd --reload
四、查看已开放的端口
bash
firewall-cmd --list-ports
查看全部规则(端口 + 服务):
bash
运行
firewall-cmd --list-all
五、常用服务一键开放
bash
# http
firewall-cmd --add-service=http --permanent
# https
firewall-cmd --add-service=https --permanent
# mysql
firewall-cmd --add-service=mysql --permanent
# 重载
firewall-cmd --reload
六、关闭 / 禁用防火墙(不推荐)
bash
运行
systemctl stop firewalld
systemctl disable firewalld
运维万能流程(背这个)
- 加端口
--add-port=端口/tcp --permanent - 重载
--reload - 查看
--list-ports