Debian GNU/Linux 12 (Bookworm) 防火墙管理工具 nftables使用

# 在 Debian 12 中管理 nftables 防火墙 (2025)

## 默认防火墙:nftables
Debian 12 默认安装并启用 nftables。其配置文件位于 /etc/nftables.conf。
nftables 是一个功能强大且灵活的工具,用于设置规则以允许或拒绝特定的网络流量。

## 查看防火墙状态
查看当前 nftables 规则:
sudo nft list ruleset

如果 nftables 未安装或未启用,可以使用以下命令管理服务:
# 检查服务状态
sudo systemctl status nftables

# 启动服务
sudo systemctl start nftables

# 设置开机启动
sudo systemctl enable nftables

## 管理 nftables 规则
使用 nft 命令管理防火墙规则。以下是常见操作:

### 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. 删除规则
使用 sudo nft list ruleset 查找规则的 handle,然后删除:
sudo nft delete rule ip filter input handle <rule_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;
}
}

此配置:
– 默认丢弃所有传入流量。
– 允许环回接口、已建立/相关连接以及 SSH(22 端口)。
– 丢弃所有转发流量。
– 允许所有传出流量。

## 使用 ufw 与 nftables
ufw(简易防火墙)是 nftables 的简化前端,默认未启用,可安装并使用:

# 安装 ufw
sudo apt install ufw

# 启用 ufw
sudo ufw enable

注意:如果已手动配置 nftables,建议避免使用 ufw,以防规则冲突。

## 总结
– Debian 12 默认使用 nftables 作为防火墙。
– 可通过 nft 命令直接管理规则,或使用 ufw 简化操作。
– 始终将规则保存到 /etc/nftables.conf 以确保持久化。
– 测试规则时需谨慎,避免锁定系统访问。

如需高级配置,请参阅 man nft 或官方 nftables 文档。

© 版权声明
THE END
喜欢就支持一下吧
点赞16 分享
Alex的头像-林儿博客
评论 抢沙发

请登录后发表评论

    暂无评论内容