20.04:为什么 sysctl.conf 无法在主界面上禁用 ipv6?

20.04:为什么 sysctl.conf 无法在主界面上禁用 ipv6?

我知道grub 内核参数方法但我想了解为什么 sysctl 方法不起作用。

在 20.04 服务器上,如果我将 net.ipv6.conf.(all|default|lo).disable_ipv6=1(大概“.all.”就足够了)添加到 /etc/sysctl.conf(或单独的 /etc/sysctl.d/ 文件),则在启动时它只会禁用环回上的 ipv6,主界面仍然有它。

由于它适用于环回,因此 sysctl conf 文件在启动时被处理。

答案1

systemd-networkd将要将 disable_ipv6 sysctl 重置为 false在网络设备配置期间如果它认为应该启用 IPv6。

在 Ubuntu 22.10 上,我必须编辑 /etc/netplan/配置名称.yaml 文件(参考) 并添加:

link-local: [ ]

在我的网络设备下,以避免导致这种情况的 IPv6 链路本地地址创建。

答案2

遗憾的是,关于如何在 Ubuntu 上禁用 IPv6 存在许多误解,并且 Ubuntu 项目本身还没有提供自 Ubuntu 16.04 以来的规范解决方案。

目前我发现的最佳解决方案是通过 Grub 修改内核命令行并重新启动系统。请参见此处:

https://askubuntu.com/a/337736/266

相关内容