基于windows 2003构建DNS服务器的两种方法
2012-04-29王彩云
王彩云
摘要:在校园或企业网建设中,经常要求实现内网专用域名的解析服务,这就需要网管为此配置DNS服务。Windows 2003服务器版本以其友好的用户体验为用户熟悉,在对DNS服务器支持上也提供了图形化的工具,可以较为方便的完成局域网内的域名解析服务配置。另外,还可以采用兼容Unix系统的方法在Windows 2003服务器上配置DNS服务。
关键词:域名系统;Windows 2003;Cygwin
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)02-0288-03
Two Methods of Building DNS Server in Windows 2003
WANG Cai-yun
(Shenzhen Longgang Secondary Vocational School, Shenzhen 518172,China)
Abstract: On campus or enterprise network construction,it is often required to achieve within the network-specific domain name resolu? tion services, which need to configure the DNS service for this network. Windows 2003 server version of its user-friendly experience for users familiar with the support of the DNS server also provides a graphical tool that can be more convenient to complete LAN domain name resolution service configuration. You can also use the method compatible with Unix system on a Windows 2003 server, configure the DNS service.
Key words: DNS; Windows 2003; Cygwin
在校园和企业网络规划建设中,为便于用户使用一些常用服务,如邮件,团体门户网站,公用FTP服务等,常常希望定义一些私有的域名。这样用户只需要访问具有实际意义的域名地址,就可以获取相应服务内容,而不需要记忆IP地址。要实现域名和IP地址的对应关系,必须依赖DNS服务器。DNS服务器实现了域名和指定IP地址的绑定关系,当用户访问域名地址时,主机首先向DNS服务器查询其对应的IP地址,然后自动从该地址请求数据。因此可见,设计和配置高效的DNS服务器就极为重要。
1 DNS服务实现原理概述
DNS服务器的主要功能是完成主机域名和IP地址之间的翻译转换工作。当DNS客户机需要查询程序中使用的名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询消息都具备相同格式,一般包括三条信息,用来告知服务器的回应。
指定的DNS域名,表示为完全合格的域名。
指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。DNS域名的指定类别。
DNS服务器始终指定为Internet类别,其指定的名称可以是合格的域名,如my.college.com,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS查询当作客户机向服务器提出的两部分问题:如客户端发出查询请求,查询名为my.college.com的计算机,在DNS服务器上有无对应的记录。服务器收到该请求,则回应相应IP地址给客户端。
DNS服务器为提高查询效率,有时可通过查询缓存信息回复客户端请求。当客户端查询频繁到达服务器时,缓存机制将会大大提高其应答效率。DNS的查询过程按两部分进行:首先,DNS服务器解析客户端的请求;当不能就地解析查询时,可根据需要查询DNS服务器来解析名称。DNS查询的过程如图1所示。DNS查询分为两类:
递归查询:服务器可代表请求客户机到其它DNS服务器,以完全解析该名称,并随后将应答返回至客户机。
迭代查询:客户机可能配置多个DNS服务器地址,因此客户机也可以联系别的服务器来解析名称。该过程称作迭代。
图1DNS服务简易模型
2 DNS服务配置和实现
2.1配置环境说明
首先说明网络环境和需要配置的服务。在本文涉及的校园网案例中,按照楼层进行网段划分,主教学楼中按照楼层规划为192.168.0x.yyy的网段,其中x表示楼层,第一位默认为0,如9楼为192.168.9.yyy,各层网关为192.168.0x.1;行政办公楼则定义为192.168.1x.yyy,其中x也代表楼层,各层网关为192.168.1x.1;图书馆则定义为192.168.2x.yyy,网关定义规则同上。
在校园网中,服务器都放置在中心机房中,中心机房IP地址规划为192.168.99.yyy;网关为192.168.99.1。其中部分DNS相关服务器及相关规划如表1所示。
表1服务器规划
由此,可知,我们需要在192.168.99.2的DNS服务器上完成配置,使在学校内网中访问门户主页,FTP等服务器域名时,可以获取对应服务器上的内容。
2.2基于Windwos系统的安装和配置
在Windows 2003 Server中配置DNS服务器最简单的方法是直接使用其通用配置组件。由于默认不安装该组件,需要运行服务器添加和服务配置程序,将DNS服务选中并安装,此时需要用到系统安装盘。安装过程如图2,图3所示。
图2服务器安装向导
图3DNS网络服务的添加
安装完成后,在服务器上完成DNS相关配置,主要过程包括:
安装DNS服务完成后,点击“下一步”进入DNS服务器配置向导;
首先提示创建新区域,在正向查询区域条目中,右键点击,选择新建区域,并选择创建主要区域。输入区域名称为mycollege.com,填写区域名称和区域配置文件名;
选择不允许动态更新,我们在后续工作中通过手动更新完成DNS的变更;
转发器设置中,选择是,将外网的DNS服务器地址,可以填写两个。这个主要用来将自己不认识的DNS域名交由外部DNS解析,即前文所述的递归解析;
至此将完成建立域的过程,下面开始创建不同主机的域名;
依次单击“开始”→“管理工具”→“DNS”菜单命令,打开“dnsmagt”控制台窗口;
在打开窗体作坊展开“ServerName”→“正向查找区域”目录。然后用鼠标右键单击“mycollege.com”区域,执行快捷菜单中的“新建主机”命令;
在新建主机菜单中,名称填写home.mycollege.com,IP地址填写192.168.99.11
重复8,9步骤,分别将ftp.mycollege.com,books.mycollege.com,blog.mycollege.com及对应IP地址添加。
此时通过校园网络中的其它机器访问预定义的域名,就可以通过DNS服务配置,映射到对应IP地址的服务器上。
2.3基于Cygwin实现基于Unix的配置
Unix和Linux系统是实现DNS服务器的立项环境,在Windows 2003 Server中,也可以不使用本身提供的DNS服务配置组件,而采用Unix环境兼容的配置方法。通过采用Cygwin仿真虚拟环境,Windows服务器可以运行Unix或Linux上的很多软件,基于这种原理,可以将Unix上的DNS服务移植到Windows系统中,从而有效利用Unix的资源和性能优势。
2.4实现原理
Cygwin是Windows系统中,用来仿真Unix环境的虚拟层。该虚拟环境通过将POSIX兼容的系统及接口调用转换为Windows系统调用,构建一个cygwin1.dll的动态库来实现这些接口的翻译。基于Unix的应用程序,主要在Cygwin环境中重新编译,就能以兼容Unix系统的模式运行。该方法为许多Unix服务向Windows移植提供了保证。图4说明了基于Cygwin在Windows系统上的虚拟服务架构。
图4 Windows上的Cygwin虚拟服务架构
2.5配置方法
我们通过将Linux下的BIND软件包移植的方法实现了基于Windows系统的Unix DNS服务兼容配置方法。
首先通过Cygwin环境,下载BIND源码并编译,编译通过后,执行make install命令,就完成了BIND在虚拟环境中安装。
安装完成后,编辑/etc/named.conf,/var/named/named.ca,/var/named/named.local文件,即可实现DNS配置。下面以实例说明前文所述校园环境中的配置方法。
配置/etc/named.conf文件,其中包含如下内容:
options {
directory "/var/named";
forwarders {202.97.224.68;202.97.230.4;};
}
该配置类似3.2中描述的转发器配置,即当DNS服务器不能识别主机查询请求时,需要向外部DNS进行递归解析。
配置/var/named/named.ca,将各域名,IP对应关系填入其中,如下所示
. 3600000 NS B.ROOT-SERVERS.NET.
HOME.MYCOLLEGE.COM. 3600000 A 192.168.99.11
重新启动BIND服务,更新配置。
2.6实现性能分析
由于基于Cygwin的虚拟服务,采用了BIND服务和虚拟的接口转换,其运行效率较Windows自带组件稍有不足。但由于BIND服务开放源码,可以通过改进缓存效率,进行相应的优化。
3结论
文中采用两种方法完成DNS的配置,都可以达到同样的效果。基于Windows系统原生服务较为简单,容易上手,但基于Cygwin虚拟服务实现的方法实际较为简单,修改方便,而且可以通过后续优化提升其效率;特别本方法还可以用以将其它的服务从Unix系统移植到Windows中,以实现更好的资源共享。
参考文献:
[1]刘晓辉. Windows Server 2003服务器搭建、配置与管理[M]. 2版.北京:水利电力出版社,2007.
[2] (美)罗斯(Russinovich,M.E.),(美)所罗门(Solomon,D.A.).深入解析Windows操作系统[M].北京:电子工业出版社,2007.
[3] (美)史蒂文斯. TCP.IP详解(卷3):TCP事务协议.HTTP和UNIX域协议[M].北京:人民邮电出版社,2010.
[4] (美)弗里斯科比(Frisch,AE.). Unix与Linux系统管理[M].刘颖,译.北京:清华大学出版社,2006.