Debian 本身没有默认的防火墙服务,通常是通过 iptables / nftables 来实现,或者更常见的是使用 UFW(Uncomplicated Firewall) 作为前端。下面按从简单到专业的方式给你说明。
sudo apt update
sudo apt install ufw
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow from 192.168.1.100
sudo ufw allow from 192.168.1.100 to any port 3306
sudo ufw enable
sudo ufw disable
sudo ufw status verbose
sudo ufw delete allow 80/tcp
⚠️ 注意:Debian 10+ 默认底层是 nftables,iptables 实际是兼容层。
iptables -L -n
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
apt install iptables-persistent
netfilter-persistent save
sudo apt install nftables
sudo nft list ruleset
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 \; }
sudo nft add rule inet filter input tcp dport {22,80,443} accept
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input drop
sudo nft list ruleset > /etc/nftables.conf
| 场景 | 推荐 |
|---|---|
| 新手 / VPS | ✅ UFW |
| 老系统 / 脚本 | iptables |
| 新服务器 / 高性能 | ✅ nftables |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以帮你写一套完整可用的防火墙规则。