代码之家  ›  专栏  ›  技术社区  ›  duffsterlp

DNS服务器IP地址

  •  2
  • duffsterlp  · 技术社区  · 8 年前

    我有一个关于DNS基础设施的基本问题。

    我想知道上游DNS服务器的IP地址是如何在DNS服务器中配置的。例如,当我的路由器需要代表我的LAN上的一台机器满足DNS查询时,它会询问其上游DNS服务器它是通过DHCP提供的。但是,如果没有缓存这些信息,上游DNS服务器如何知道如何访问根DNS服务器或某个权威DNS服务器?根DNS服务器的IP地址是否在任何地方硬编码以实现此目的?主干DNS服务器是否总是配置有一些上游DNS服务器?

    我记得曾设置过一个Microsoft DNS服务器,在该服务器中,无法满足的任何请求都将被转发。但是,由于未配置上游DNS服务器,因此它将这些请求直接转发到根目录。然而,这种行为是有道理的,它是如何知道在哪里联系根的?

    2 回复  |  直到 8 年前
        1
  •  1
  •   Dusan Bajic    8 年前

    你的推理是正确的。

    问: 如果没有缓存这些信息,上游DNS服务器如何知道如何访问根DNS服务器或某些权威DNS服务器?根DNS服务器的IP地址是否在任何地方硬编码以实现此目的?

    答: 小型DNS服务器(例如为一个组织中的客户端提供服务的DNS服务器)有时会(手动)配置转发器(通常是ISP名称服务器),以便从ISP名称服务的大缓存和更快的查询中获益。根据我的经验,近年来,由于互联网链接速度更快(延迟更短),这种设置的使用频率更低。而是使用根提示。

    问: 根DNS服务器的IP地址是否在任何地方硬编码以实现此目的?

    答: 对对于Microsoft DNS服务器,它位于 systemroot\System32\dns\cache.dns ,对于BIND,它通常位于 /etc/bind/db.root /var/named/named.root 。可以从中检索更新的副本(如果需要) https://www.internic.net/domain/db.cache

    问: 主干DNS服务器是否总是配置有一些上游DNS服务器?

    答: 据我所知,从来没有。

        2
  •  1
  •   Calle Dybedahl    8 年前

    递归服务器具有(或至少有)带外提供的根服务器列表。这通常被称为“根提示”或类似的东西。一旦它知道如何与根服务器通信,其他一切都会随之发生。实际上,递归程序会很快为更常见的TLD(如 .COM .ORG ),所以它并不总是从根开始。但根服务器地址是手动提供的,以开始工作。