如何在不断开主 DNS 服务器的情况下测试 DNS 转发器?

如何在不断开主 DNS 服务器的情况下测试 DNS 转发器?

我的域中有两个域控制器,分别位于远程办公室(欧洲和中国),还有两个域控制器位于美国,总共有 4 个。几周前,我们美国办公室的网络中断,在此期间,欧洲和中国的办公室遇到了 DNS 无法正常工作的问题。我认为部分问题在于中国服务器没有设置转发 IP 地址,而欧洲服务器设置了,但那是为我们当地的美国 ISP 设置的。

我想尝试对这些服务器上的 DNS 转发器的 IP 地址进行一些更改,但我不确定如何测试我的更改是否能解决问题。我想避免将这些远程 DC 与我们在美国的主要 DNS 服务器断开连接。由于现在一切都运行良好,如果我对网站执行 nslookup 或在浏览器中访问网站,它将只使用我们的主 DNS 服务器 - 我如何具体测试 DNS 转发器 IP 地址是否正常工作?

提前致谢,如果我可以提供更多信息或澄清任何事情,请告诉我

答案1

如果不重复发生该事件,您就无法对其进行故障排除 —— 除非它再次发生,否则无法知道您的 DNS 流量出了什么问题。

根据您的问题描述,我认为就像您猜测的那样,是“错误或缺失的转发器”。


如果像您所描述的那样,您的欧洲服务器指向美国服务器作为转发器,则会出现一些次优结果:

  1. 每当您请求欧洲服务器不知道的区域时,它都会询问美国。
  2. 美国不知道,所以它询问它的货运代理(依此类推,直到我们找到根源)。
  3. 美国得到了答案,并将其发回欧洲。

这至少需要跨越两次海洋——不太好。而且如果美国域名服务器消失,欧洲就没有人可以求助了。

为了获得最佳效果,每个区域名称服务器都应包含您的所有内部区域,并在需要向其他人索要记录时配置附近的转发器。
这样您就可以从上游提供商的缓存中获益,如果您的域出现故障,您仍然可以解析外部 DNS 名称。


如何测试?在 Unix 上,我们将使用dig工具 ( dig +trace)。
据我所知,Windows 中不包含该工具,但是有可用的实现(谷歌搜索dig for windows以获得更多选项)。

+trace选项会显示在获取答案的过程中查询了哪些服务器。


特别说明

在某些情况下,我建议使用备用转发器(或直接使用根服务器)——如果您的 ISP 劫持了 DNS 请求,并且没有正确返回NXDOMAIN不存在的域名你不应该使用他们的 DNS 服务器

如果你有这样的 ISP,请配置备用转发器(例如Google 公共 DNS),或者使用根提示并确保您的提示数据保持最新。

答案2

有太多话要说。

  1. 为什么要使用转发器进行外部 DNS 解析?无论你选择哪种转发器,你都会引入故障点,并可能产生不稳定的结果。为什么要依赖某个外部 ISP 为你提供外部 DNS 解析?请使用根提示服务器。

  2. 如果您想测试转发器的功能,请使用 nslookup 直接查询它。

  3. 您的声明“我希望避免将这些远程 DC 与我们在美国的主要 DNS 服务器断开连接”没有任何意义。您说的“断开连接”是什么意思?

  4. 如果 Windows DNS 服务器未配置为使用转发器,则默认情况下它将使用根提示服务器。

  5. 当您遇到此问题时,您遇到了哪种类型的 DNS 问题?是内部 DNS 解析失败还是外部 DNS 解析失败?

相关内容