以下是CentOS LAMP环境防火墙设置教程(基于firewalld,适用于CentOS 7/8):
安装并启动firewalld
sudo yum install firewalld # 安装
sudo systemctl start firewalld # 启动
sudo systemctl enable firewalld # 开机自启
查看当前规则
sudo firewall-cmd --list-all # 查看所有规则
| 服务 | 端口/协议 | 命令(永久生效) |
|---|---|---|
| HTTP | 80/tcp | sudo firewall-cmd --add-service=http --permanent |
| HTTPS | 443/tcp | sudo firewall-cmd --add-service=https --permanent |
| MySQL | 3306/tcp | sudo firewall-cmd --add-port=3306/tcp --permanent |
| SSH | 22/tcp(可选) | sudo firewall-cmd --add-service=ssh --permanent |
说明:
--permanent:规则永久生效,重启后保留。sudo firewall-cmd --reload
限制IP访问(如仅允许特定IP访问HTTP)
sudo firewall-cmd --add-rich-rule="rule source address='192.168.1.100' service name=http accept" --permanent
sudo firewall-cmd --reload
端口转发(如将8080端口转发到80端口)
sudo firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80 --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --query-port=80/tcp # 返回yes表示开放
sudo firewall-cmd --remove-port=3306/tcp --permanent
sudo firewall-cmd --reload
setenforce 0临时关闭测试,但生产环境建议正确配置)。以上步骤参考自,可根据实际需求调整。