请输入您要查询的百科知识:

 

词条 DNS服务器
释义

DNS服务器是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。

由来

如果您为您的机器设定过internet连线那么您一定接触过DNS了但DNS又是什么呢?说穿了DNS是用来帮助记忆网路地址的完全是为了迁就人类的记忆思维而设的。 DNS的全称是Domain Name System当您连上一个网址在URL打上的时候可以说就是使用了DNS的服务了。但如果您知道这个的IP地址直接输入209.185.243.135也同样可以到达这个网址。其实电脑使用的只是IP地址而已(最终也是0和1啦)这个只是让人们容易记忆而设的。因为我们人类对一些比较有意义的文字记忆比记忆那些毫无头绪的号码(如209.185.243.135)往往容易得多。DNS的作用就是为我们在文字和IP之间担当了翻译而免除了强记号码的痛苦。

假如您的电话有名字记忆功能,您只需知道对方的名字就可以拨号给友人了,我们便可以说这电话也具备如DNS的功能了。但是我们在网路中使用的DNS系统就是这么简单吗?

在早期的IP网路世界里面每台电脑都只用IP地址来表示不久人们就发现这样很难记忆于是一些UNIX的使用者就建立一个HOSTS对应表将IP和主机名字对应起来这样用户只需输入电脑名字就可以代替IP来进行沟通了。如果你安装了Linux系统在/etc下面就可以找到这个hosts档案了在NT的系统里你也可以在\\winnt\\system32\\drivers\\etc下面找到它。不过这个HOSTS档是要由管理者手工维护的最大的问题是无法适用于大型网路而且更新也是件非常头痛的事情。这就是DNS大派用场的时候了。

原理

DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。 DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。

在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:

当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,服务器才会向别的名称服务器查询所要的名称。例如:

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

两种真正DNS的查询模式

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

交谈式(Interactive):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的IP位置,然后再到此最接近的IP上去寻找所要解析的名称,反复动作直到找到正确位置。

泛域名解析技术

很多企业都架设了多个Web站点来满足员工的工作需要,为了节省费用,这些网站通常采用虚拟主机技术,即在同一个服务器上架设多个网站,员工使用二级域名访问这些站点。然而,维护这些二级域名的工作量非常大,不过我们可以采用泛域名解析技术来解决这个难题,只要稍加设置Windows系统自带的DNS服务器就可以实现对泛域名的支持。 下面分别以Windows Server 2003、Windows 2000的DNS服务器为例,介绍如何改造它们以实现泛域名解析。我们假设DNS服务器上有一个域rtj .net,要使DNS服务器支持对这个域的泛域名解析。

Windows 2000实现泛域名解析

方法一

打开DNS控制台,在“rtj.n et”区域上单击鼠标右键,在弹出的菜单中选择“新建域”,接着在“新建DNS域”对话框中输入“*” 创建一个名为“*”的二级区域,最后点击“确定”按钮。

这个区域是DNS服务器允许建立的,然后还需要在“*.rtj.n et”区域中创建一个空主机名的记录。右键单击“*. rtj.n et”区域,在弹出的菜单中选择“新建主机”,在“新建主机”对话框中,“名称”栏中不要输入任何内容,“IP地址”栏中输入泛域名解析指向的IP地址,例如输入“192.168.0.1”,最后单击“添加主机”按钮即可,这样就可以实现对rtj.n et域的泛域名解析。

方法二

我们还可以通过手工修改DNS数据文件来实现泛域名解析。直接修改系统目录下DNS文件夹中的DNS数据文件,进入“C?\\Winnt\\System32\\dns”目录,找到rtj.n et.dns文件,使用记事本打开,手工添加一条“*A 192.168.0.1”记录,其中“A”表示该记录为地址记录,“192.168.0.1”是指泛域名所指向的IP地址,完成后保存文件,重新启动DNS服务器,加载这个DNS数据文件即可。

Windows Server 2003实现泛域名解析

Windows Server 2003系统的DNS服务器实现泛域名解析很简单,它允许使用“*”字符作为主机名称,只要在“rtj.n et”区域中创建一个名称为“*”的主机记录即可,过程非常简单。右键单击“rtj .ne t”区域,在弹出的菜单中选择“新建主机” 在“新建主机”对话框的“名称”栏中输入“*”,“IP地址”栏中输入“192.168.0.1”,最后单击“添加主机”按钮即可。

完成以上设置后,可在客户端使用Ping命令测试任意二级域名解析是否成功。例如,在命令提示符下输入“Ping fymjxcs.rtj.n et”命令,得到如图所示的响应信息,就表示泛域名解析成功。

通过DNS技术检查与排除网络故障

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

故障现象

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

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

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

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

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

配置规则

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

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

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

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

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

处理总结

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

Windows Server 2003 DNS服务安装

