为什么要禁用

因为有时候会出现下面的问题。

Err:4 https://download.docker.com/linux/debian bookworm InRelease Could not handshake: Error in the pull function. [IP: 2600:9000:26a6:bc00:3:db06:4200:93a1 443]

这种一般都是 IPv6 的问题,可能是家中的路由器关闭了 IPv6 的使用。

有时候出于安全或者是其他的原因,不使用 IPv6,所以只能从 Linux 主机上下手。

也就是禁用掉 IPv6,只使用 IPv4。

设置禁用 IPv6

打开 sysctl.conf 文件:

sudo vim /etc/sysctl.conf

在文本末尾添加:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

保存一下。

如何恢复

也就是如何再次使用 IPv6

就是把这三个的值重新改成 0 即可。

配置生效

配置添加后,需要执行以下命令使其生效:

# 重新加载 sysctl 配置
sudo sysctl -p

检验是否真的生效

执行以下命令检查配置是否生效:

# 检查 IPv6 状态
cat /proc/sys/net/ipv6/conf/all/disable_ipv6

如果输出为 1,则表示配置成功,IPv6 已被禁用。

这样问题也就解决了。