介绍
nftables 已经是centos 8/debian buster以上版本默认配置。
使用
语法
版本切换
https://wiki.debian.org/nftables#Current_status
The default starting with Debian Buster:(默认 nftables)
1 | update-alternatives --set iptables /usr/sbin/iptables-nft |
Switching to the legacy version:(切换到 iptables)
1 | update-alternatives --set iptables /usr/sbin/iptables-legacy |
转换/翻译
直接翻译1
2iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
# nft add rule ip filter INPUT tcp dport 22 ct state new counter accept
文件翻译1
2
3
4iptables-save > rules.v4 #导出 iptables 到文件 rules.v4
iptables-restore-translate -f rules.v4 >rules.nft #翻译 rules.v4 到文件 rules.nft
nft -f rules.nft #nftables 启用新规则
nft list ruleset #查看当前规则列表
问题
k8s 在部署的时候可能会遇到问题:
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/#ensure-iptables-tooling-does-not-use-the-nftables-backend
calico 高版本支持nft模式,低版本会遇到问题:
https://github.com/projectcalico/calico/issues/2322
参考
https://access.redhat.com/solutions/42655
https://wiki.shileizcc.com/confluence/display/firewall/nftables