- 磁盘文件
- 网络访问
有一个很好的解释域名服务器和名称服务器是一回事吗?
但我仍然对答案感到困惑。我知道主 DNS 服务器会缓存条目,因此答案应该是磁盘文件,但如果没有其他服务器,它永远不会有该条目,因此答案应该是网络访问。
这个问题有逻辑答案吗?或者它是那些答案取决于初始条件的问题之一?
如果有人能给我指明正确的方向,那将会很有帮助,我非常困惑。
答案1
答案取决于“主 DNS 服务器”的具体含义 - 这个术语有点模糊,但我将在下面解析常见的解释,因为我怀疑这可能是造成混淆的地方。
有两种类型的名称服务器(有时是组合)——递归服务器和授权服务器。
权威服务器拥有域名的“真实来源”。当您修改域名的 A/CNAME/MX 或其他记录时,您是在权威名称服务器上执行此操作。 在简单的情况下,它存储在磁盘上,但请参见下文
递归服务器代表网络上的计算机解析任何/所有域。路由器中的名称服务器将是递归名称服务器。这些服务器查询其他名称服务器(其他递归名称服务器或权威服务器),因此一般答案是这些信息都是从网络获取的。
有关权威服务器的更多信息
授权服务器有多种类型。两种常见类型是“主”服务器和“从”服务器。
主服务器通常从用户提供的输入中读取数据 - 通常是存储在磁盘上的区域文件(BIND 的常见用例),但它们也可以从数据库中获取数据(Pro DNS、Pure DNS 通常以这种方式配置)。
对于最终用户/递归服务器,从属服务器的行为与主服务器完全相同 - 但从属服务器通过网络从主服务器获取信息。这是通过区域传输完成的,因此它们拥有所需的所有信息,并且可以在主服务器发生故障时继续响应区域的所有请求。
拥有多个主服务器而没有从属服务器是很常见的,只要它们都有完全相同的答案。
答案2
任何 DNS 服务器都会从基于磁盘的配置文件和网络获取信息。
对于有关其具有权威性的域的查询,任何 DNS 服务器都会从启动时(或重新加载信号时)加载的磁盘文件中获取信息。
对于有关其不具有权威性的域的查询,任何 DNS 服务器都会从网络获取一些信息(特别是如果支持递归查询)。
您的问题是关于主 DNS 服务器的,但值得记住的是,辅助 DNS 服务器通常从主 DNS 服务器提取区域传输。
对于 DNS 客户端来说,其 DNS 服务器的列出顺序通常无关紧要。