
● 指定的查询类型,它可根据类型指定资源记录,或作为查询 *** 作的专门类型。
● DNS域名的指定类别。
对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如hosta.hello.company.com,并且指定的查询类型用于通过该名称搜索地址资 源记录。系统将把DNS 查询当作客户机向服务器提出的两部分问题,如“对于名为 hostname.hello.company.com 的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的 IP 地址。
DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。
另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。
总之,DNS 的查询过程按两部分进行:首选,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析其次,不能就地解析查询时,可根据需要查询DNS服务器来解析名称。DNS 查询的过程如下图所示。
如查询过程的初始步骤所示,DNS 域名由本机的程序使用。该请求随后传送至 DNS 客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地
解析程序的缓存可从以下2个可能的来源获取名称信息:
● 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS 客户服务启动时预先加载到缓存中。
● 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。
如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询 DNS 服务器来解析名称。
接下来查询 DNS 服务器,当本地的DNS不能就地解析查询时,可根据需要查询 DNS 服务器来解析名称。如图4-1所示,客户机将查询首选 DNS 服务器。在此过程中使用的实际服务器是从全局列表中选择的。当 DNS 服务器接收到查询时,首先检查它能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹 配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。
如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。
如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程,如下图所示。
为了使 DNS 服务器正确执行,首先需要在DNS 域名空间内存放其他DNS服务器的一些有用的联系信息。该信息以根线索的形式提供,它是记录初步资源的一个列表,可用来定位一些 DNS 服务器,这些服务器对 DNS 域名空间树的根具有绝对控制权。根服务器对 DNS 域名空间树中的根域和顶级域具有绝对控制权。DNS 服务器可通过使用根线索搜索根服务器来完成递归过程。
例如,当客户机查询单个DNS服务器时,考虑使用递归过程来定位名称 host.example.microsoft.com。此过程在 DNS 服务器和客户机首次启动,并且没有可帮助解析名称查询的当地缓存信息时进行。
首先,首选服务器分析全名并确定对于顶级域com具有绝对控制权的服务器的位置。随后,对com DNS 服务器使用迭代查询,以获取microsoft.com服务器的参考信息。然后参考性应答从microsoft.com服务器传送到 example.microsoft.com的 DNS 服务器。最后,与服务器 example.microsoft.com 联系上。因为该服务器包括作为其配置区域一部分的查询名称,所以,它向启动递归的源服务器作出权威性的应答。当源服务器接收到表明已获得对请求查询的权威 性应答的响应时,它将此应答转发给发出请求的客户机,这样,递归查询过程就完成了。
在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的。这个现象发生的机率比较大,所以本文将从零起步教给各位读者一些基本的排除DNS解析故障的方法。
一、什么是DNS解析故障?
一般来说像我们访问的www.163.com这些地址都叫做域名,而众所周知网络中的任何一个主机都是IP地址来标识的,也就是说只有知道了这个站点的IP地址才能够成功实现访问 *** 作。
不过由于IP地址信息不太好记忆,所以网络中出现了域名这个名字,在访问时我们这需要输入这个好记忆的域名即可,网络中会存在着自动将相应的域名解析成IP地址的服务器,这就是DNS服务器。能够实现DNS解析功能的机器可以是自己的计算机也可以是网络中的一台计算机,不过当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS解析故障。
出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。
二、如何解决DNS解析故障:
当我们的计算机出现了DNS解析故障后不要着急,解决的方法也很简单。
(1)用nslookup来判断是否真的是DNS解析故障:
要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。
第一步:确认自己的系统是windows 2000和windows xp以上 *** 作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入nslookup命令后回车,将进入DNS解析查询界面。
第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址,例如笔者的DNS服务器IP为202.106.0.20。
第四步:接下来输入你无法访问的站点对应的域名。例如笔者输入www.softer.com,假如不能访问的话,那么DNS解析应该是不能够正常进行的。我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS解析故障。
小提示:如果DNS解析正常的话,会反馈回正确的IP地址,例如笔者用www.sohu.com这个地址进行查询解析,会得到name:sohu.com,addresses:61.135.133.103,61.135.133.104的信息。
2)查询DNS服务器工作是否正常:
这时候我们就要看看自己计算机使用的DNS地址是多少了,并且查询他的运行情况。
第一步:确认自己的系统是windows 2000和windows xp以上 *** 作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入ipconfig /all命令来查询网络参数。
第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。例如笔者的是202.106.0.20和202.106.46.151。从这个地址可以看出是个外网地址,如果使用外网DNS出现解析错误时,我们可以更换一个其他的DNS服务器地址即可解决问题。
第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup *** 作看是否可以正常解析。解决DNS服务器上的DNS服务故障,一般来说问题也能够解决。
(3)清除DNS缓存信息法:
当计算机对域名访问时并不是每次访问都需要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接DNS服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。
第一步:通过“开始->运行->输入CMD”进入命令行模式。
第二步:在命令行模式中我们可以看到在ipconfig /?中有一个名为/flushdns的参数,这个就是清除DNS缓存信息的命令。
第三步:执行ipconfig /flushdns命令,当出现“successfully flushed the dns resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。
第四步:接下来我们再访问域名时,就会到DNS服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了。
(4)修改HOSTS文件法:
修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于DNS服务器上的解析关系。
这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。
第一步:通过“开始->搜索”,然后查找名叫hosts的文件。
第二步:当然对于已经知道他的路径的读者可以直接进入c:\windows\system32\drivers\etc目录中找到HOSTS文件。如果你的系统是windows 2000,那么应该到c:\winnt\system32\drivers\etc目录中寻找。
第三步:双击HOSTS文件,然后选择用“记事本”程序将其打开。
第四步:之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127.0.0.1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)
第五步:将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的IP地址,然后空格接域名信息。例如笔者添加了“211.153.80.1 www.ftedu.gov.cn”与“10.82.0.1 www.ftedu.gov.cn”两个条目。
第六步:设置完毕后我们访问www.ftedu.gov.cn时就会自动根据是在内网还是外网来解析了。
三、总结:
通过上面介绍的四个步骤,我们就可以解决大部分DNS解析问题了,这几个方法中前三个是循序渐进的一步步解决DNS解析故障,而最后一个修改HOSTS文件则是在实在没有办法的时候,一种权宜之计。当然不管是通过哪种方法,我们都可以解决因为DNS解析错误带来的网络故障。
何搭建Microsoft的DNS2、DNS服务的安装
我们从guanli.sjsgz.net开始,准备在这台计算机上安装DNS服务器服务。安装DNS的步骤如下
(1)选“开始→设置→控制面板”,打开“添加/删除程序”。
(2)单击“添加/删除Windows组件”,等待Windows组件向导启动。
(3)单击[下一步]按钮d出Windows组件清单。
(4)单击[网络服务],然后再单击[详细情况]按钮。
(5)单击“DNS(域名系统)”旁的复选框。
(6)单击[确定]按钮返回“Windows组件”对话框。
(7)单击[下一步]安装相应的服务,然后逐一单击[完成]和[关闭]按钮即可完成。
不需要重新启动计算机,单击“开始→程序→管理工具→DNS”。
3、创建“winiis.com”区域
(1)用右键单击DNS中“+”根目录选“新建区域”以进入新建区域向导中。
(2)当向导提示到要让选择“区域类型”时,此处应该选“主要区域”,
(3)屏幕出现询问“区域名”,则在“名称”后的文字框中输入“winiis.com”,接着向导进入到“区域文件”提示窗口中,默认的,系统会自动选中“创建新文件,文件名为”一项,并在其后的文字框中自动填有“winiis.com.dns”的名字,单击[下一步]按钮,然后单击[完成]即可完成区域创建,此时在DNS管理器的左边的“CHINA-RLMCOCOSN→正向搜索区域”里可以看到“winiis.com”区域(如图所示)。
注意:创建正向搜索区域的目的是为了将主机名翻译为IP地址,你也可以创建反向搜索区域,便于将IP地址翻译成相应的主机名,创建方法和正向搜索区域的创建相似。
4、创建主机
下面我们将以创建图2中Web服务器(www.sjsgz.net)主机为例说明如何创建主机。
(1)在窗口中的“winiis.net”区域上单击右键,选“新建主机”,在其后的对话框中的“名称”栏中输入主机名“www”,在“IP地址”栏输入“192.168.1.213”。
(2)单击[添加主机]按钮,即成功地创建了主机地址记录www. Winiis.com,在“新建主机”窗口再选“完成”便可回到DNS管理器中。
配置DNS客户端
步骤如下:
(1) 单击开始→控制面板→网络连接→本地连接“,右击,在快捷菜单中选择---“属性。
(2) 打开“本地连接属性“的对话框中的”常规“选项卡。在”此连接使用下列项目“列表框中选中”Internet协议(TCP/IP)“,单击”属性“按钮
(3) 出现“Internet协议(TCP/IP)“属性”对话框“常规”选项卡。选中“使用下面的DNS服务器地址”单选按钮,在“首选DNS服务器”文本框输入主DNS服务器的IP地址,在“备用DNS服务器”文本框中输入辅助DNS服务器的IP地址。
(4) 如果要设置多个DNS服务器,单击“高级”按钮。如图8.6.3所示。单击“添加”按钮可以添加多个DNS服务器。
5、测试配置
Nslookup是用来进行受动DNS查询的最常见工具。它既可以模拟标准的客户解析器也可以模拟服务器。作为客户解析器,nslookup可以直接向服务器查询信息,而作为服务器,nslookup可以实现从主服务器到辅助服务器的区域传送。
Nslookup命令的用法为:
Nslookup[option][host-to-find|server]
可用于如下两种模式:
非交互模式:在命令行中输入完整的命令,如nslookup www.winiis.com。
交互模式:只要输入” nslookup”和回车即可。不输入参数。在交互模式下,可以在提示符“>”下输入“help或者?”来获得帮助信息。
(注意:在安装“DNS服务器”之前,必须用静态的IP地址配置计算机。)
关于WinMyDNS双线智能DNS解析系统
WinMyDNS是一款新型DNS智能解析软件,完全支持中文解析。该软件除了具备一般的基本DNS解析功能外,还可以自动识别浏览者的来源,并把相同的域名智能DNS解析到双线路机器的网通或电信的IP, 以便客户就近访问你的网站。同时系统还可以对被解析的服务器自动进行宕机检测, 以保证浏览者总是能访问到正常的服务器。
该系统还把DNS配置信息保存在ACCESS或MSSQL数据库里,应用者开发具体的DNS应用,只要对数据库中的SOA及RR表增减记录即可方便完成。 该系统与squid等WEB缓存软件完美结合,搭建属于自已的CDN加速。
如何搭建WinMyDNS双线智能解析系统
WinMyDNS软件主要组件和文件:
WinMyDNSAdmin.exe是管理配置程序WinMyDNS.exe是服务程序WinMyDNS.xml是配置文件。 安装服务.bat、卸载服务.bat、启动服务.bat、停止服务.bat批处理的管理脚本。
DB目录是数据库目录,WinMyDNS.mdb是ACCESS数据库winmydns.bak是MSSQL数据库备份,还原进MSSQL即可使用。 WEB目录是WEB管理系统。 IPtable目录是默认的IP分配表。请及时更新,该分配表的准确与否直接关系对客户来源智能判断的准确与否。LOG是日志目录。
如何用winmydns搭建DNS服务器?
1、你必须有一个属于您自已的域名。比如:abc.com。没有域名的必须先注册一个域名。
2、在国际域名中心注册一个DNS域名,以使你的DNS服务器在全球有效。
A、在域名注册商(如新网,新网互联)的域名控制面板里一个“注册本域名下的DNS”的功能。
B、点击进去添加两个DNS,如ns1.abc.com及ns2.abc.com,IP地址填写你的安装winmydns的服务器IP地址。如果没有两台机器或两个固定IP,ns2可以随便写一个IP。
C、在http://www.internic.com/whois.html页面填入你的DNS域名,如ns1.abc.com,选择"Nameserver",点submit看看你注册的DNS有没有生效。
3、新注册域名时,在DNS服务器框里填写你自已的ns1.abc.com及ns2.abc.com,不要使用域名注册商默认的。如果是已注册的域名,请修改域名的DNS服务器为ns1.abc.com及ns2.abc.com。
4,把你下载的WinMyDNS复制到D:\目录下,双击安装服务.bat,为WinMyDNS注册NT服务。
5,配置WEB管理程序。在WinMyDNS目录下WEB文件夹中,打开conn.asp,修改conn.asp中的数据库链接参数。主要修改WinMyDNSDbType,WinMyDNSDbUser,WinMyDNSbPass这三个数据库连接参数的值。如图所示:
3,在IIS管理器是创建一个网站或虚拟目录指向WEB目录。然后访问index.asp页面,默认是用户名:admin,密码123456
4,登录进去之后,可以进行DNS解析管理。
6, URL转发服务器设置(不需要URL转发功能不可以不用设置)。
找一台服务器做为URL转发服务器。并且把IIS的默认站点(主机头为空的那个站点)的主目录指向到URL目录,并把index.asp设置为默认首页。
修改URL/index.asp中的数据库链接参数。与上一步WEB/CONN.asp相同。
注意正确填写 WinMyDNSURL参数,如:url.abc.com。并把解析一条url.abc.com的A记录指向到URL转发服务器。
如何测试WinMyDNS工作是否正常?
1.使用netstat命令查看DNS是否在UDP的53端口工作
使用netstat命令检查53端口是否打开:开始->运行->cmd.exe然后输入netstat -an -p udp如下:
如果winmydns工作正常。会在相应的IP有一条53的进示。如上面的记录: UDP 192.168.1.158:53 *:*。如果没有53端口被打开。请在WinMyDNSAdmin.exe里启动一下winmydns服务。
2.使用nslookup命令测试DNS解析是否正常
先确认域名的DNS器是否为您公司的DNS服务器。国际域名请到http://www.internic.com/whois.html查询。国内域名请到www.cnnic.cn查询。
使用nslookup命令检查您的DNS服务器是否解析正常:开始->运行->cmd.exe然后输入nslookup如下:
使用server 命令nslookup指向到您的DNS服务器进行查询
使用set type=MX 或set type=A等命令查询指示查询的DNS类型。
直接输入www.abc.com等域名查询DNS解析结果。如果是A记录会出来IP地址。如果MX记录,会出来邮箱交换域名。
原文出自【比特网】,转载请保留原文链接:http://server.chinabyte.com/402/11205902_3.shtml
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)