在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