我有一台刚刚安装好的 Ubuntu 11.10 服务器。现在,如果我尝试使用 做任何事情apt-get
,它都会尝试连接到archive.ubuntu.com
.. 它会停留在[Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]
阶段大约 2 分钟,之后它实际上开始通信并下载内容...
最终它总是会连接,但每次都要等待[Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]
大约 2 分钟!
重新安装操作系统后,我之前在 Ubuntu 11.10 上没有遇到过这个问题。
对于可能存在什么问题您有什么想法吗?
答案1
我在 12.10 上通过编辑解决了这个问题/etc/gai.conf并取消注释该行:
#
# For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100
这使您可以保持 IPv6 启用,但将优先顺序设置为 IPv4 优先于 IPv6。
答案2
解决方案:
我找到了问题所在。正如 The Lord Of Time 指出的那样,我必须禁用 IPv6 连接。
在终端中运行以下命令可以判断 IPv6 是否已启用:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0
表示已启用,而1
表示已禁用。
要在终端内禁用 IPv6,请输入以下内容:
echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
重新运行第一个命令,1
现在应该就可以了。
答案3
如果您只想修改 apt-get,那么您可以使用以下方式强制使用 IPv4:
apt-get -o Acquire::ForceIPv4=true update
为了使设置持久,请在 /etc/apt/apt.conf.d/ 中创建文件 99force-ipv4。
sudoedit /etc/apt/apt.conf.d/99force-ipv4
将以下内容放入其中:
Acquire::ForceIPv4 "true";
保存文件,一切就绪。如果您想强制使用 IPv6,请在文件名和设置中将 4 更改为 6。要在两者之间进行选择,请使用快速方法进行测试,看看哪种方法效果更好。