为什么同一网络中的两个 Ubuntu 系统在 DNS 解析上表现不同?

为什么同一网络中的两个 Ubuntu 系统在 DNS 解析上表现不同?

我有两个系统,都运行 Ubuntu 12.04,它们位于同一网络内(通过集线器连接,没有路由逻辑)。两个系统的配置非常相似,但并不完全相同。特别是,该命令route在两个系统上给出相同的结果。

在网络中,Windows 服务器按名称运行winshared。一台Linux系统工作解析IP:

> nslookup winshared
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   winshared.somepc.xx
Address: 172.16.0.110

而另一个 Linux 系统则失败

> nslookup winshared
;; connection timed out; no servers could be reached

为什么我发现两个系统上的 DNS 解析存在差异?以及如何修复它?

附加说明:

  • 两个系统上的内容/etc/resolv.conf相同,内容如下:

    nameserver 127.0.0.1
    

答案1

这个问题的答案要从 中的条目开始/etc/resolv.conf。内容是相同的,并且给定的IP地址127.0.0.1指的是系统本身。

下一个提示来自 的输出nslookup: 它显示, 的地址winshared正在由侦听端口 53 的进程解析。sudo netstat -nlp在工作系统上使用会显示一个正在dnsmasq侦听此端口的进程。然而,另一个系统有第二个进程named正在侦听该端口。named是 DNS 服务器,因此可能导致无法解析名称的混乱。

正如所解释的可以通过卸载来停止该服务bind9,之后故障系统上的DNS服务就被停止,并且两个系统都只有一个进程dnsmasq在端口53上运行,该进程是DNS请求的轻量级转发服务。

winshared之后,可以在两个系统上解析该名称。

答案2

通常,服务器的行为不同,因为它们的配置不同;)

DNS 服务器由 DHCP 设置或在/etc/resolv.conf文件中手动配置。

某些主机名/IP 地址的静态条目可能存在于/etc/hosts.

可能/etc/nsswitch.conf会指示解析器对本地文件/NIS/LDAP 或 DNS 等源给予不同的优先级

答案3

我想文件 /etc/resolv.conf 是由包 resolvconf 生成的。

您使用静态还是动态网络配置?

查看 /etc/resolvconf/ 和 /etc/networks/interfaces 中的不同文件。

或者,如果已安装,请使用网络管理器。

相关内容