nftables 1.0.7 數據包過濾器的版本已經發布,其中包含一些改進、更正以及一些新功能。
對於那些不熟悉 nftables 的人,你應該知道這個 為 IPv4 統一包過濾接口, IPv6、ARP 和網絡橋接(旨在取代 iptables、ip6table、arptables 和 ebtables)。 同時,發布了 libnftnl 1.2.3 配套庫,它提供了與 nf_tables 子系統接口的低級 API。
nftables包 包括在用戶空間中工作的數據包篩選器組件, 而在內核級別,nf_tables子系統提供了自3.13版以來的Linux內核的一部分。
僅在核心級別 提供獨立於協議的通用接口 具體並提供 基本功能 從數據包中提取數據,執行數據操作並控制流量。
該 直接過濾規則和特定於協議的驅動程序 它們被編譯為用戶空間中的字節碼,然後使用Netlink接口將該字節碼加載到內核中,並在類似於BPF(伯克利包過濾器)的特殊虛擬機中在內核中執行。
Nftables 1.0.7的主要新功能
在這個來自 nftables 1.0.7 的新版本中,對於 Linux 6.2+內核系統, 添加 支持vxlan、geneve、gre和gretap協議匹配, 它允許簡單的表達式來檢查封裝數據包中的標頭。
例如,要檢查嵌套 VxLAN 數據包標頭中的 IP 地址,您現在可以使用規則(無需先取消封裝 VxLAN 標頭並將過濾器綁定到 vxlan0 接口):
除此之外,還要強調的是並實現了對殘基自動合併的支持 從配置列表中部分刪除項目後,允許從現有範圍中刪除項目或範圍的一部分(以前,只能刪除整個範圍)。
例如,從範圍為 25-24 和 30-40 的列表集中刪除項目 50 後,24、26-30 和 40-50 將保留在列表中。 自動合併工作所需的修復將在 5.10+ 穩定內核分支的補丁版本中提供。
還注意到它被添加 支持表達“最後”該 允許找出最後一次使用規則或配置列表的元素. 這個特性從 Linux 內核 5.14 開始就被支持了。
另一方面,也強調 添加了一個新的“銷毀”命令 無條件地刪除對象(與 remove 命令不同,它在嘗試刪除丟失的對象時不會引發 ENOENT)。 它至少需要 Linux 6.3-rc 內核才能工作。
- 允許在集合列表中使用常量。 例如,使用目標地址和 VLAN ID 的列表作為鍵,您可以直接指定 VLAN 號 (daddr . 123):
- 添加了在配置列表上定義配額的功能。 例如,要為每個目標 IP 地址定義流量配額,您可以指定 .
- 允許在地址轉換 (NAT) 映射中使用聯繫人和範圍。
終於 對於那些有興趣了解更多信息的人 關於這個新版本,您可以查看詳細信息 在下面的鏈接中。
如何安裝新版本的nftables 1.0.7?
對於那些有興趣能夠獲得新版本 nftables 1.0.7 的人 目前只有源代碼可以編譯 在您的系統上。 儘管幾天之內已經編譯好的二進制軟件包將在不同的Linux發行版中可用。
要進行編譯,必須安裝以下依賴項:
這些可以用以下命令編譯:
./autogen.sh ./configure make make install
對於nftables 1.0.5,我們從以下位置下載 以下鏈接。 並使用以下命令完成編譯:
cd nftables ./autogen.sh ./configure make make install