dns服务器在做nslookup测试的时候,出现dns timeout 2 seconds的错误解释

最近同事报障,说是在内网进行nslookup测试时发现:当使用内网DNS服务器192.168.1.1进行解析时,DNS服务器响应非常快,而且没有 任何错误;但当使用DMZ区的服务器51.144.198.99进行测试时,发现总是提示请求超时,然后再返回正确解析。由此怀疑我们正在使用的防火墙在 处理DNS请求时存在问题。

国内的防火墙产品也确实一点也不争气,在使用过程中总是会出现一些莫名其妙的问题,如在低版本操作系统中支持的功能在高版本中可能就支持不好,有时为了解 决低版本操作系统中的一个Bug而进行防火墙操作系统升级,结果可能会是解决了一个,又新出来一堆!这不,才升级了防火墙,同事就找上门来了,没有办法, 谁让咱用的防火墙厂家不争气呢,人家怀疑咱这里出问题也是正常啊!

首先查看故障现象,按同事所说进行测试:

C:/>nslookup

Default Server: dns.dg

Address: 192.168.1.1

> www.netadmin.com.cn

Server: dns.dg

Address: 192.168.1.1

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

> server 51.144.198.99

Default Server: [51.144.198.99]

Address: 51.144.198.99

> www.netadmin.com.cn

Server: [51.144.198.99]

Address: 51.144.198.99

DNS request timed out. (请求超时)

timeout was 2 seconds.

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

C:/>ping 192.168.1.1 (内网DNS服务器)

Pinging 192.168.1.1 with 32 bytes of data:

Reply from 192.168.1.1: bytes=32 time<1ms TTL=127

Reply from 192.168.1.1: bytes=32 time<1ms TTL=127

Reply from 192.168.1.1: bytes=32 time<1ms TTL=127

Reply from 192.168.1.1: bytes=32 time<1ms TTL=127

Ping statistics for 192.168.1.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:/>ping 51.144.198.99  (DMZ区DNS服务器)

Pinging 51.144.198.99 with 32 bytes of data:

Reply from 51.144.198.99: bytes=32 time<1ms TTL=126

Reply from 51.144.198.99: bytes=32 time<1ms TTL=126

Reply from 51.144.198.99: bytes=32 time<1ms TTL=126

Reply from 51.144.198.99: bytes=32 time<1ms TTL=126

Ping statistics for 51.144.198.99:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

经过ping命令的测试,测试主机到内网DNS服务器、DMZ区DNS服务器响应都很快,所以线路应该没有问题。如果是防火墙策略问题,则nslookup查询时应该完全无响应,而不是在后面又进行了正确解析。

那么可能是下面的几种原因:

可能1:DMZ区服务器有问题;经过在DMZ区其它服务器进行nslookup测试,发现DMZ区的DNS服务器响应正常,由此排除了这种可能。

可能2:防火墙有问题,有可能是高吞吐量时响应有问题。在晚上流量比较小时进行了nslookup测试,发现故障现象仍然存在。看来并不是网络吞吐量引起的防火墙问题。

难道防火墙存在处理DNS请求时存在问题?不敢这么想!一年前我们发现防火墙存在着FTP问题,结果到现在还没有解决!防火墙厂家的开发人员太有才了!好希望不是防火墙的问题!

由于在内网进行测试时所使用的主机均为同网段主机,所以尝试更换一台不同网段的主机进行测试,结果竟然―――没有问题!

OK,只要有机器没有问题,那这个DNS的问题就应该不是防火墙引起的!只要不是防火墙的问题,那就好解决!呵呵,真是怕了防火墙厂家了!

解决技术问题,如果从表面看不出是什么问题引起的,那么经常用的功能就是Debug,只有从更深层次去查看,才更容易发现问题。那么nslookup工具有没有Debug功能呢?经过简单查看帮助,发现其有两个Debug参数:

[no]debug - print debugging information(显示一般调试信息)

[no]d2 - print exhaustive debugging information(显示详细调试信息)

OK,准备使用d2参数查看两台机器执行Debug时分别做了些什么动作!

PC-A(Windows XP):

C:/ >nslookup

Default Server: dns.dg

Address: 192.168.1.1

> server 51.144.198.99

Default Server: [51.144.198.99]

Address: 51.144.198.99

> set d2

> www.netadmin.com.cn

Server: [51.144.198.99]

Address: 51.144.198.99

------------

SendRequest(), len 45

HEADER:

opcode = QUERY, id = 18, rcode = NOERROR

header flags: query, want recursion

questions = 1, answers = 0, authority records = 0, additional = 0

QUESTIONS:

www.netadmin.com.cn.dgic.cn, type = A, class = IN

------------

DNS request timed out.

timeout was 2 seconds.

timeout (2 secs)

SendRequest failed

------------

SendRequest(), len 37

HEADER:

opcode = QUERY, id = 19, rcode = NOERROR

header flags: query, want recursion

questions = 1, answers = 0, authority records = 0, additional = 0

QUESTIONS:

www.netadmin.com.cn, type = A, class = IN

------------------------

Got answer (84 bytes):

HEADER:

