Linux

iptables 停止使用“無法載入匹配‘狀態’:沒有這樣的文件或目錄”

  • February 25, 2022

這條規則

-A INPUT  -i eth0  -p tcp -s 10.0.0.6/24 -m state --state NEW,ESTABLISHED --dport 17828 -j ACCEPT

以前在我的 iptables 上工作得很好,但現在似乎失敗並顯示以下消息:

iptables-restore v1.8.2 (nf_tables): Couldn't load match `state':No such file or directory

這可能是由於系統更新?我無法弄清楚這裡的問題。謝謝!

是的,這可能是由於系統更新 - iptables 正在被 nftables 取代,而iptables-restore您正在執行的版本正在使用 nftables。您應該改為執行iptables-legacy-restore

從長遠來看,最好遷移到 nftables,因為 iptables 將在某個時候被棄用並從發行版中刪除。試試iptables-translate吧,它可以幫助您完成大部分過渡。

state已棄用,使用

-m conntrack --ctstate ESTABLISHED,RELATED

代替

-m state --state ESTABLISHED,RELATED

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