DNS(Domain Name System,域名系统)是一种组织成层次结构的分布式数据库,里面包含有从DNS域名到各种数据类型(如IP地址)的映射。这通常需要建立一种A(Address)记录,意为“主机记录”或“主机地址记录”,是所有DNS记录中最常见的一种。通过DNS,用户可以使用友好的名称查找计算机和服务在网络上的位置。DNS名称分为多个部分,各部分之间用点分隔。最左边的是主机名,其余部分是该主机所属的DNS域。因此一个DNS名称应该表示为“主机名+DNS域”的形式。

小提示:要想成功部署DNS服务,运行Windows Serve 2003的计算机中必须拥有一个静态IP地址,只有这样才能让DNS客户端定位DNS服务器。另外如果希望该DNS服务器能够解析Internet上的域名,还需保证该DNS服务器能正常连接至Internet。

安装DNS服务器

默认情况下Windows Server 2003系统中没有安装DNS服务器,所做的第一件工作就是安装DNS服务器。

第1步,依次单击“开始/管理工具/配置您的服务器向导”,在打开的向导页中依次单击“下一步”按钮。配置向导自动检测所有网络连接的设置情况,若没有发现问题则进入“服务器角色”向导页。

小提示:如果是第一次使用配置向导,则还会出现一个“配置选项”向导页,点选“自定义配置”单选框即可。

第2步,在“服务器角色”列表中单击“DNS服务器”选项,并单击“下一步”按钮。打开“选择总结”向导页,如果列表中出现“安装DNS服务器”和“运行配置 DNS 服务器向导来配置DNS”,则直接单击“下一步”按钮。否则单击“上一步”按钮重新配置(如图1)。

第3步,向导开始安装DNS服务器,并且可能会提示插入Windows Server 2003的安装光盘或指定安装源文件(如图2)。

小提示:如果该服务器当前配置为自动获取IP地址,则“Windows 组件向导”的“正在配置组件”页面就会出现,提示用户使用静态IP地址配置DNS服务器。

创建区域

DNS服务器安装完成以后会自动打开“配置DNS服务器向导”对话框。用户可以在该向导的指引下创建区域。

第1步,在“配置DNS服务器向导”的欢迎页面中单击“下一步”按钮,打开“选择配置操作”向导页。在默认情况下适合小型网络使用的“创建正向查找区域”单选框处于选中状态。保持默认选项并单击“下一步”按钮(如图3)。

第2步,打开“主服务器位置”向导页,如果所部署的DNS服务器

是网络中的第一台DNS服务器,则应该保持“这台服务器维护该区域”单选框的选中状态,将该DNS服务器作为主DNS服务器使用,并单击“下一步”按钮(如图4)。

第3步,打开“区域名称”向导页,在“区域名称”编辑框中键入一个能反映公司信息的区域名称(如“yesky .com”),单击“下一步”按钮(如图5)。

第4步,在打开的“区域文件”向导页中已经根据区域名称默认填入了一个文件名。该文件是一个ASCII文本文件,里面保存着该区域的信息,默认情况下保存在“windowssystem32dns”文件夹中。保持默认值不变,单击“下一步”按钮(如图6)。

第5步,在打开的“动态更新”向导页中指定该DNS区域能够接受的注册信息更新类型。允许动态更新可以让系统自动地在DNS中注册有关信息,在实际应用中比较有用,因此点选“允许非安全和安全动态更新”单选框,单击“下一步”按钮(如图7)。

第6步,打开“转发器”向导页,保持“是,应当将查询转送到有下列IP地址的DNS服务器上”单选框的选中状态。在IP地址编辑框中键入ISP(或上级DNS服务器)提供的DNS服务器IP地址,单击“下一步”按钮(如图8)。

小提示:通过配置“转发器”可以使内部用户在访问Internet上的站点时使用当地的ISP提供的DNS服务器进行域名解析。

第7步,依次单击“完成/完成”按钮结束“yesky .com”区域的创建过程和DNS服务器的安装配置过程。

创建域名

利用向导成功创建了“yesky.c om”区域,可是内部用户还不能使用这个名称来访问内部站点,因为它还不是一个合格的域名。接着还需要在其基础上创建指向不同主机的域名才能提供域名解析服务。准备创建一个用以访问Web站点的域名“www.yesk y.c om”,具体操作步骤如下:

第1步,依次单击“开始”→“管理工具”→“DNS”菜单命令,打开“dnsmagt”控制台窗口。

第2步,在左窗格中依次展开“ServerName”→“正向查找区域”目录。然后用鼠标右键单击“yesky.c om”区域,执行快捷菜单中的“新建主机”命令(如图9)。

图9 执行“新建主机”命令

第3步,打开“新建主机”对话框,在“名称”编辑框中键入一个能代表该主机所提供服务的名称(本例键入“www”)。在“IP地址”编辑框中键入该主机的IP地址(如“192.168.0.198”),单击“添加主机”按钮。很快就会提示已经成功创建了主机记录(如图10)。

