我有一个最近安装的 CentOS 6.6 系统。我已尽力禁用 IPv6:
- ifcfg-[eth0|lo] 中的 IPV6INIT=no
- /etc/sysctl.conf 中的 net.ipv6.conf.all.disable_ipv6 = 1
- /etcsysctl.conf 中的 net.ipv6.conf.default.disable_ipv6 = 1
然而,当我进行 DNS 查找时,尤其是 yum 更新时,我不断收到提供的 IPv6 地址,这些地址当然是无法访问的;我据此推测我的系统在进行名称查找时要求 AAAA 记录而不是 A 记录。
Downloading Packages:
http://centos.mirror.iweb.ca/6.6/os/x86_64/Packages/ConsoleKit-0.4.1-3.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 7 - "Failed to connect to 2607:f748:10:12:0:ce17:705:1: Network is unreachable"
Trying other mirror.
如何让我的系统只请求 IPv4 地址?
答案1
要解决此问题,您需要在中添加以下参数/etc/yum.conf
ip_resolve=4
答案2
该描述听起来几乎就像您可能需要配置一样/etc/gai.conf
。但我会保留 IPv6 黑名单。要防止 IPv6 模块绑定到 IPv6 网络堆栈,请将以下行添加到“/etc/modprobe.d/blacklist.conf”(或其他文件名):
options ipv6 disable=1
然后,reboot
。
这将允许加载 IPv6 模块,以满足依赖于它的任何其他模块,同时禁用对 IPv6 协议的支持。
编辑
另外,你错过NETWORKING_IPV6=no
了/etc/sysconfig/network
。