
在Debian系统中搭建LAMP(Linux, Apache, MySQL, PHP)环境时,通常使用ufw(Uncomplicated Firewall)来进行防火墙设置。以下是具体的操作流程:
1. 安装 ufw
首先检查系统是否已安装ufw。如果尚未安装,可以通过以下命令完成安装:
sudo apt update sudo apt install ufw
2. 启动 ufw
安装完成后,启动ufw服务:
sudo ufw enable
此时系统会提示你确认操作,输入y并回车以继续。
3. 开放必要的端口
LAMP环境常用到的端口包括:
- HTTP: 端口80
- HTTPS: 端口443
- SSH: 端口22(用于远程连接)
- MySQL: 端口3306
使用以下命令开放这些端口:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 22/tcp sudo ufw allow 3306/tcp
4. 检查防火墙状态
你可以通过下面的命令查看当前防火墙的状态及规则列表:
sudo ufw status
5. 设置特定IP访问权限
如需限制仅特定IP地址可以访问服务器,可执行如下命令:
sudo ufw allow fromto any port 80 sudo ufw allow from to any port 443 sudo ufw allow from to any port 22 sudo ufw allow from to any port 3306
请将其中的
6. 关闭 ufw
若要临时关闭防火墙,可使用以下命令:
sudo ufw disable
7. 刷新防火墙规则
修改了防火墙规则后,需要重新加载才能生效,使用以下命令刷新:
sudo ufw reload
8. 使用 iptables 进行高级配置
对于更复杂的防火墙需求,可以使用iptables工具。下面是一些基本的iptables命令示例:
-
允许HTTP和HTTPS流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
-
接受SSH连接请求:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
-
允许MySQL连接:
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
-
阻止所有未明确允许的传入流量:
sudo iptables -P INPUT DROP
-
保存当前iptables规则:
sudo iptables-save > /etc/iptables/rules.v4
加载已保存的规则文件:
sudo iptables-restore
按照上述步骤进行配置后,你的Debian LAMP环境即可具备基本的防火墙保护功能。










