网关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输出:
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的适用部分如下:
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包含:nameserver 192.168.122.1所有其他resolv.conf.d文件(head和base)都是空的。
/etc/nsswitch.conf包含: 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包含: 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发布于 2013-03-05 13:08:48
我不太熟悉resolv.conf.d版本,但我认为您应该将查找设置放在/etc/resolv/resolv.conf.d/base中而不是/etc/resolv/resolv.conf.d/original中
发布于 2013-03-05 19:04:22
接受的答案( nameserver指令放在/etc/resolv/resolv.conf.d/base文件中)是在ubuntu的新resolvconf子系统中管理名称服务器设置的一种方式,但也有另一种方式,我一直在尝试使用配置。
还可以使用/etc/network/interfaces指令在dns-nameservers文件中设置名称服务器。
我的问题是打错了!我把dns-nameservers写成了“dns-server”。
我已经验证了接受的答案和这个答案的有效性。
https://serverfault.com/questions/484629
复制相似问题