首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能在centos上使用ipv6的名称解析

不能在centos上使用ipv6的名称解析
EN

Server Fault用户
提问于 2012-08-31 15:02:55
回答 2查看 5.6K关注 0票数 0

我刚刚在一个要安装在数据中心的服务器上安装了CentOS6.3,但是无法获得名称解析/ curl。

我知道这是因为它试图使用ipv6,因为ping google.com工作,curl -4 google.com工作,但curl google.com不工作。

我从接口中删除了ipv6入口,它没有改变任何东西。

这是非常有问题的,因为像yum这样的大多数系统工具目前在名称解析方面都失败了。像火狐这样的浏览器之所以能工作,是因为它们可能使用另一种工具来进行名称解析,而不是curl使用的工具。

通过完全禁用ipv6,我设法在工作站上修复了这个问题,下面的教程是这一个 / /etc/hosts中的硬编码名称解析。但是,由于我在这里配置了一台稍后将安装在远程数据中心中的服务器,所以我不想搞砸,理解正在发生的事情,并正确地修复它。此外,我将面临同样的问题,更多的服务器来,所以我将非常感谢您的帮助,以了解这个问题和如何解决它。

如果需要的话,我很乐意提供更多的信息来帮助理解正在发生的事情。

当前的网络配置是一个小型企业网络,很久以前配置了一台DNS服务器(让我们称之为A)。dig google.comdig -4 google.com都被and拒绝。但是,对于我的工作站( curl正在工作)也是如此(是的,它们都使用相同的and服务器)。实际上,这个错误的服务器和我的工作站在/etc/resolv.conf中有多个名称服务器,第二个服务器对它们都很好,所以如果我从我的resolv.conf中删除A,一切都很好!

致以敬意,

奥利维尔

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-08-31 16:15:56

我用下面的诊断过程解决了这个问题,它可以在处理名称解析问题和ipv6时应用

  • 在有此问题的计算机上测试dig google.comdig -4 google.com,在同一网络上测试另一台没有此问题的计算机。
  • 如果四条命令(机器上有两条)失败,这意味着他们的/etc/resolv.conf中的第一个名称服务器没有配置为ipv6。把它拿出来然后再试一次。

一个cal还使用digg @nameserver google.com测试/etc/resolv.conf中的其他最终名称服务器,而不更改该文件。

票数 1
EN

Server Fault用户

发布于 2017-06-12 15:31:42

我必须解决这个问题,而且在Centos版本6.x (例如5.8和更高版本)之前,glibc解析器的默认行为似乎是这样的。客户端向DNS服务器询问IPv6地址(AAAA记录),而DNS服务器只有IPv4记录,它说-我没有它(NX)。然后客户再次请求这5次得到相同的答案,直到那时说-嗨服务器,给我的IPv4地址。然后服务器提供了A记录,客户端感到满意。在我的网络中,这整个舞蹈是在300毫秒内完成的,所以对于最终用户来说几乎是看不见的。

这种情况在CentOS6.x中发生了变化,在这种情况下,两个查询是并行完成的-- IPv6和IPv4记录同时进行查询。如果您的DNS服务器对IPv6地址使用NX (我没有)响应,客户端完全忽略了A (IPv4)地址的有效响应,因为它在很短的时间后就出现了。因此,它再次查询DNS服务器(同时执行IPv6和IPv4查询),并在相同的情况下结束。因此,在最终放弃之后,它开始执行这些查询,将DNS搜索添加到搜索中。

在CentOS6.7中,客户端等待第二个IPv4响应并愉快地接受它,这在我的网络中大约需要15毫秒。这可能是它的相关红帽票据- https://bugzilla.redhat.com/show_bug.cgi?id=845218 (如果AF_UNSPEC的两个响应中有一个失败了,就不要失败):

代码语言:javascript
运行
复制
rpm -q --changelog glibc | sed -n '0,/2.12-1.132/p' | grep AF_UNSPEC
- Do not fail if one of the two responses to AF_UNSPEC fails (#845218).

现在,这张票是受限制的,所以这里有可能是上游补丁:https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=16b293a7a6f65d8ff348a603d19e8fd4372fa3a9

有关详细信息,以下是受影响的服务器列表:

  • Centos 5.8 -工作(glibc-2.5-81)。正在执行6个IPv6查询,然后返回到最终成功的IPv4。
  • Centos 6.0 -不工作(glibc glibc-2.12-1.7.el6.x86_64)
  • Centos 6.1至6.4 -不工作
  • Centos 6.5 -不工作(版本glibc-2.12-1.132.el6.x86_64)
  • Centos 6.6 -固定版(glibc-2.12-1.149.el6.x86_64版)
  • Centos 6.7 -固定版(glibc-2.12-1.166.el6.x86_64版)
  • CentOS7.0--不工作(glibc-2.17-55.el7) --同时执行IPv4和IPv6查询,首先执行有效的IPv4响应,等待NX的IPv6响应并失败名称解析
  • Centos 7.1 -固定(glibc-2.17-78.el7) -同时执行IPv4和IPv6查询,首先是有效的IPv4响应,然后是NX的IPv6响应,以及名称解析继承到IPv4

用于比较的SUSE Linux:

  • SLES 11.3 -工作(只做IPv4查找)- (glibc-2.11.3-17.54.1)
  • SLES 12.1 -不工作(glibc-2.19-31.9.x86_64)
  • SLES 12.2 -正在工作(glibc-2.22-49.16.x86_64.rpm)。IPv4和IPv6查询同时进行,首先使用NX接收IPv6响应,但等待跟踪IPv4并使用该响应。
  • SLES 12.3 - 将于2017年9月发布

inet4only选项/etc/surv.conf从未实现,https://bugzilla.redhat.com/show_bug.cgi?id=1027452

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/423307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档