一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nftables-manager.sh && chmod +x nftables-manager.sh && ./nftables-manager.sh
重启服务器依然生效:
nft list ruleset > /etc/nftables.conf
sudo systemctl restart nftables
systemctl enable nftables
虽然nftables好用,但是容易和ufw、某些docker应用不兼容,会出问题,所以,最好是专门用于转发用。
至于nftables和iptables的区别不多说了,我往期帖子也有关于iptables的脚本
注意事项
很重要!!!
- 会自动禁用ufw防火墙,
- 不要在已有生产环境测试(docker)
- 不要开启ufw,
- 仅适用于新机
万一你头铁,可能导致docker应用故障,使用以下方式恢复
# 安装 iptables-nft 包
sudo apt install -y iptables-nft
# 切换到 iptables-legacy 模式
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy
# 重启 Docker 服务
sudo systemctl restart docker
完结撒花。。。。。