domain-name-system – 名称服务器如何处理未知子域?

我拥有一个域名econemon.com.以下是DNS条目的摘录(为简洁起见省略了一些记录):

econemon.com.       1800    IN  NS  ns.stratoserver.net.
econemon.com.       1800    IN  NS  ns2.stratoserver.net.
econemon.com.       1800    IN  A   85.214.92.48

这些名称服务器来自我的提供商,据我所知,它们是我的域名的授权.

现在,当我向其中一个询问一个不存在的子域的地址记录时,它会响应我的服务器的地址,如下所示:

$host -t A nosuchdomain.econemon.com ns.stratoserver.net
Using domain server:
Name: ns.stratoserver.net
Address: 81.169.163.40#53
Aliases: 

nosuchdomain.econemon.com has address 85.214.92.48

当然,这正是我想拥有的虚拟主机等等.现在,我说添加了一个条目

econemon.com.    IN  NS  ns.econemon.com

和ns.econemon.com到列表的正确A记录,并且该名称服务器实际上有一些子域的不同A记录,会发生什么?

>请问subdomain.econemon.com会根据您询问的名称服务器产生不同的地址吗? (我猜它会.)
>如果是这样,如果我的DNS关闭,这实际上可能会回到“主服务器”,但是如何让客户端在我的名字服务器启动时使用它?
>这会搞砸客户端的缓存吗? (大概.)

(注意:这与我的其他two questions有关)

最佳答案
DNS查找是顺序的,从最后开始.假设空缓存,MISSING.DOMAIN.COM的查找将会是这样的……

> DNS客户端将从DNS服务器请求MISSING.DOMAIN.COM.
> DNS服务器向MISSING.DOMAIN.COM域请求“root”DNS,并返回COM域的名称服务器.
> DNS服务器向COM名称服务器请求MISSING.DOMAIN.COM,并返回DOMAIN.COM域的名称服务器.
> DNS服务器向DOMAIN.COM名称服务器询问MISSING.DOMAIN.COM. DOMAIN.COM名称服务器没有答案,因此它会报告DOMAIN.COM的地址,具体取决于它的配置.
>如果有MISSING.DOMAIN.COM的NS记录,则会返回该记录,原始DNS服务器将在下一次查询它.如果有MISSING的A记录,则会报告其上的IP.

这是它的要点.实际上,由于缓存,负载平衡以及可以通过名称指定名称服务器这一事实,因此它也要复杂得多,因此也必须查找.

总结一下您的问题..您可以为域指定多个名称服务器,并使用不同的信息进行设置.答案是肯定的,但你必须小心并知道自己在做什么.您可以使用DNS来支持load balancing并可以使用它来支持failover lite.但是您需要小心!

编辑:在评论中,bortzmeyer指出了一些简化,他认为这些简化是错误的.我做了调整,希望能解决这些问题.

转载注明原文:domain-name-system – 名称服务器如何处理未知子域? - 代码日志