在Linux系统中设置LNMP(Linux, Nginx, MySQL, PHP)防火墙,通常涉及配置iptables或使用更现代的firewalld服务。以下是使用这两种方法的步骤:
查看现有规则:
sudo iptables -L -n
允许SSH连接(如果需要远程管理服务器):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许HTTP和HTTPS流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
允许MySQL/MariaDB连接(默认端口3306):
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
拒绝所有其他输入:
sudo iptables -P INPUT DROP
保存规则:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
sudo service iptables save
重启iptables服务(如果需要):
sudo systemctl restart iptables
安装firewalld(如果尚未安装):
sudo yum install firewalld
启动并启用firewalld服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允许SSH连接:
sudo firewall-cmd --permanent --add-service=ssh
允许HTTP和HTTPS流量:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
允许MySQL/MariaDB连接:
sudo firewall-cmd --permanent --add-port=3306/tcp
重新加载firewalld配置:
sudo firewall-cmd --reload
查看当前防火墙状态和规则:
sudo firewall-cmd --list-all
通过以上步骤,您可以在Linux系统中为LNMP环境设置防火墙,确保系统的安全性和稳定性。