Linux
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
. nftables 中的integer
類型是變長的;該mark
類型是integer
恰好 32 位長的類型的特化。我不知道如何強制轉換或以其他方式說服 nftables 該類型實際上是可以的。有什麼見解嗎?
因為我使用的是 nftables 0.9.0,而這個 bug直到 0.9.1 才修復。