为什么我的 CentOS 6 系统要进行 IPv6 查找?

为什么我的 CentOS 6 系统要进行 IPv6 查找?

我有一个最近安装的 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

相关内容