dig 成功,nslookup 失败(以 dnsmasq 作为服务器)

dig 成功,nslookup 失败(以 dnsmasq 作为服务器)

我在我的一台机器上安装了 dnsmasq(它是 Kubuntu 12.04 LTS),仅支持/etc/hosts(直到后来才连接到互联网)。现在,如果我dig mymachine,我会得到 192.168.0.1,但如果我尝试nslookup mymachine,我会得到:

>> connection timed out; no servers could be reached

也尝试过nslookup mymachine.mynicedomain.org- 也没有用。ping (编辑:)成功。这种情况发生两个都在服务器机器本身上以及网络上的其他机器上。

如何让 DNS 查找正常工作?什么问题阻碍了 nslookup 成功?

附加信息

在服务器中/etc/hosts

192.168.0.1   mymachine

在服务器中nsswitch.conf

hosts: files mdns4_mininal [NOTFOUND=return] dns mdns4

(不可否认,这有点奇怪;但我也尝试过:

hosts: files dns

相反,效果是一样的)

resolv.conf(由 dnsmasq 生成):

nameserver 127.0.0.1
search mynicedomain.org

在服务器中/etc/hosts.allow

domain: ALL    

在其他机器上/etc/resolv.conf(由 DHCP 客户端设置):

nameserver 192.168.0.1
search mynicedomain.org

服务器上相关的netstat输出:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN
tcp        0      0 192.168.0.1:53          0.0.0.0:*               LISTEN

最后,这是ipconfig网络上一台客户端机器的输出(运行 Windows 7):

Connection-specific DNS Suffix  . : mynicedomain.org
Description . . . . . . . . . . . : Intel(R) 82579LM Gigabit Network Connection
Physical Address. . . . . . . . . : 12-34-56-78-9A-BC
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.0.50(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Sunday, October 20th 2013 16:20:25
Lease Expires . . . . . . . . . . : Sunday, October 20th 2013 18:20:24
Default Gateway . . . . . . . . . : 192.168.0.1
DHCP Server . . . . . . . . . . . : 192.168.0.1
DNS Servers . . . . . . . . . . . : 192.168.0.1
NetBIOS over Tcpip. . . . . . . . : Enabled

笔记:

答案1

您是否已配置您的/etc/resolv.conf?如果没有,则应如下:

search mynicedomain.org
nameserver 192.168.0.1 

当您使用 BIND 或其他 DNS 服务器时,您应该/etc/nsswitch.conf相应地更改文件。

有以下选项可用:

  • 域名系统:使用域名系统 (DNS) 服务来解析地址。这仅适用于主机地址解析,不适用于网络地址解析。此机制使用 /etc/resolv.conf 文件。
  • 文件:在本地文件中搜索主机或网络名称及其对应的地址。此选项使用传统的 /etc/hosts 和 /etc/network 文件。

您的/etc/nsswitch.conf文件应该包含类似这样的内容,以启用 DNS 查找。

hosts:       dns files

相关内容