Linux

nftables:從原始有效負載設置數據包標記

  • August 5, 2019

我正在嘗試將數據包的標記欄位設置為(第 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. nftables 中的integer類型是變長的;該mark類型是integer恰好 32 位長的類型的特化。我不知道如何強制轉換或以其他方式說服 nftables 該類型實際上是可以的。

有什麼見解嗎?

因為我使用的是 nftables 0.9.0,而這個 bug直到 0.9.1 才修復。

引用自:https://serverfault.com/questions/978032