首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNS查找失败

DNS查找失败
EN

Server Fault用户
提问于 2013-03-04 22:37:35
回答 2查看 5.7K关注 0票数 1

网关192.168.122.1运行dns,命令dig @192.168.122.1 www.google.com返回有效的ip地址,因此dns可以工作并且可以访问。

命令tracepath www.google.com返回gethostbyname2: Host name lookup failure

命令tracepath 74.125.129.103 (www.google.com)产生有效的结果,因此正确设置了默认路由。

命令route -n输出:

代码语言:javascript
复制
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.122.1   0.0.0.0         UG    100    0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

/etc/network/interfaces的适用部分如下:

代码语言:javascript
复制
auto eth0
iface eth0 inet static
    address 192.168.122.5
    netmask 255.255.255.0
    broadcast 192.168.122.255
    gateway 192.168.122.1
    dns-servers 192.168.122.1

目前没有防火墙在运行。

我认为,考虑到这些设置,tracepath www.google.com会联系192.168.122.1以获取dns信息,该信息经验证是可以工作的,并且是可访问的。

接下来我应该做些什么来了解tracepath命令为什么返回gethostbyname2: Host name lookup failure

编辑(更多信息)

/etc/resolv.conf是空的。Ubuntu12.04使用了一个新的子系统resolvconf,它在/etc/resolvconf/resolv.conf.d/*中自动生成resolv.conf数据。

/etc/resolvconf/resolv.conf.d/original包含:

代码语言:javascript
复制
nameserver 192.168.122.1

所有其他resolv.conf.d文件(headbase)都是空的。

/etc/nsswitch.conf包含:

代码语言:javascript
复制
    passwd:         compat
    group:          compat
    shadow:         compat

    hosts:          files dns
    networks:       files

    protocols:      db files
    services:       db files
    ethers:         db files
    rpc:            db files

    netgroup:       nis

/etc/hosts包含:

代码语言:javascript
复制
    127.0.0.1       localhost
    127.0.1.1       hostname

    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-03-05 13:08:48

我不太熟悉resolv.conf.d版本,但我认为您应该将查找设置放在/etc/resolv/resolv.conf.d/base中而不是/etc/resolv/resolv.conf.d/original

票数 1
EN

Server Fault用户

发布于 2013-03-05 19:04:22

接受的答案( nameserver指令放在/etc/resolv/resolv.conf.d/base文件中)是在ubuntu的新resolvconf子系统中管理名称服务器设置的一种方式,但也有另一种方式,我一直在尝试使用配置。

还可以使用/etc/network/interfaces指令在dns-nameservers文件中设置名称服务器。

我的问题是打错了!我把dns-nameservers写成了“dns-server”。

我已经验证了接受的答案和这个答案的有效性。

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

https://serverfault.com/questions/484629

复制
相关文章

相似问题

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