UNIX系统是目前十分流行的一种网络操作系统,利用其提供的域名服务功能为企业内部网Intranet建立域名系统,可有效地管理网络,方便用户操作电子邮件、文件传输、Web浏览器等Internet工具。?
域名系统?
域名是计算机网络中为了方便用户使用而引入的一种高级地址形式,域名系统的目的是通过层次化结构的域名来解决网络中极易发生的计算机名字冲突的问题,使管理分散化,域名系统包含两方面的内容:域名命令,域名解析。?
域名命令是采用一种类似于UNIX文件系统的呈反向生长的树状结构来进行的。根在顶端,以空字符串做标识符,树中的每个节点用一个简单的字符串做标识符,表示域名系统中的一个域,每个域可以进一步划分成子域。域名全称是一个从该域到根的标识符序列,并且以“.”分隔这些标识符。例如域名kj.jx.hb.cn由四个标识符组成,标明一台名字为kj的计算机,kj的后缀jz.hb.cn标明该计算机所在的域。?
正确命名域名后就要进行域名解析,所谓域名解析就是域名和IP地址间的相互映射,由域名映射到IP地址称正向解析,由IP地址映射到域名称逆向解析。域名系统中应用了分布式数据库技术,域名解析时采用客户机/服务器模式,客户端称域名解析器,主要提出域名解析申请,服务端称域名服务器,负责控制本地域名数据库及解析。本地解析器和本地服务器直接相连,多数名字在本地解析,只有少数经过网络传输到别的服务器解析,解析时首先访问本地服务器,如不行,再访问别的服务器。为了提高解析效率,在服务器中开辟了一个专用缓存区,供存放最近解析的名字、应用的地址及描述解析域名服务器位置的记录使用。?
UNIX系统中域名系统的建立?
UNIX系统中的域名系统是一种客户机/服务器软件系统,服务器部分实际上是一个称为named的守护进程,运行在指定的计算机(称为域名服务器)上,该机包括整个域名数据库的部分信息,可供解析器来访问查询,主要功能是解析、映射、缓存。域名解析器不是单独的客户程序,而是以库例程的方式编译进象telnet、ftp这样的程序之中实现的,主要功能是发送查询、等待应答。因此,UNIX系统中域名系统的建立包括解析器和服务器两部分的配置和生成。?
1、解析器?
解析器的配置生成比较容易,只需设置一个文件/etc/resolv.conf,该文件是一个简单的文本文件,配置时有两个数据参数(nameserver和domain)需要定义,其格式是:?
nameserver地址?
dmain?域名?
其中:nameserver参数以IP地址的形式定义了解析器查询域名信息的服务器。服务器按照在文件中出现的顺序依次被查询,如果收不到来自第一台服务器的响应,就试着查询文件中列出的第二台服务器,直到试完列出的全部服务器为止。?
domain参数定义了默认域名。解析器给所有不包括后缀的主机名添加上默认域名,然后使用扩展的主机名发往域名服务器查询解析。?
2、服务器?
UNIX系统中的域名服务软件named启动时首先检查定义域名数据库信息来源的文件/etc/named.boot,然后,根据该文件的指示访问构成域名数据库的各个区文件(缓存区文件named.cache、自反区文件named.local、域名到地址的区文件named.hosts以及反向域区文件named.rev),所以服务器的配置生成要比解析器复杂得多,需要分别设置生成一组文件。?
第一,named.boot文件给named守护程序指明了域名系统的来源,决定了域名服务器的功能,其主要配置参数的定义格式是:?
directory?目录?
primary?域名?区文件名?
secondary?域名?地址?区文件名?
cache?域名?区文件名?
其中:directory定义了其后面的定义语句primary等的区文件所在的目录为/etc/named。?
primary定义主域名服务器的区文件名。?
secondary定义地址为162.132.1.1的主机是辅助域名服务器。?
cache定义域名服务器响应的缓存区文件,并用其内容来初始化缓存区。?
第二、named.boot文件中指示的其他区文件真正储存了域数据库信息,并且使用同一类型的记录格式来定义数据库,记录格式定义为:[name][ttl]?IN?TYPE?data?
记录格式中各参数的具体含义是:name定义记录所引用域对象的名字;ttl定义以秒为单位的时间长度;IN定义记录是Internet?DNS记录;TYPE定义记录的类型;data定义记录类型的具体内容。参数TYPE定义的主要记录类型有下列几种:?
SOA(Start?Of?Authority)?标明区文件的开始,定义影响整个区的参数。?
NS(Name?Server)?标明域的域名服务器。?
A(Address)?映射域名到IP地址。?
PTR(Pointer)?映射IP地址到域名。?
MX(Mail?Exchange)?标明电子邮件应传送到的位置。?
CNAME(Canonical?Name)?定义主机名的别名。?
第三,UNIX系统安装后带有各个区文件的范例,实际应用中根据需要按区文件记录的定义方式适当修改增删就生成自己的文件,下面分别就每个文件的配置举例说明:?
1named.local文件?
named.local文件是0.0.127.in_addr.arpa的区文件,将IP地址127.0.0.1转换成本地主机的名字,因为UNIX系统均使用127.0.0.1做计算机自身IP地址,所以每台服务器上该文件都是相同的。?
2named.rev文件?
named.rev文件是地址域12.162.in_addr.arpa的区文件,将162.12.0.0网段内的IP地址映射成计算机的域名,区文件定义的记录中IP地址是倒序的,如地址162.12.2.1在区文件的name参数处写成1.2。?
3named.hosts文件?
named.hosts文件将域名映射到IP地址,因此,A记录最多,另外,还可以定义计算机的别名以及电子邮件服务器,如文件中mail的别名是ns,电子邮件服务器是mail。?
4named.cache文件?
named.cache文件包含当前域名服务器启动并开始创建数据缓存时必须的信息,基本上是NS记录和A记录。?
UNIX系统中域名系统的检测?
UNIX系统提供了进行域名系统检测的工具软件包nslookup,其功能是直接查询域名服务器,并检索域名系统所应知道的任何信息。该软件在判断服务器是否正确运行和配置以及用于查询由远程服务器所提供的信息时十分有用。?
在UNIX系统的命令行上不带任何参数运行nslookup就进入交互方式,在交互提示符下输入help得到该软件的所有操作及功能、输入exit终止交互方式。同时nslookup程序也可直接按命令行方式运行。如用命令行方式来查询计算机的地址,nslookup将显示域名服务器的名字和地址及所查询的域名和地址。?
通过nslookup检测判断,前面的设置结果正确,UNIX的域名系统成功建立了.