2016-05-16 249 views
2

我有一个关于DNS基础设施的基本问题。DNS服务器IP地址

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

我记得建立一个微软的DNS服务器,其中任何请求不能满足它的将被转发。但是,由于没有配置上游DNS服务器,因此它将这些请求直接转发给根。然而,这种行为是有道理的,它是如何知道在哪里接触根的?

+0

我投票结束这个问题作为题外话题,因为它最适合网络工程堆栈交换! –

回答

1

你的推理是正确的。

问:上游DNS服务器如果知道如何到达根DNS服务器或某个权威DNS服务器(如果它没有缓存该信息),该怎么办?是否将根DNS服务器的IP地址硬编码到任何位置以实现此目的?

答:小规模的DNS服务器(用于服务客户在一个组织例如DNS服务器)有时有(手动)配置的转发器(通常是ISP的域名服务器),以便从ISP的DNS服务器和更快的查询,大缓存中受益。根据我的经验,近些年来,通过更快的互联网链接(延迟更少),此设置的使用频率较低。相反,使用根提示。

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

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

q所检索:都是骨干DNS服务器始终与上游从它的一些配置DNS服务器?

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

+0

感谢您的信息! – duffsterlp

1

递归服务器具有(或至少一个)带外提供的根服务器列表。这通常被称为“根提示”或类似的东西。一旦知道如何与根服务器交谈,其他所有内容都可以从中找到。实际上,recursor会很快缓存更常用TLD的名称服务器地址(如.COM.ORG),因此它并不总是必须从根开始。但是手动提供根服务器地址是为了启动。

+0

感谢您的信息! – duffsterlp