opcode = QUERY, id = 19, rcode = NOERROR

header flags: response, want recursion, recursion avail.

questions = 1, answers = 2, authority records = 0, additional = 0

QUESTIONS:

www.netadmin.com.cn, type = A, class = IN

ANSWERS:

-> www.netadmin.com.cn

type = CNAME, class = IN, dlen = 19

canonical name = www.365master.com

ttl = 698 (11 mins 38 secs)

-> www.365master.com

type = A, class = IN, dlen = 4

internet address = 219.141.209.244

ttl = 700 (11 mins 40 secs)

------------

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

PC-B(Windows 2000 Server):

C:/ >nslookup

Default Server: dns.dg

Address: 192.168.1.1

> server 51.144.198.99

Default Server: [51.144.198.99]

Address: 51.144.198.99

> set d2

> www.netadmin.com.cn

Server: [51.144.198.99]

Address: 51.144.198.99

------------

SendRequest(), len 37

HEADER:

opcode = QUERY, id = 5, rcode = NOERROR

header flags: query, want recursion

questions = 1, answers = 0, authority records = 0, additional = 0

QUESTIONS:

www.netadmin.com.cn, type = A, class = IN

------------------------

Got answer (132 bytes):

HEADER:

opcode = QUERY, id = 5, rcode = NOERROR

header flags: response, want recursion, recursion avail.

questions = 1, answers = 2, authority records = 2, additional = 0

QUESTIONS:

www.netadmin.com.cn, type = A, class = IN

ANSWERS:

-> www.netadmin.com.cn

type = CNAME, class = IN, dlen = 19

canonical name = www.365master.com

ttl = 2521 (42 mins 1 sec)

-> www.365master.com

type = A, class = IN, dlen = 4

internet address = 219.141.209.244

ttl = 2917 (48 mins 37 secs)

AUTHORITY RECORDS:

-> 365master.com

type = NS, class = IN, dlen = 16

nameserver = dns11.hichina.com

ttl = 2917 (48 mins 37 secs)

-> 365master.com

type = NS, class = IN, dlen = 8

nameserver = dns12.hichina.com

ttl = 2917 (48 mins 37 secs)

------------

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

经过对照两台PC机的输出,不难发现,问题就出在PC-A在进行nslookup查询时,多出了一次查询,而且多出的这次查询的对象就是www.netadmin.com.cn.dgic.cn,其最后的后缀(dgic.cn)就是测试机PC-A所在的域名。

在PC使用Nslookup工具进行域名查询测试时,如果该PC是活动目录中的一台主机,默认情况下该主机除了向DNS服务器递交真正需要查询的域名外,它还向DNS服务器递交“查询的域名+活动目录域后缀”(可能为多个)”这样的请求。

PC-A是活动目录dgic.cn中的一员,在其向内网DNS服务器进行查询请求时,它会提交两个请求,分别 为:www.netadmin.com.cn.dgic.cn和www.netadmin.com.cn。对于前者,内网DNS服务器 192.168.1.1中含有域dgic.cn,但没有www.netadmin.com.cn.dgic.cn主机记录(A记录),nslookup没 有任何输出;对于后者,其进行一般A记录的查询,并进行正确输出显示。当PC-A使用DMZ区DNS服务器进行nslookup查询时,同样道理,它也会 向其发送两个查询请求,对于www.netadmin.com.cn.dgic.cn,由于DMZ区DNS服务器没有域dgic.cn的记录,于是其向上 层服务器查询,在得不到响应的情况下最终返回查询超时;对于www.netadmin.com.cn这一域名,其可以进行查询得到结果,并最终正常输出。

PC-B只是工作组中一台主机,所以没有域后缀,这样,当其进行nslookup测试时,无论其使用内网DNS服务器还是DMZ区DNS服务器,其只提交一项域名请求,那就是www.netadmin.com.cn,所以查询结果没有超时现象。

最终,得出了结论:这并不是一个网络故障,而是nslookup工具的原因。

那么有没有办法禁止nslookup这种行为呢,办法还是有的。其一是使用nslookup中的search参数;其二就是使用srchlist参数。

Search参数:启用域名搜索列表。这也是默认设置,也就是在使用nslookup进行域名测试时,nslookup会把主机的域名缀附加到所要请求的域名后面。如果想禁用它,则只需在nslookup环境中,使用set nosearch命令即可禁用。

Srchlist参数:使用域名搜索列表时所要附加的域名列表。默认情况下其值即主机所在的活动目录。如果想更改,可以在nslookup环境中 使用命令“set srchlist=域名1/域名2/域名3”,如果想禁止nslookup工具附加域名,则只需“set srchlist=”即可。

下面用nslookup工具的另外一种用法来演示这两个参数的使用,并进而证实我们的结论:

例一:使用默认设置

C:/>nslookup www.netadmin.com.cn 51.144.198.99

*** Can‘t find server name for address 51.144.198.99: Non-existent domain

Server: UnKnown

Address: 51.144.198.99

DNS request timed out.

timeout was 2 seconds.

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

例二:使用“nosearch”参数

C:/>nslookup -nosearch www.netadmin.com.cn 51.144.198.99

