Iptables
將防火牆規則從 iptables 轉換為 nftables
我有這個規則
iptables
iptables -I INPUT 1 -i eth0 -p tcp -s 192.168.178.20 --dport 8201 -j REJECT
我一直在尋找如何翻譯規則教程但找不到它們。如何創建該規則
nftables
?還是語法相同?
來自 nftables維基:
自 2018 年 6 月以來,舊的 xtables/setsockopt 工具被視為遺留工具。但是,支持將 iptables/ip6tables/arptables/ebtables 舊語法與 nf_tables 核心後端一起使用。這在 Legacy xtables 工具 wiki 頁面中有更多詳細資訊。
您可以使用
iptables-nft
來實現您的目標,如下所示:iptables-nft -I INPUT 1 -i eth0 -p tcp -s 192.168.178.20 --dport 8201 -j REJECT
進入後,
iptabels-nft-save
將應用您的規則。您可以通過以下方式確認此規則存在於 nftables 中:nft list ruleset
你必須看到這樣的東西:
nft list ruleset table ip filter { chain INPUT { type filter hook input priority filter; policy accept; iifname "eth0" ip saddr 192.168.178.20 tcp dport 8201 counter packets 0 bytes 0 reject } }
此外,您可以使用以下語法直接翻譯您的規則:
iptables-translate -I INPUT 1 -i eth0 -p tcp -s 192.168.178.20 --dport 8201 -j REJECT
這將為您提供以下輸出:
nft insert rule ip filter INPUT iifname "eth0" ip saddr 192.168.178.20 tcp dport 8201 counter reject
此外,您可以只保存所有的 iptables 規則
iptables-save > save.txt
,然後用於iptables-restore-translate -f save.txt
獲取已翻譯的規則。看看幾個月前我自己的問題以獲得進一步的解釋。