nftables 拒绝添加规则“错误:无法处理规则:没有这样的文件或目录”

nftables 拒绝添加规则“错误:无法处理规则:没有这样的文件或目录”

问题:

当尝试添加 nft 规则时,我不断收到“错误:无法处理规则:没有这样的文件或目录”

命令示例:

nft add rule netdev filter input ip daddr 10.10.10.10 counter

故障排除:

  • 已确认的“netdev 过滤器”如所列表格所示nft list tables
  • 确保 nftables.service 正在运行。
  • 单元文件显示 /etc/nftables.conf 正在使用。
  • 以 root 身份运行所有命令。
  • 这个帖子建议设置CONFIG_NF_TABLES_INET=y.我如何以及如何做到这一点?尚不清楚。

系统

  • Ubuntu 20.04.2 LTS
  • 内核 5.4.0-91-通用

不知道如何解决这个问题,错误非常模糊。我缺少什么?为什么我无法添加 nft 规则?

答案1

地址netdev族没有input钩子,但有ingress钩子。您的命令可能仍然有效,但前提是您创建了一个名为inputfirst的基本链,例如

nft add chain netdev filter input \{ type filter hook ingress device "eth0" priority filter; policy accept; \}

在这里,第一个filter姓名预先存在的netdev filter表。第二filter指定类型链的第三个filter是正常的标准名称优先事项用于过滤器链。

设置的建议CONFIG_NF_TABLES_INET=y可能也意味着使用inet地址族,除非netdev您有特定需要使用后者。

相关内容