在LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境中配置防火墙规则主要涉及到Linux系统的防火墙配置。以下是几种常见的方法:
firewalld
配置防火墙规则firewalld
是CentOS 7及以上版本推荐的防火墙管理工具,使用更方便。
启动并启用 firewalld
服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
配置防火墙区域:
sudo firewall-cmd --permanent --zone=public --add-interface=eth0 --permanent
重新加载防火墙配置:
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 --list-all
iptables
配置防火墙规则iptables
是一个功能强大的命令行工具,但配置相对复杂。
设置防火墙默认策略:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
配置允许的入站规则:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
保存防火墙规则:
sudo service iptables save
重启防火墙服务:
sudo systemctl restart iptables
ufw
配置防火墙规则(适用于Ubuntu)ufw
是一个简单易用的防火墙管理工具。
安装和启用 ufw
:
sudo apt update
sudo apt install ufw
sudo ufw enable
配置 ufw
规则:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp
sudo ufw allow 22/tcp
查看 ufw
状态:
sudo ufw status
重新加载 ufw
:
sudo ufw reload