Debian 默认并没有像 firewalld(CentOS/RHEL 系列)那样“开箱即用”的防火墙前端,所以很多人会遇到 “防火墙打不开” 的情况。常见原因和解决办法如下:
Debian 默认:
iptables/nftablesufw 或 firewalld所以看起来像“防火墙打不开”。
ufw,但没启动Debian 推荐用 ufw(简单)。
sudo ufw status
如果显示:
Status: inactive
说明防火墙没启用。
sudo ufw enable
sudo ufw allow 22 # SSH
sudo ufw allow 80
sudo ufw allow 443
ufw 都没安装sudo apt update
sudo apt install ufw
sudo ufw enable
firewalld❌ Debian 默认没有 firewalld
如果你执行:
systemctl start firewalld
会提示:
Unit firewalld.service not found
✅ 想用 firewalld 的话:
sudo apt install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo iptables -L
如果看到:
Chain INPUT (policy ACCEPT)
这是 没有限制任何流量,不是防火墙坏了。
Debian 10 以后默认用 nftables。
查看:
sudo nft list ruleset
如果为空,说明没规则。
启用 nftables(可选):
sudo apt install nftables
sudo systemctl enable nftables
✅ 最省事
sudo apt install ufw
sudo ufw enable
✅ 服务器必做
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
| 需求 | 推荐 |
|---|---|
| 新手 / 简单 | ✅ ufw |
| 高级 / 复杂规则 | nftables |
| 习惯 CentOS | firewalld |
你可以直接发我:
sudo ufw status
sudo systemctl status firewalld