我尝试创建一个文件/etc/sysctl.d/10-network-override.conf然后sudo systemctl 守护进程重新加载
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.ipv6.conf.wls1.disable_ipv6=1
另外,尝试创建/etc/systemd/network/20-IpV6-disable.network然后systemctl 重新启动 systemd-networkd
[Match]
Name=wls1
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv4
IPv6AcceptRA=no
两种解决方案都暂时有效,重新启动后我再次获得 IPv6。
答案1
我只使用这两个设置就足够了:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
您将继续看到分配给您的接口的 IPv6 地址,但这没关系,因为它们是链接本地地址并且只能在您的局域网内使用。这些地址不可路由。
如果你想更进一步,你可以简单地禁用 ipv6 内核模块,创建一个文件,例如/etc/modprobe.d/disable-ipv6.conf
:
blacklist ipv6
并重新启动。