*** Can‘t find server name for address 51.144.198.99: Non-existent domain

Server: UnKnown

Address: 51.144.198.99

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

例三:使用“srchlist=”参数

C:/>nslookup -srchlist= www.netadmin.com.cn 51.144.198.99

*** Can‘t find server name for address 51.144.198.99: Non-existent domain

Server: UnKnown

Address: 51.144.198.99

Non-authoritative answer:

Name: www.365master.com

Address: 219.141.209.244

Aliases: www.netadmin.com.cn

时间: 2024-10-19 09:36:09

dns服务器在做nslookup测试的时候,出现dns timeout 2 seconds的错误解释的相关文章

【DNS服务器架设】Centos下转发DNS服务器的架设与测试

架设前的准备: 要架设DNS服务器,则必须安装可以提供DNS服务的软件程序,即bind软件,使用下面的命令即可安装: yum install -y bind-chroot bind-utis 1.修改主配置文件/etc/named.conf 此服务器的架设相对简单,即实际上是把自己这台[所谓的DNS服务器]作为一个代理,向上执行查询DNS信息,这种环境下,只需要修改/etc/named.conf这个主配置文件即可,修改如下: 上面的配置完成后使用下面的命令来启动DNS服务: /etc/init.

tcpcopy实战之拷贝生产服务器流量做压力测试

tcpcopy安装使用 一.下载安装首先,tcpcopy官方网址下载相关代码和文档:https://github.com/wangbin579/tcpcopy/downloads我使用的是比较新的0.6.5版本,上面的地址中也有文档可以下载.如果英语好的,可以自行去上面的地址下载使用.接下来就是安装了,在线上和目标服务器都要安装,#./configure#make#make install 二.配置使用2.1在测试机上配置:#modprobe ip_queue#modprobe -l | gre

DNS服务器 &nbsp; 用本地hosts文件解析域名 &nbsp; DNS测试

工作任务描述 公司名称是abc公司,搭建DNS服务器. 总公司在北京,总公司的注册的域名为HT.com.你公司下属两个分支,第一个为亚洲公司(Asia),公司总部在北京,第二个为欧洲公司(Europe),请你在总公司上建立一台DNS服务器,设计你总司和分支机构的DNS名称解析工作. 总公司:一台WEB服务器,在Internet上发布公司站点 IP地址为21.21.21.21 一台FTP服务器,负责对内网的FTP服务 IP地址为192.168.1.2/24 亚洲分公司:独立的WEB服务器,IP地址

用 ROS 做内网DNS服务器

转载:http://iliuyong.iteye.com/blog/1035692 用 ROS 做内网DNS服务器方法:1.ROS 设置IP ->DNS 选择"static"选项卡点击"+",name随便起,address填你的路由器内网IP,TTL默认."OK"此时应该已经存在了一个你刚刚建立的DNS服务器名,并点击"settings",分别填写主辅DNS地址,选择"allow remote requeste

Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS

一.搭建单区域DNS服务器 目标: 本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站.测试阶段主要提供以下正向记录: svr7.tedu.cn ---> 192.168.4.7    pc207.tedu.cn ---> 192.168.4.207    www.tedu.cn ---> 192.168.4.100 配置完成后在客户机上验证查询结果. 方案: 快速构建DNS服务器的基本过程: 1> 安装 bind.bind-chroot

如何解决运行nslookup时显示DNS服务器名为unknown?

如何解决运行nslookup时显示DNS服务器名为unknown? ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者http://blog.51cto.com/lander 2018/09/5 7:30 问题描述 在公司内部DNS服务器上运行 nslookup 命令时,显示的DNS request timed out. timeout was 2 seconds. Default Server: UnKnown 问题分析 搭建公司内部DNS服务

Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常被解析,莫名其妙地打不开,或者时好时坏. 如果碰上不稳定的本地DNS,还可能经常出现无法解析的情况.除了要避免"坏"的DNS的影响,我们还可以利用DNS做些"好"事,例如管理局域网的DNS.给手机App Store加速.纠正错误的DNS解析记录.保证上网更加安全.去掉网

3、DNS服务器功能(正向、反向解析)

实验目的: 建立gr.org域的主名称服务器.解析: 名称 IP 用途 ns.gr.org        192.168.170.3          名称服务器 www.gr.org     192.168. 170.3         正规名 bbs.gr.org      192.168. 170.3         别名 mail.gr.org      192.168. 170.4        邮件服务器 下面蓝色的字体都为解释,不用写:红色字母为命令 正向解析:域名解析为IP地址

2-7-搭建DNS服务器实现域名解析

学习服务的方法: 了解服务的作用:名称,功能,特点 安装服务 配置文件的位置,端口 服务开启和关闭的脚本 修改配置文件(实战举例) 排错(从上到下,从内到外) ---------------------------------------- 大纲: DNS服务器常见概念 DNS服务器安装及相关配置 实战:配置DNS服务器解析 实战:使用DNS支持递归查询. 实战:搭建DNS转发服务器 实战:搭建DNS主从服务器 实战:zone文件中的其它记录信息. 通过DNS做负载均衡 实战:DNS主从密钥认证