在 Debian 中,iptables 本身并不是一个“服务”,而是用于配置 Linux 内核防火墙规则的工具。是否需要在“启动时生效”,取决于 Debian 的版本 以及你使用的 防火墙管理方式。下面分情况说明。
iptables 实际是 iptables-nft(兼容层)iptables systemd 服务iptablesiptables-persistent 实现开机自启iptables-persistent(最常用)sudo apt update
sudo apt install iptables-persistent
安装过程中会询问是否保存当前规则:
它会创建:
/etc/iptables/rules.v4/etc/iptables/rules.v6以阻止 80 端口为例:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
保存规则(开机自动加载):
sudo netfilter-persistent save
或手动:
sudo iptables-save > /etc/iptables/rules.v4
sudo systemctl enable netfilter-persistent
sudo systemctl start netfilter-persistent
✅ 重启后规则自动生效
sudo iptables-save > /etc/iptables/rules.v4
或创建启动脚本:
sudo nano /etc/network/if-pre-up.d/iptables
内容:
#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
赋予执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
sudo iptables -L -n -v
如果你不依赖 iptables,可以直接使用 nftables:
sudo apt install nftables
sudo systemctl enable nftables
sudo systemctl start nftables
| 场景 | 推荐方式 |
|---|---|
| Debian 10+ | iptables-persistent |
| 需要开机自动加载 | netfilter-persistent |
| 新系统 | 直接用 nftables |
| 临时测试 | 直接 iptables 命令 |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你一套 最合适、最安全的防火墙配置方案 ✅