Debian 12 默认安装并启用了 nftables,其配置文件位于 /etc/nftables.conf
。
nftables 是功能强大且灵活的 Linux 防火墙框架,用于控制网络流量的进出。
查看防火墙状态
查看当前规则集:
sudo nft list ruleset
检查 nftables 服务状态:
sudo systemctl status nftables
启动服务:
sudo systemctl start nftables
设置为开机自动启动:
sudo systemctl enable nftables
管理 nftables 规则
1️⃣ 查看当前规则
sudo nft list ruleset
2️⃣ 添加规则
允许来自指定 IP 的流量:
sudo nft add rule ip filter input ip saddr 192.168.1.100 accept
拒绝来自指定 IP 的流量:
sudo nft add rule ip filter input ip saddr 192.168.1.100 drop
3️⃣ 保存规则以便重启后生效:
sudo nft list ruleset > /etc/nftables.conf
4️⃣ 清空所有规则:
sudo nft flush ruleset
5️⃣ 删除指定规则:
先查看规则 handle:
sudo nft list chain ip filter input
然后删除(将 <handle>
替换为实际编号):
sudo nft delete rule ip filter input handle <handle>
编辑配置文件
编辑 nftables 主配置文件:
sudo nano /etc/nftables.conf
示例配置:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
iif "lo" accept
ct state established,related accept
tcp dport ssh accept
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
说明:
- 默认丢弃所有传入流量
- 允许回环接口(lo)
- 允许已建立或相关连接
- 允许 SSH(22 端口)访问
- 丢弃所有转发流量
- 允许所有外出流量
使用 UFW 管理 nftables(可选)
UFW(Uncomplicated Firewall)是 nftables 的前端,使用更简单:
安装 ufw:
sudo apt install ufw
启用 ufw:
sudo ufw enable
⚠️ 注意: 如果你已经使用 nft
手动配置规则,建议不要再启用 UFW,以避免规则冲突。
总结
- Debian 12 默认使用 nftables。
- 使用
nft
命令手动配置规则。 - 可选使用 UFW 简化管理,但避免冲突。
- 编辑并保存
/etc/nftables.conf
保证规则持久化。 - 配置时务必小心,避免锁死远程连接。
- 更多信息:运行
man nft
或访问官方文档。
© 版权声明
THE END
暂无评论内容