nftables 和 iptables/ip6tables 規則可以同時應用嗎?如果是這樣:優先順序是什麼?
這個問題幾乎已經在標題中了:
nftables 和 iptables/ip6tables 規則可以同時應用嗎?如果是這樣:優先順序是什麼?
我問的原因是:許多工具——尤其是來自容器化領域的工具——仍然依賴
iptables
並ip6tables
添加規則,並使容器化服務對網路上的其他實體可用或不可用。因此,如果我想用它來表達我的標準防火牆規則,nft
它必須與iptables
/並行工作ip6tables
。或者這是通過使用
iptables-legacy
/ip6tables-legacy
withupdate-alternatives
或類似方式來滿足的?即所有這些容器化工具繼續使用他們假設的iptables
/ip6tables
,但實際上它是 nftables 提供的兼容性“層”?至於優先順序,如果可以顯示規則具有哪些優先級,我將不勝感激。
除了 NAT 之外,還可以同時使用核心的
iptables
andnftables
,但需要注意。應用規則的順序由鉤子優先級決定;傳統iptables
預設值為 0,因此nft
如果應該在之前應用掛鉤,則可以將優先級設置為 -1,如果應該在iptables
之後應用,則可以將其設置為 1。
iptables-nft
旨在促進遷移到nft
. 將其安裝在一起nft
將允許期望iptables
/ip6tables
介面的程序繼續工作,nftables
在核心中使用。這是目前容器化環境(例如 Kubernetes)中使用的方法:容器應該檢測主機使用哪一組表,並使用相應的
iptables
介面(饋送遺留表或nftables
)。有關詳細資訊,請參閱Kubernetes 問題 #71305。主要的痛點來自於組合
iptables-nft
和iptables-legacy
:它們使用相同的優先級,因此數據包通過兩條鏈並最終無處可去。有關優先級的詳細資訊,請參閱何時以及如何在 nftables 中使用鏈優先
nftables
級。