第一个 DNS 服务器解析失败后,备用 DNS 服务器也无法解析

第一个 DNS 服务器解析失败后,备用 DNS 服务器也无法解析

我在实验室网络中安装了多台运行于 Citrix XenServer 6.1 之上的虚拟机,但我认为这个问题可能并非 XenServer 所特有的。

有几种不同的操作系统正在运行:

  • Fedora 19
  • Ubuntu 12.04 桌面
  • Ubuntu 12.04 服务器
  • Windows 7的

每个服务器从 DHCP 中提取两个 DNS 服务器地址:

  • 主 DNS:172.16.18.68,这是我们实验室网络上的本地 DNS。它解析实验室网络内的名称。
  • 次要的:10.10.201.11,这是我们实验室网络之外的 DNS,但仍属于我们公司的一部分。它为我们提供与外界的访问权限。

在 Windows 7 和 Ubuntu 12.04 Server 上,我可以解析实验室网络内外的域名。在 Ubuntu 12.04 Desktop 和 Fedora 19 上,我只能解析实验室网络内的名称——无法解析任何外部名称。不过,我仍然可以通过在 Web 浏览器中输入 74.125.131.106 来访问 google.com,因此我可以访问外部世界,只是不能访问 DNS。但是,如果我切换 DNS 服务器的顺序,那么我可以解析外部名称,但不能解析内部名称。因此,Fedora 19 和 Ubuntu Desktop 仅使用 DNS 服务器列表中的第一个服务器,如果失败,它们不会尝试备用服务器。这是为什么呢?为什么在 Ubuntu Server 和 Windows 7 上不会发生同样的事情?

答案1

主 DNS 服务器和辅助 DNS 服务器应提供相同的结果。似乎您已设置了自己的 DNS 服务器,希望操作系统使用您的 DNS 服务器来解析实验室名称/IP,并使用公司 DNS 服务器来解析所有其他名称/IP。

事实并非如此。如果您的 PC 向您的 DNS 服务器询问公司服务器的 IP,而您的 DNS 服务器回答说名称未知,则有结果,无需询问另一个 DNS 服务器。同样,如果您的 PC 向公司 DNS 服务器询问实验室名称,则它会回答说它不知道该名称。

您应该配置您的 DNS 服务器,以便将除您之外的所有域的请求转发到公司 DNS 服务器。理想情况下,公司 DNS 服务器应配置为了解您的子域,并将您域的所有请求转发到您的 DNS 服务器。

您应该使用您的 DNS 服务器作为主 DNS 服务器。如果您可以在公司 DNS 中配置正向区域,则可以将该 DNS 服务器用作辅助 DNS 服务器,否则您不应配置辅助 DNS 服务器。

而且,由于您似乎不知道 DNS 如何工作,因此您应该请公司管理员协助您。

答案2

在内部,外部 DNS 服务器往往不会解析内部名称(这不被视为“最佳实践”)。内部 DNS 服务器通常负责内部名称并将未知查询转发到外部服务器。建议查看内部 DNS 服务器中的转发器语句。

将工作站中的内部和外部名称服务器同时设置为主服务器和辅助服务器将导致您所描述的问题(除非将外部服务器配置为实际上是内部服务器的辅助服务器)(两个服务器之间应该发生区域传输)。

相关内容