通常,域名注册后,就会有一些DNS记录。但是最近,我发现一些没有DNS记录的注册域名。
例如,我运行了dig 00000onlinecasino.com any
但它没有返回任何DNS记录,甚至没有返回NS记录,尽管事实上这是一个注册域。
是否可能没有DNS记录,或者DNS系统中存在某些错误?
dig +short NS 00000onlinecasino.com
通常,域名注册后,就会有一些DNS记录。但是最近,我发现一些没有DNS记录的注册域名。
例如,我运行了dig 00000onlinecasino.com any
但它没有返回任何DNS记录,甚至没有返回NS记录,尽管事实上这是一个注册域。
是否可能没有DNS记录,或者DNS系统中存在某些错误?
dig +short NS 00000onlinecasino.com
Answers:
TL; DR极不可能(尽管在技术上并非不可能)正确注册的域具有零* DNS记录。必须通过域注册商提供的更新向全球DNS系统宣布域的存在。注册服务商未提供此更新将构成未能履行IANA委派给他们的职责。
注册域后,域注册器会将更新发送到负责该TLD的通用顶级域(gTLD)服务器。例如,注册域example.com
会触发由VeriSign操作的.com
gTLD服务器的更新。
此更新包括来自域的WHOIS数据的权威名称服务器(NS)记录。然后,gTLD服务器为指向权威名称服务器的域创建DNS粘合记录。这些胶水记录使gTLD服务器能够将传入查询引用到该域的权威名称服务器。
因此,除非域名注册商不履行IANA委派的职责,否则对任何已注册域名的查询都将返回该域名的权威名称服务器记录。
00000onlinecasino.com
返回任何记录呢?似乎一切都如上所述发生。换句话说,该域的注册商(NameBright.com)已创建所需的WHOIS 条目,并将NS记录提交到.COM gTLD服务器。我通过运行nslookup set来查询NS记录来确认如下:
C:\> nslookup -q=ns 00000onlinecasino.com
Server: my-dns-server.internal.local
Address: 192.168.168.1
Non-authoritative answer:
00000onlinecasino.com nameserver = n2.juming.com
00000onlinecasino.com nameserver = n1.juming.com
n2.juming.com internet address = 112.253.3.26
n2.juming.com internet address = 121.14.157.13
n1.juming.com internet address = 121.14.157.13
n1.juming.com internet address = 220.181.135.142
我还使用了来自MeBSD.com的这个方便的Glue Record检查器,它确认了结果:
但是,对这些名称服务器中的任何一个执行相同的查询时将返回错误:
C:\> nslookup -q=ns 00000onlinecasino.com n1.juming.com
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: 220.181.135.142
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
由于这些服务器对该域具有权威性,因此它们至少应对此有所了解,并将自己标识为该域的NS记录!鉴于此,很明显这些NS服务器配置错误。
* 我必须允许对“零DNS记录”的定义进行解释。如该问题的测试用例所示,权威名称服务器没有响应,导致该域没有记录的争论。但是,我更倾向于以下观点:域的粘合记录本质上是域的NS记录的“另一半”。毕竟没有粘合记录,任何尝试查找域的权威名称服务器的尝试都会导致循环指令“去询问[在此处插入名称服务器]”。
是。发生这种情况的方式有多种。
首先,让我们回顾一下DNS查找是如何工作的www.example.com
:
DNS解析器与根域名服务器联系,根域名服务器以对com
TLD名称服务器的委派进行响应。
解析程序联系com
TLD名称服务器,该服务器以代表注册的名称服务器的委托作为响应example.com
。
解析器与的注册域名服务器之一联系example.com
,并以的记录作为响应www.example.com
。
第一:的名称服务器example.com
可能已删除的所有记录example.com
。虽然域服务器应该始终具有可用于域的某些记录(包括SOA和NS记录),但实际上并没有任何强迫它们这样做的记录。缺少这些记录的域可能无法与某些解析器一起正常工作,但是如果该域没有DNS记录,则没有任何实际区别。
其次:的域名服务器example.com
可能拒绝或无法响应查询。DNS记录仅存在于这些名称服务器中,因此,如果名称服务器不响应记录,则这些记录实际上将不存在。
第三:com
注册管理机构可以中止注册example.com
,例如,如果域注册失败。这将导致com
名称服务器停止将委托返回给example.com
名称服务器,从而使那里的任何记录都不可用。和以前一样,如果无法访问记录,那么它们也可能不存在。
注册域分为两部分-由注册表分配域并设置DNS。
对于大多数(所有?)域,需要为要注册的域提供DNS条目(不同的tld具有不同的要求,但大多数要求至少指定2个dns服务器)。但是,通常并不需要这些名称服务器有效,您可以在这些字段中放任何东西吗?
第二部分是在名称服务器上设置区域。通常,注册域名时可以省去这一步骤,但是大多数注册服务商都会在此处设置一些内容,作为您注册的一部分。
因此,不,在大多数情况下不可能不指定任何名称服务器,但是指定的名称服务器字体需要工作。在这种情况下,whois(查询注册商数据库)通常会显示名称服务器,但是dig / nslookup(依赖于DNS的工作)不会显示。
如果您可以加入所获得内容的一些屏幕截图,将会很有帮助。
但是,如果没有这些信息,我就认为您在找错地方了。
在命令调用中未指定特定名称服务器时,dig将在您的/etc/resolv.conf
文件中查找并查询其中列出的DNS服务器。
如果您要搜索的域未在resolv.conf副本中与DNS服务器一起列出,则将找不到该域。
您应该将用于该域的DNS服务器添加到文件中,或者在dig命令上指定它,优先选择可以给出权威性答案的服务器。
完全有可能注册一个域,但没有DNS条目-如果我已经注册了一个域,但实际上没有购买托管并激活将与该域关联的站点,则没有任何可解决的内容至。