nftables 包過濾器版本 1.1.6

封包過濾器 nftables 1.1.6 版本已發布,統一了 IPv4、IPv6、ARP 和橋接器的封包過濾介面(旨在取代 iptables、ip6table、a​​rptables 和 ebtables)。同時,發布了配套庫 libnftnl 1.3.1,提供了用於與 nf_tables 子系統互動的低階 API。

nftables 軟體包包含在用戶空間運行的資料包過濾元件,而核心級工作由核心的一部分 nf_tables 子系統提供。 Linux 自 3.13 版本以來,核心層級僅提供了一個通用的、與協定無關的接口,提供從資料包中提取資料、執行資料操作和流量控制的基本功能。

過濾規則本身和協定特定的處理程序在使用者空間被編譯成字節碼,之後該字節碼透過 Netlink 介面載入到核心中,並在核心中以特殊方式執行。 虛擬機這與伯克利數據包過濾器(BPF)類似。這種方法可以顯著減少核心級過濾程式碼的大小,並將所有規則解析和協定邏輯移至使用者空間。

主要變化:

  • 完全支援輕量隧道模板,例如 vxlan、geneve 和 erspan:表 netdev global { 隧道 t1 { id 10 ip saddr 192.168.2.10 ip daddr 192.168.2.11 sport 1025 dport 2020 隧道 { 20* 206 月 2 id 10 ip saddr 192.168.3.10 ip daddr 192.168.3.11 sport 1025 dport 21021 ttl 1 erspan { version 1 index 2 } } 鏈 in { type filter hook ingress device veth0 priority 0;隧道名稱 ip saddr 映射 { 10.141.10.12 : "t1", 10.141.10.13 : "t2" } 轉送至 erspan1 } } 在載入規則之前,您應該建立 erspan1 網路介面:ip link add dev erspan1 type erspan externexternal
  • 網路設備處理程序中網路介面名稱遮罩的支援新增了。例如,要為所有 VLAN 裝置的入站流量過濾器新增一個基本鏈,您可以指定:`table netdev t { chain c { type filter hook ingress devices = { "vlan*", "veth0" } priority filter; policy accept; }``
  • 在具有核心的系統上 Linux 6.18+ 支援將 L2 訊框傳送到網路橋接介面進行本地處理。例如,要將所有 MAC 位址為 de:ad:00:00:be:ef 的乙太網路訊框定向到 IP 協定棧,您可以指定:table bridge global { chain pre { type filter hook prerouting priority 0; policy accept; ether daddr: hostd:00:00:00 身圖 id accept } }
  • 新增了使用 afl++(美國模糊 lop++)工具鏈進行模糊測試的新基礎架構,在建置時透過「./configure --with-fuzzer」啟用。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster