Firewall

nftables NETDEV 系列支持哪些鏈類型?

  • September 5, 2021

來自nftables 快速參考

family 是指以下表類型之一:ip、arp、ip6、bridge、inet、netdev。

type 是指要創建的鏈的種類。可能的類型有:

過濾器:由 arp、bridge、ip、ip6 和 inet 表族支持。

route:標記數據包(如輸出鉤子的 mangle,其他鉤子使用類型過濾器代替),由 ip 和 ip6 支持。
nat:為了進行網路地址轉換,由 ip 和 ip6 支持。

另一個解釋如何配置鏈的文件中

可能的鏈類型有:

filter,用於過濾數據包。這由 arp、bridge、ip、ip6 和 inet 表系列支持。

路由,如果任何相關的 IP 頭欄位或數據包標記被修改,則用於重新路由數據包。如果您熟悉 iptables,則此鏈類型提供與 mangle 表等效的語義,但僅適用於輸出掛鉤(對於其他掛鉤,請改用類型過濾器)。這由 ip、ip6 和 inet 表系列支持。

nat,用於執行網路地址轉換 (NAT)。只有給定流的第一個數據包會到達這個鏈;隨後的數據包繞過它。因此,切勿使用此鏈進行過濾。ip、ip6 和 inet 表族支持 nat 鏈類型。

因此,根據至少兩個權威參考文獻,該netdev家族不支持任何鏈類型。鑑於此,我們怎麼能使用netdev家庭呢?

我是新手,但也對 nftables 規則感興趣。我在 nftables wiki 中找到:“這個(netdev)系列的主要(唯一?)用途是用於使用 ingress 掛鉤的基本鏈,這是 Linux 核心 4.2 中的新功能。” 更多資訊在文章末尾:https ://wiki.nftables.org/wiki-nftables/index.php/Nftables_families

Ingress hook 允許您過濾 L2 流量。它出現在預路由之前,在數據包從 NIC 驅動程序向上傳遞之後。這意味著您可以實施非常早的過濾策略。數據包路徑中的這個非常早的位置非常適合丟棄與 DDoS 攻擊相關的數據包。在入口鉤子上添加鏈時,必須指定將附加鏈的設備

來源:https ://www.datapacket.com/blog/securing-your-server-with-nftables

如何指定設備可以在這裡找到: How to use variable for device name when declaring a chain to use the (netdev) ingress hook?

引用自:https://unix.stackexchange.com/questions/666995