Linux 虚拟主机防火墙设置方法(2025 实用教程)
一、为什么要配置防火墙?
防火墙是 Linux 系统中最基础、最有效的安全防护手段。
它可以通过控制网络端口与访问规则,防止恶意扫描、入侵和攻击。
在虚拟主机环境中,配置防火墙可以:
✅ 阻止非法访问与端口扫描
✅ 保护网站和数据库安全
✅ 限制 SSH、FTP、HTTP 等端口访问范围
✅ 提高整机运行稳定性
二、常见的 Linux 防火墙类型
| 防火墙类型 | 适用系统 | 特点 |
|---|---|---|
| UFW(Uncomplicated Firewall) | Ubuntu / Debian | 简单易用、命令直观 |
| FirewallD | CentOS / AlmaLinux / Rocky | 动态防火墙、支持区域管理 |
| iptables | 所有Linux版本 | 功能强大,但配置复杂 |
💡 建议:普通用户使用 UFW,运维人员或企业可使用 FirewallD。
三、查看防火墙状态
✅ 查看防火墙是否已启用
sudo ufw status
或(如果系统使用 FirewallD):
sudo systemctl status firewalld
若提示 inactive (disabled),则表示防火墙未启用,需要手动开启。
四、UFW 防火墙配置方法(Ubuntu / Debian 系统)
1. 启用防火墙
sudo ufw enable
2. 查看防火墙状态
sudo ufw status verbose
3. 开放常用端口
sudo ufw allow 22 # SSH 远程登录
sudo ufw allow 80 # HTTP 网站访问
sudo ufw allow 443 # HTTPS 安全访问
sudo ufw allow 3306 # MySQL 数据库(如需远程连接)
4. 拒绝危险端口
sudo ufw deny 23 # 禁止 Telnet
sudo ufw deny 8080 # 禁止测试端口
5. 关闭防火墙(仅临时调试使用)
sudo ufw disable
⚠️ 注意:关闭防火墙可能导致网站或主机暴露在公网中,务必谨慎操作。
五、FirewallD 防火墙配置方法(CentOS / AlmaLinux)
1. 启动防火墙
sudo systemctl start firewalld
sudo systemctl enable firewalld
2. 查看开放端口
sudo firewall-cmd --list-ports
3. 开放常见端口
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
4. 关闭端口
sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo firewall-cmd --reload
5. 查看防火墙区域
sudo firewall-cmd --get-active-zones
💡 技巧: 使用 “public” 区域管理规则最为通用,适合虚拟主机部署。
六、iptables 高级配置(高级用户)
查看规则:
sudo iptables -L -n
开放端口:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
保存规则:
sudo service iptables save
✅ 推荐:仅在需要复杂流量控制或内网隔离的环境下使用 iptables。
七、安全策略优化建议
-
限制 SSH 登录来源
仅允许特定 IP 登录:sudo ufw allow from 123.45.67.89 to any port 22 -
启用防暴力破解工具
sudo apt install fail2ban -
定期备份防火墙规则
sudo ufw status numbered > /root/ufw-backup.txt -
阻止 Ping 请求(防止网络扫描)
编辑:sudo nano /etc/ufw/before.rules在文件顶部添加:
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP然后保存并重启防火墙。
八、测试防火墙是否生效
使用以下命令测试端口状态:
sudo netstat -tulnp | grep 80
sudo ufw status
或在线访问工具:
九、常见问题(FAQ)
Q1:开启防火墙后,网站无法访问?
A1:请确认 80 和 443 端口是否已开放,可执行:sudo ufw allow 80,443/tcp
Q2:防火墙规则修改后未生效?
A2:修改规则后需执行 sudo ufw reload 或 sudo systemctl reload firewalld
Q3:能同时使用 UFW 和 FirewallD 吗?
A3:不建议同时开启,会发生冲突。请选择其中一种。
Q4:虚拟主机用户能配置防火墙吗?
A4:共享虚拟主机用户权限受限,如需自定义防火墙,请使用云服务器或独立主机。
十、总结
配置防火墙是保障 Linux 虚拟主机安全的首要步骤。
无论是 UFW、FirewallD 还是 iptables,它们的核心目标都是保护端口与流量。
通过本文教程,你可以快速完成:
启动防火墙 → 开放必要端口 → 拒绝风险端口 → 优化安全策略
玖伴云的 Linux 虚拟主机已预置防火墙策略,可在面板中一键开启安全防护。
👉 访问 玖伴云帮助中心 获取更多主机安全教程。