首选和备用或多个 DNS 服务器如何工作?

rtf*_*rtf 24 networking dns operating-systems

我正在考虑将 8.8.8.8 添加到我的适配器的 DNS 服务器列表的末尾作为备份,以防万一一切都失败,当我想到我真的不知道如何处理二级和三级 DNS 服务器时。

  • 在什么条件下使用下一个 DNS 服务器?
  • 如果名称未解析,是否会检查下一个服务器?
  • 如果名称未解析,我可以将我的机器配置为查询多个服务器吗?

我还担心通过添加不在我的 Intranet 上的 DNS 服务器,我可能无法解析本地名称。

  • 如果第一台 DNS 服务器出现故障,第二台 DNS 服务器将使用多长时间?
  • 当我的机器检查主 DNS 服务器是否已启动时,它是否停止了我当前的 DNS 查询?
  • 多个 DNS 服务器如何影响性能?如果我的适配器列表上有四台 DNS 服务器,其中三台已经死机,它会等待三个超时才得到答复吗?

我不确定这个问题是否是特定于操作系统的。不同的操作系统对此有不同的处理吗?

我的目标是在 DHCP 使用脚本分发的内容之上将 8.8.8.8 附加到 DNS 服务器。我一直遇到愚蠢的 DNS 问题,由于我无法控制的 DHCP 配置错误,我的机器最终出现了虚假/无法访问/根本没有 DNS 服务器。我已经厌烦了,但我想知道添加这个故障保险是否会导致比它解决的问题更多的问题。

all*_*tic 19

答案当然是特定于操作系统的,因为没有什么可以阻止某个操作系统的行为有所不同。DNS 客户端查询多个服务器并没有必要阻止操作系统实现以不同于我在此处描述的方式处理 DNS 查询。

也就是说,Linux 如何查找 DNS 名称的示例应该代表当今大多数常用操作系统的做法。

是一篇详细描述行为的好帖子,以及一种设置类似于您所要求的内容的方法。

一般的想法是,默认情况下,只有在主 DNS 服务器超时或指向不可路由的 IP 地址时,才会按顺序使用辅助/三级 DNS 服务器。即使主 DNS 服务器说“该域无法解析”,它也不会继续询问下一个名称服务器。它将对查询的任何有效响应视为移动到列表中的下一个 DNS 服务器的原因。

设置它以便本地地址首先解析,但仍使用 Google DNS 或 OpenDNS 而不是您的 ISP 的 DNS 服务器的一种可能的合理设置方法是配置您的路由器或 LAN 框(无论哪个框是 Internet 网关)以8.8.8.8用作其主名称服务器。当然,网关箱本身运行的域名服务器,并应配置为在专用子网本地主机名回答DNS查询-但如果它不能对本地子网的决心,就应该立即平底船谷歌DNS。这是两全其美的。

另一种方法是为不同的网络接口设置不同的名称服务器。默认情况下,Windows 允许您这样做;上面链接中的文章描述了一种通过使用forwardforwarders指令配置 BIND9 DNS 服务器实现的方法。