根据21.10 发行说明:
nftables 现在是防火墙的默认后端。
但是,安装了 Ubuntu 21.10 后,我可以看到默认情况下仍然安装了 iptables(和 ufw):
m@m-VirtualBox:~$ whereis iptables
iptables: /usr/sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz
m@m-VirtualBox:~$ whereis ufw
ufw: /usr/sbin/ufw /usr/lib/ufw /etc/ufw /usr/share/ufw /usr/share/man/man8/ufw.8.gz
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况?
据我所知,ufw
是 iptables 的包装,而不是 nftables。
我可以安全地使用这些命令吗?或者我应该注意不要在终端中输入iptables
或?ufw
update-alternatives --set iptables /usr/sbin/iptables-nft
通过运行并重新启动服务器,我已将 Ubuntu Focal 服务器防火墙后端从旧版 iptables 迁移到 netfilter 。现在显示的所有表iptables-legacy -S
都是空的,但是当我运行iptables -S
最后一行时总是显示:
# Warning: iptables-legacy tables present, use iptables-legacy to see them
Run Code Online (Sandbox Code Playgroud)
此后我已iptables-legacy
使用以下命令从替代方案中删除:
update-alternatives --remove iptables /usr/sbin/iptables-legacy
Run Code Online (Sandbox Code Playgroud)
现在只显示 netfilter 版本
root@iBug-Server:~# update-alternatives --display iptables
iptables - auto mode
link best version is /usr/sbin/iptables-nft
link currently points to /usr/sbin/iptables-nft
link iptables is /usr/sbin/iptables
slave iptables-restore is /usr/sbin/iptables-restore
slave iptables-save is /usr/sbin/iptables-save
/usr/sbin/iptables-nft - priority 20
slave iptables-restore: /usr/sbin/iptables-nft-restore
slave iptables-save: /usr/sbin/iptables-nft-save
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱这个警告?