在CentOS系统中配置防火墙以允许LNMP(Linux, Nginx, MySQL, PHP)服务,通常涉及使用firewalld
或iptables
。以下是使用firewalld
的步骤:
启动并启用firewalld服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
查看当前的防火墙区域:
sudo firewall-cmd --get-zones
将服务器添加到所需区域(通常是public
):
sudo firewall-cmd --zone=public --add-interface=eth0 --permanent
将eth0
替换为你的网络接口名称。
重新加载防火墙配置:
sudo firewall-cmd --reload
允许HTTP和HTTPS流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
允许MySQL/MariaDB服务(默认端口3306):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
允许SSH连接(默认端口22),如果你需要远程管理服务器:
sudo firewall-cmd --permanent --zone=public --add-service=ssh
重新加载防火墙配置以应用更改:
sudo firewall-cmd --reload
验证端口是否开放:
sudo firewall-cmd --list-all
或者检查特定端口是否开放:
sudo firewall-cmd --query-port=80/tcp
sudo firewall-cmd --query-port=443/tcp
sudo firewall-cmd --query-port=3306/tcp
sudo firewall-cmd --query-port=22/tcp
如果你更喜欢使用iptables
,步骤会有所不同,但基本思路相同:允许HTTP、HTTPS、MySQL/MariaDB和SSH的流量通过防火墙。
请注意,这些步骤假设你已经安装了firewalld
。如果你的系统使用的是iptables
,你需要使用iptables
命令来添加相应的规则。此外,确保在生产环境中谨慎配置防火墙规则,以避免不必要的安全风险。