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

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

温馨提示:本文最后更新于2025-08-04 15:28:48,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长

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
喜欢就支持一下吧
点赞17 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容