DNS不能解析的常见原因有: l 域名本身已经过期或被停止; l 域名的DNS服务器记录不正确; l 域名的DNS服务器记录本身没有作解析; l 域名的DNS服务器上named服务没有启动;
DNS不能解析的常见原因有: l 域名本身已经过期或被停止; l 域名的DNS服务器记录不正确; l 域名的DNS服务器记录本身没有作解析; l 域名的DNS服务器上named服务没有启动; l 域名的DNS服务器上未解析; l 域名的多个DNS服务器上的解析不一致; l 域名的DNS服务器网络设置禁止了53端口TCP/UDP协议; l 本地DNS cache未更新,与DNS服务器上的记录不同步。 DNS的解析过程: 1) 首先查找本地DNS的cache,如果cache里有,且未超过服务器或域名本身定义的生存时间,则返回cache中的记录; 2) 如果cache中没有,或已过期,首先查询互联网根服务器(如a.gtld-servers.net),找出该域名的DNS服务器是哪几个,如果查不到,返回错误; 3) 随机地从域名的DNS服务器中挑出一个,查出其IP地址,如果查不到,返回错误; 4) 连接到该IP地址的53端口(UDP或TCP协议),查询域名,如果连接不上,或服务器未返回结果,则返回错误。 如何判断域名本身已经过期或被停止 通过whois 在Linux/Unix上,可以使用whois工具,查询域名注册记录,如: 查询.com域名: _______________________________________________ whois abc.com _______________________________________________ 查询.cn域名: _______________________________________________ whois -h whois.cnnic.net.cn abc.com.cn _______________________________________________ 如果查询不到该记录,或记录中域名状态不正常,或记录中过期日已到,则说明该域名未注册或过期被停止。 也可以直接到www.internic.net查询国际域名,以及www.cnnic.net.cn查询国内域名。 如何判断域名的DNS服务器记录不正确 在Linux/Unix上,可以使用dig工具,在win2000上,可以使用nslookup工具,从互联网根服务器上查询域名的DNS服务器。 以dig为例: _________________________________________________ dig @a.gtld-servers.net abc.com _________________________________________________ 结果: _________________________________________________ ; <<>> DiG 9.2.1 <<>> @a.gtld-servers.net abc.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1625 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;abc.com. IN A ;; AUTHORITY SECTION: abc.com. 172800 IN NS sens01.dig.com. abc.com. 172800 IN NS sens02.dig.com. abc.com. 172800 IN NS orns01.dig.com. abc.com. 172800 IN NS orns02.dig.com. ;; ADDITIONAL SECTION: sens01.dig.com. 172800 IN A 199.181.134.16 sens02.dig.com. 172800 IN A 199.181.135.199 orns01.dig.com. 172800 IN A 63.70.44.44 orns02.dig.com. 172800 IN A 63.70.47.44 ;; Query time: 580 msec ;; SERVER: 192.5.6.30#53(a.gtld-servers.net) ;; WHEN: Tue Jul 8 14:43:10 2003 ;; MSG SIZE rcvd: 177 _____________________________________________________ 错误结果: _____________________________________________________ ; <<>> DiG 9.2.1 <<>> @a.gtld-servers.net abcnotexists.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 35479 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;abcnotexists.com. IN A ;; AUTHORITY SECTION: com. 172800 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 2003070701 1800 900 604800 86400 ;; Query time: 405 msec ;; SERVER: 192.5.6.30#53(a.gtld-servers.net) ;; WHEN: Tue Jul 8 14:44:44 2003 ;; MSG SIZE rcvd: 107 ____________________________________________________ 可以看到,只有Question,没有Answer。或者可以用whois工具: whois abc.com [whois.crsnic.net] Whois Server Version 1.3 Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to http://www.internic.net for detailed information. Domain Name: ABC.COM Registrar: NETWORK SOLUTIONS, INC. Whois Server: whois.networksolutions.com Referral URL: http://www.networksolutions.com Name Server: SENS01.DIG.COM Name Server: SENS02.DIG.COM Name Server: ORNS01.DIG.COM Name Server: ORNS02.DIG.COM Status: REGISTRAR-LOCK Updated Date: 13-aug-2003 Creation Date: 22-may-1996 Expiration Date: 23-may-2005 >>> Last update of whois database: Tue, 8 Jun 2004 20:06:03 EDT <<< 以win2000 nslookup为例, nslookup ? server a.gtld-servers.net ? set type=NS ? abc.com 互联网根服务器通常每天刷新一次,新注册的域名需要24~48小时,才能在根服务器中出现,修改DNS服务器情况类似。 如何判断域名的DNS服务器记录本身有没有解析 域名的DNS服务器记录是一组特殊的主机名。这些DNS主机名必须要在Internic注册之后,才能用于域名注册。注册之后,通过whois能够查到,而且在互联网根服务器上会为注册的DNS服务器作解析。 以abc.com为例,他的dns服务器 Name Server: SENS01.DIG.COM Name Server: SENS02.DIG.COM Name Server: ORNS01.DIG.COM Name Server: ORNS02.DIG.COM 都可以通过whois以及dig @a.gtld-servers.net查到。 为了保险起见,所有注册过的DNS服务器,同时也要在它本身的域名服务器上作A纪录的解析。否则,有的客户端可能不能正常工作。 如SENS01.DIG.COM本身在其自身的DNS服务器上也作了解析。这个情况可以用下面的图来理解: example.com other.com | | |----------------------à dns.other.com (10.0.0.1) ?---------- -----| 如果您注册了DNS服务器,但没有为DNS服务器做解析,可能会出现解析不稳定的情况。 如何判断域名的DNS服务器上named服务有没有启动 可以用ps aux命令察看系统进程,如果中间没有named的进程,则用 /etc/init.d/named start 启动named服务,用 chkconfig --list named 检查named服务有没有被设成自动启动,如果没有,执行: chkconfig --level 345 named on 将named设成自动启动。 如何判断域名的DNS服务器上未解析 登陆到域名的DNS服务器上,执行: dig @localhost abc.com 如果没有结果,可以看/etc/named.conf中有没有该域名的记录,以及记录中的zone文件是否存在,如果都存在,可以执行: rndc reload abc.com 然后, tail /var/log/messages 看log中有没有报错,有没有zone文件格式的问题。 如何判断域名的多个DNS服务器上的解析不一致 依次查询该域名的每个DNS服务器,看结果是否一致。在所有的服务器中,如果有的服务器没有返回结果,不会影响到域名的正常解析,因为此时解析客户端会尝试其他的服务器,只有当所有的服务器都没有结果才会报错。但是如果A服务器上和B服务器上的解析不一致,则会出现域名解析时对时不对的故障。 Dig @dns1.yourname.com abc.com Dig @dns2.yourname.com abc.com 如果不一致,通常是服务器之间的同步问题。 如何判断域名的DNS服务器网络设置是否正确 可以从其他机器分别以tcp和udp协议连接,如: dig +tcp @dns1.yourname.com abc.com 及 dig +notcp @dns1.yourname.com abc.com 如果不能连接,而且服务器上named服务已经启动,多半是软件或硬件防火墙的原因。在服务器上检查/etc/sysconfig/ipchains或iptable中是否允许domain(53端口)的tcp及udp连接。或暂时停止ipchains/iptable服务,看外部是否能够连接。如果软件防火墙配置正确或根本未启动,则检查硬件防火墙有没有打开53端口。 如何判断本地DNS cache未更新 可以查出域名的DNS服务器,检查这些服务器上解析是否正确,如果服务器上正确,而本地解析不正确,则说明使用的本地DNS服务器没有刷新,需要等到它刷新之后。通常需要4到12个小时左右。
DNS不能解析的常见原因有: l 域名本身已经过期或被停止; l 域名的DNS服务器记录不正确; l 域名的DNS服务器记录本身没有作解析; l 域名的DNS服务器上named服务没有启动; l 域名的DNS服务器上未解析; l 域名的多个DNS服务器上的解析不一致; l 域名的DNS服务器网络设置禁止了53端口TCP/UDP协议; l 本地DNS cache未更新,与DNS服务器上的记录不同步。
DNS的解析过程: 1) 首先查找本地DNS的cache,如果cache里有,且未超过服务器或域名本身定义的生存时间,则返回cache中的记录; 2) 如果cache中没有,或已过期,首先查询互联网根服务器(如a.gtld-servers.net),找出该域名的DNS服务器是哪几个,如果查不到,返回错误; 3) 随机地从域名的DNS服务器中挑出一个,查出其IP地址,如果查不到,返回错误; 4) 连接到该IP地址的53端口(UDP或TCP协议),查询域名,如果连接不上,或服务器未返回结果,则返回错误。
如何判断域名本身已经过期或被停止 通过whois 在Linux/Unix上,可以使用whois工具,查询域名注册记录,如: 查询.com域名: _______________________________________________ whois abc.com _______________________________________________ 查询.cn域名: _______________________________________________ whois -h whois.cnnic.net.cn abc.com.cn _______________________________________________ 如果查询不到该记录,或记录中域名状态不正常,或记录中过期日已到,则说明该域名未注册或过期被停止。 也可以直接到www.internic.net查询国际域名,以及www.cnnic.net.cn查询国内域名。
如何判断域名的DNS服务器记录不正确 在Linux/Unix上,可以使用dig工具,在win2000上,可以使用nslookup工具,从互联网根服务器上查询域名的DNS服务器。 以dig为例: _________________________________________________ dig @a.gtld-servers.net abc.com _________________________________________________ 结果: _________________________________________________ ; <<>> DiG 9.2.1 <<>> @a.gtld-servers.net abc.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1625 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION: ;abc.com. IN A
;; AUTHORITY SECTION: abc.com. 172800 IN NS sens01.dig.com. abc.com. 172800 IN NS sens02.dig.com. abc.com. 172800 IN NS orns01.dig.com. abc.com. 172800 IN NS orns02.dig.com.
;; ADDITIONAL SECTION: sens01.dig.com. 172800 IN A 199.181.134.16 sens02.dig.com. 172800 IN A 199.181.135.199 orns01.dig.com. 172800 IN A 63.70.44.44 orns02.dig.com. 172800 IN A 63.70.47.44
;; Query time: 580 msec ;; SERVER: 192.5.6.30#53(a.gtld-servers.net) ;; WHEN: Tue Jul 8 14:43:10 2003 ;; MSG SIZE rcvd: 177 _____________________________________________________ 错误结果: _____________________________________________________ ; <<>> DiG 9.2.1 <<>> @a.gtld-servers.net abcnotexists.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 35479 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION: ;abcnotexists.com. IN A
;; AUTHORITY SECTION: com. 172800 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 2003070701 1800 900 604800 86400
;; Query time: 405 msec ;; SERVER: 192.5.6.30#53(a.gtld-servers.net) ;; WHEN: Tue Jul 8 14:44:44 2003 ;; MSG SIZE rcvd: 107 ____________________________________________________ 可以看到,只有Question,没有Answer。或者可以用whois工具: whois abc.com [whois.crsnic.net]
Whois Server Version 1.3
Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to http://www.internic.net for detailed information.
Domain Name: ABC.COM Registrar: NETWORK SOLUTIONS, INC. Whois Server: whois.networksolutions.com Referral URL: http://www.networksolutions.com Name Server: SENS01.DIG.COM Name Server: SENS02.DIG.COM Name Server: ORNS01.DIG.COM Name Server: ORNS02.DIG.COM Status: REGISTRAR-LOCK Updated Date: 13-aug-2003 Creation Date: 22-may-1996 Expiration Date: 23-may-2005
>>> Last update of whois database: Tue, 8 Jun 2004 20:06:03 EDT <<<
以win2000 nslookup为例, nslookup ? server a.gtld-servers.net ? set type=NS ? abc.com
互联网根服务器通常每天刷新一次,新注册的域名需要24~48小时,才能在根服务器中出现,修改DNS服务器情况类似。
如何判断域名的DNS服务器记录本身有没有解析 域名的DNS服务器记录是一组特殊的主机名。这些DNS主机名必须要在Internic注册之后,才能用于域名注册。注册之后,通过whois能够查到,而且在互联网根服务器上会为注册的DNS服务器作解析。 以abc.com为例,他的dns服务器 Name Server: SENS01.DIG.COM Name Server: SENS02.DIG.COM Name Server: ORNS01.DIG.COM Name Server: ORNS02.DIG.COM 都可以通过whois以及dig @a.gtld-servers.net查到。
为了保险起见,所有注册过的DNS服务器,同时也要在它本身的域名服务器上作A纪录的解析。否则,有的客户端可能不能正常工作。 如SENS01.DIG.COM本身在其自身的DNS服务器上也作了解析。这个情况可以用下面的图来理解:
example.com other.com | | |----------------------à dns.other.com (10.0.0.1) ?---------- -----|
如果您注册了DNS服务器,但没有为DNS服务器做解析,可能会出现解析不稳定的情况。
如何判断域名的DNS服务器上named服务有没有启动 可以用ps aux命令察看系统进程,如果中间没有named的进程,则用 /etc/init.d/named start 启动named服务,用 chkconfig --list named 检查named服务有没有被设成自动启动,如果没有,执行: chkconfig --level 345 named on 将named设成自动启动。
如何判断域名的DNS服务器上未解析 登陆到域名的DNS服务器上,执行: dig @localhost abc.com 如果没有结果,可以看/etc/named.conf中有没有该域名的记录,以及记录中的zone文件是否存在,如果都存在,可以执行: rndc reload abc.com 然后, tail /var/log/messages 看log中有没有报错,有没有zone文件格式的问题。
如何判断域名的多个DNS服务器上的解析不一致 依次查询该域名的每个DNS服务器,看结果是否一致。在所有的服务器中,如果有的服务器没有返回结果,不会影响到域名的正常解析,因为此时解析客户端会尝试其他的服务器,只有当所有的服务器都没有结果才会报错。但是如果A服务器上和B服务器上的解析不一致,则会出现域名解析时对时不对的故障。 Dig @dns1.yourname.com abc.com Dig @dns2.yourname.com abc.com 如果不一致,通常是服务器之间的同步问题。
如何判断域名的DNS服务器网络设置是否正确 可以从其他机器分别以tcp和udp协议连接,如: dig +tcp @dns1.yourname.com abc.com 及 dig +notcp @dns1.yourname.com abc.com 如果不能连接,而且服务器上named服务已经启动,多半是软件或硬件防火墙的原因。在服务器上检查/etc/sysconfig/ipchains或iptable中是否允许domain(53端口)的tcp及udp连接。或暂时停止ipchains/iptable服务,看外部是否能够连接。如果软件防火墙配置正确或根本未启动,则检查硬件防火墙有没有打开53端口。
如何判断本地DNS cache未更新 可以查出域名的DNS服务器,检查这些服务器上解析是否正确,如果服务器上正确,而本地解析不正确,则说明使用的本地DNS服务器没有刷新,需要等到它刷新之后。通常需要4到12个小时左右。
Copyright ◎ 2008-2014 颖畅科技ICP备案号:陕ICP备11003239号 地址(ADD):西安市雁塔区太白南路紫薇尚层西五楼702室 E-mail:kefu@xayckj.com 电话(TEL):029-81542015 手机版