最后单击“完成”按钮结束创建。

设置DNS客户端

尽管DNS服务器已经创建成功,并且创建了合适的域名,可是如果在客户机的浏览器中却无法使用“www.yesky .com”这样的域名访问网站。这是因为虽然已经有了DNS服务器,但客户机并不知道DNS服务器在哪里,因此不能识别用户输入的域名。用户必须手动设置DNS服务器的IP地址才行。在客户机“Internet协议(TCP/IP)属性”对话框中的“首选DNS服务器”编辑框中设置刚刚部署的DNS服务器的IP地址(本例为“192.168.0.1”,如图11)。

图11 设置客户端DNS服务器地址

然后再次使用域名访问网站,你会发现已经可以正常访问了。

配置DNS转发器

以Windows Server 2003系统中的DNS服务器为例介绍设置DNS转发器的方法:

第1步,打开DNS控制台窗口,在左窗格中右键单击准备设置DNS转发器的DNS服务器名称,选择“属性”命令。

第2步,打开服务器属性对话框,并切换到“转发器”选项卡。在“所选域的转发器的IP地址列表”编辑框中输入ISP提供的DNS服务器的IP地址,并单击“添加”按钮。

重复操作可以添加多个DNS服务器的IP地址。需要注意的是,除了可以添加本地ISP提供的DNS服务器IP地址外,还可以添加其他地区ISP的DNS服务器IP地址。

第3步,用户还可以调整IP地址列表的顺序。在转发器的IP地址列表中选中准备调整顺序的IP地址,单击“上移”或“下移”按钮即可进行相关操作。一般情况下应将响应速度较快的DNS服务器IP地址调整至顶端。单击“确定”按钮使设置生效。

保护DNS服务器的三大方法

DNS解析是Internet绝大多数应用的实际定址方式;它的出现完美的解决了企业服务与企业形象结合的问题,企业的DNS名称是Internet上的身份标识,是不可重覆的唯一标识资源,Internet的全球化使得DNS名称成为标识企业的最重要资源。

然而重要的资源就可能引起有心人士的关心,随着Internet上DNS攻击事件的发生,DNS的安全问题也成为大家关心的焦点,常见的方式为:

1、针对DNS系统的恶意攻击:发动DNS DDOS攻击造成DNS名称解析瘫痪。

2、DNS名称劫持:修改注册讯息、劫持解析的结果。

当DNS服务器遭遇DNS Spoofing恶意攻击时,不管是正常DNS查询封包或非正常的封包都经由UDP Port53进到内部的DNS服务器,DNS服务器除了要处理正常封包外,还要处理这些垃圾封包,当每秒的封包数大到一定的量时,DNS服务器肯定无法处理了,此时正常的封包请求,也一定无法得到正常的回应,当查询网站的IP无法被回应时,用户当然连接不到网站看不见网页,如果是查询邮件服务器时,那邮件也无法被寄出,重要的资料也无法被顺利的传递了,因此,维护DNS服务的正常运作就是一件非常重要的工作。

针对以上的问题AX有一个解决方式,就是DNS应用服务防火墙,AX在这问题有三个有力的方法,可以有效的缓解这些攻击所造成的影响:

1、首先将非DNS协定的封包过滤(Malformed Query Filter)

2、再来将经由DNS服务器查询到的讯息做缓存(DNS Cache)

3、如果真的遇到大量的正常查询、AX可以启动每秒的连线控制(Connection Rate Limit)

Malformed Query Filter:

这种非正常的封包通常都是用来将对外网络的频宽给撑爆,当然也会造成DNS服务器的忙碌,所以AX在第一线就将这类的封包过滤,正确的封包传递到后方的服务器,不正常的封包自动过滤掉避免服务器的负担。

DNS Cache:

当DNS查询的回应回到AX时,AX可以预先设定好哪些Domain要Cache哪些不需要Cache,如果有Cache,当下一个同样的查询来到AX时,AX就能从Cache中直接回应,不需要再去DNS服务器查询,一方面减轻了DNS服务器的负担,另一方面也加快了回应的速度。

再者,当企业选用此功能时更能仅设定公司的Domain做Cache,而非关此Domain的查询一律不Cache或者拒绝回应,这样更能有效的保护企业的DNS服务器。

而ISP之类需提供大量查询的服务,更适合使用此功能,为DNS服务提供更好更快的回应。

Connection RateLimit:

当查询的流量大到一定的程度时,例如同一个Domain每秒超过1000个请求,此时在AX上可以启动每秒的连线控制,控制进入到后端DNS服务器的查询量,超过的部分直接丢弃,更严格的保护DSN服务器的资源。

相信许多人期待在日新月异的网际网络中看到创新的网络技术,并能提供更好的网络应用服务。而确保DNS服务的不间断持续运作并让DNS服务所提供的资讯是正确的,这也是一切网络应用服务的基础。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 15:37:55