我正在尝试应用以下我从中采用的 nftables 规则指导:
nft add rule filter INPUT tcp flags != syn counter drop
不知怎的,这最终是:
错误:无法处理规则:没有这样的文件或目录
谁能发现我在这条规则中到底遗漏了什么?
答案1
您可能丢失了桌子或链条。
nft list ruleset
会给你你正在使用的东西。如果它什么也没打印出来,那么你就错过了两者。
nft add table ip filter # create table
nft add chain ip filter INPUT { type filter hook input priority 0 \; } # create chain
然后您应该能够将您的规则添加到链中。
注意:如果您使用 ssh 登录,您的连接将被暂停。
答案2
我正在Error: Could not process rule: No such file or directory
使用 Yocto 构建的嵌入式 Linux 系统上获取 nftables 计数器规则。
就我而言,问题是由于内核配置造成的。我必须启用以下功能:
CONFIG_NFT_COUNTER=m
这样我就可以创建计数器。CONFIG_NFT_OBJREF=m
这样我就可以在规则中按名称引用计数器。
这篇邮件列表帖子帮助了我:
[OpenWrt-Devel] nftables:命名计数器于 18.06.4 损坏— 2019 年 9 月
答案3
就我而言,我需要CONFIG_NF_TABLES_INET=y
.
https://zigford.org/firewalld-kernel-requirements.html非常有帮助。
答案4
我有同样的错误消息,但我的错误是,我没有用大写字母写输入。
错误的:
nft add rule filter input tcp flags != syn counter drop
正确的:
nft add rule filter INPUT tcp flags != syn counter drop