什么是dns服务器 dns服务器故障排除

发布时间:2017-04-06 15:35

dns服务器是进行域名和与之相对应的IP地址转换的服务器,那么你对dns服务器了解多少呢?以下是由小编整理关于什么是dns服务器的内容,希望大家喜欢!

什么是dns服务器 dns服务器故障排除

dns服务器的原理

DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS服务器询问,依此得到答案之后,将收到的答案存起来,并回答客户。DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另外一个客户端到此服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:

当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端。

dns服务器的查询模式

有两种询问原理,分为Recursive和Iterative两种。前者是由DNS代理去问,问的方法是用Interative方式,后者是由本机直接做Interactive式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。

迭代式(Iterative):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来的是部分信息,告诉你所查询域名中的下一级域的域名服务器的地址信息,然后再到此域名服务器上去查询所要解析的名称,反复动作直到找到最终信息。

dns服务器的排除故障

服务器不仅仅是企业网络设备的中枢,也是企业软件及数据库应用的主体。在实际运行中服务器经常会出现这样或那样的故障,软件的或者硬件的。很多故障是没有规律可言的,我们只能通过经验去解决。笔者负责公司服务器的维护工作,在一次实际工作中遇到了服务器无法登录的故障,排查起来比较奇特,写出来和各位读者分享。

故障现象

笔者公司规模不是很大,有大概50多台计算机,购买了两台IBM服务器,型号是X SERⅥCE 200。由于内部使用的某个应用软件需要Windows域的支持,所以在这两台IBM服务器上启用了windows 2000 server的域。一台作为域控制器DC,另一台设置为备份域控制器BDC。

由于备份域控制器在管理域上主要起辅助作用,所以配置完毕后基本没有做任何修改和操作。然而前一段却出现了主域控制器DC那台服务器无法登录到系统桌面的故障,每次启动该域控制器都停留在2000的登录界面,即在要求输入管理员帐号和密码操作之前的界面,下方登录信息显示的是“正在连接网络”,等待近一个小时仍然没有任何进展,始终停留在“正在连接网络”提示处。重新启动该服务器按F8可以正常进入安全模式,然而只要一进入正常模式就出现上面提到的问题。

由于系统登录总是停留在“正在连接网络”处,所以笔者怀疑是网络出现问题,例如主域控制器无法通过DNS解析自己。尝试进入安全模式将网卡禁用,这样系统就不会搜索网络,尝试连接网络了。果然通过禁用网卡后系统可以正常进入桌面。

不过禁用网卡并不能治本,虽然服务器可以登录桌面但是所提供的服务其他客户机也无法使用了。为什么没有了网卡就可以登录呢?笔者再次将解除故障的思路集中到域名解析上。众所周知在启用了域的网络中,DNS解析的域名与计算机是一一对应的,任何一台计算机没有在主域控制器上保留正确的DNS对应名称的话都将无法使用网络。

笔者在主域控制器上查看DNS服务的配置,发现主域控制器的DNS地址被设置为备份域控制器的IP地址。看来是备份域控制器上的DNS解析出现了问题。笔者马上到备份域控制器进行检查,原来是备份域控制器上的网线与网卡接口连接处松动了,也就是说备份域控制器实际上脱离了整个网络。将备份域控制器上的网线插牢后启动主域控制器上的网卡后就可以正常进入系统了,故障得到排除。

配置规则

本次故障看似是因为备份域控制器上的网线松动造成的,实际上是我们在建立域时的配置出现问题的结果,为什么这么说呢?因为在建立域时我们最好按照以下规则来配置DNS。

DC与BDC上都安装DNS服务,而不是仅仅一台服务器上启用,防止DNS解析错误,为DNS解析提供冗余功能。

DC本机DNS服务器设置为自己的IP地址,BDC本机DNS服务器也设置为自己的IP地址。

同时在DC上辅助DNS服务器地址还要设置为BDC的地址,相应的BDC上的辅助DNS服务器地址也要设置为DC的IP地址。

这样我们在进行DNS解析时就不会轻易出问题了,象本次这样的故障也不会发生了。因为登录主域控制器时进行DNS解析并连接网络时就会自动查询自己本机的DNS设置,即使BDC网线松动或关机也不会影响DC的登录。

处理总结

在Windows系统中配置域控制器是件非常麻烦的事情,而且故障的发生更没有规律可言,所以在升级网络为域时这个初始化操作也一定要遵循上面介绍的规则,这样可以将故障发生机率降到最低。

什么是dns服务器 dns服务器故障排除的评论条评论