nftables:根据原始有效载荷设置数据包标记

nftables:根据原始有效载荷设置数据包标记

我正在尝试使用 将数据包的标记字段设置为 (第 5 层) 标头中的 32 位字段nft add rule inet filter output udp dport 31337 meta mark set @th,96,32。 (我正在提取第 5 层标头中的第二个 dword,但由于提取从第 4 层标头的偏移量开始,因此我添加了 64 位以到达 UDP 有效负载。)

但是,我得到了Error: datatype mismatch: expected packet mark, expression has type integer。nftablesinteger中的类型是可变长度的;mark类型是长度恰好为 32 位的类型的特化integer。我不知道如何转换或以其他方式让 nftables 相信该类型实际上是可以的。

有什么见解吗?

答案1

因为我使用的是 nftables 0.9.0,并且这个错误直到 0.9.1 版本才修复。

相关内容