|
|
|
|
|
|
|
|
|
|
|
在Linux上的域名服务是由named守护进程来执行的,named最早是为BSD向客户机提供域名服务而开发的。named守护进程通常在系统启动时开始工作,并一直工作到系统关闭。该进程从被称作/etc/named.boot的配置文件中获取有关信息,并将主机名映射为IP地址的各种文件。
|
|
|
|
只要在命令行中输入#/etc/rc.d/init.d/named start,named就会开始运行,读取named.boot文件及其定义的任意区文件,并将它的进程ID以ASCⅡ码的形式写入/var/run/named.pid中,下载任何来自主服务器的区文件,如果有必要的话在端口53等待DNS请求。
|
|
|
|
下面介绍与DNS有关的几个配置文件以及它们的功能。
|
|
|
|
◆named.conf:设置一般的named参数,指向该服务器使用的域数据库信息的源,这类源可以是本地磁盘文件或远程服务器。
|
|
|
|
|
|
◆named.local:用于在本地转换回送地址。
|
|
|
|
◆named.hosts:将主机名映射为IP地址。
|
|
|
|
◆named.rev:用于反向域的、将IP地址映射到主机名的区文件。
|
|
|
|
理解不同配置的最佳方法是讨论各种named.conf的示例文件。
|
|
|
|
|
|
配置唯高速缓存域名服务器是很简单的,必须有named.conf和named.ca文件,通常也要用到named.local文件。下面是用于唯高速缓存服务器的named.conf文件的例子,其中以"//"开头的是注释。
|
|
|
|
|
|
directory这一行告诉named到哪里去找寻文件,所有其后命名的文件都是相对于此目录的。该文件告诉named维持一个域名服务器响应的高速缓存,并利用named.ca文件的内容初始化该高速缓存。该高速缓存初始化文件的名字可以是任何名字,但一般使用/var/named/named.ca。并不是在该文件中使用一个hint语句就能使它成为唯高速缓存配置,而是因为没有master和slave语句才使它成为一个唯高速缓存配置文件。
|
|
|
|
但是,在这个例子中却有一个master语句。事实上,几乎在每一个唯高速缓存的配置文件中都有这一语句,它将本地服务器定义为它自己的回送域的主服务器,并假定该域的信息存储在named.local文件中。这个回送域是一个in-addr.arpa域(in-addr.arpa域用于指定逆向解析,或IP地址到DNS名字解析),它将地址127.0.0.1映射为名字localhost。转换自己的回送地址对于大多数人都是有意义的,因为许多named.conf文件都包含这一项。
|
|
|
|
在大多数唯高速缓存服务器的配置文件中,这种directory、master和hint语句是唯一使用的语句,但也可以增加其他的语句,比如forwarders和slave等语句都可以使用。
|
|
|
|
|
|
我们虚构的vbrew.com用于说明主服务器和辅助服务器的基础,下面是将vlager定义为vbrew.com域主服务器的named.conf文件。
|
|
|
|
|
|
上例中第一个master说明这是vbrew.com域的主服务器。该域的数据是从named.hosts文件中加载的。在这个例子中,我们可以将文件名named.hosts作为区文件名,也可以使用更有说明性的文字,例如,vbrew.com区文件的名字使用vbrew.com.hosts则较好。
|
|
|
|
第三个master语句指向能将IP地址191.72.0.0映射为主机名的文件。它假定本地服务器是反向域72.191.in-addr.arpa的主服务器,该域的数据从文件named.rev中加载。
|
|
|
|
对于上例配置中的hint语句我们在前面唯高速缓存配置中已经讨论过。在这些配置中,它们的作用是相同的,而且几乎在任何配置中都要使用它们。
|
|
|
|
辅助服务器的配置与主服务器的配置不同,它使用slave语句代替master语句。slave语句指向用作域信息源的远程服务器,以替代本地磁盘文件。下面的named.conf文件可以将vale配置成vbrew.com域的辅助服务器。
|
|
|
|
|
|
第一个slave语句是使这个服务器成为vbrew.com的辅助服务器。它告诉named从IP地址为191.72.1.3的服务器中下载vbrew.com的信息,并将其数据保存在/var/named/named.hosts文件中。如果该文件不存在,named就创造一个,并从远程服务器中取得区数据,然后将这些数据写入新创建的文件中。如果存在该文件,named就要检查远程服务器,以了解远程服务器的数据是否不同于该文件中的数据。如果数据有变化,它就下载更新后的数据,用新数据覆盖该文件的内容;如果数据没有变化,named就加载磁盘文件的内容,而不必做麻烦的区转移工作。
|
|
|
|
将一个数据库复制到本地磁盘文件中,就不必在每次引导主机时都要转移区文件;只有当数据修改时,才进行这种区文件的转移工作。
|
|
|
|
配置文件中的下一行表示该本地服务器也是反向域72.191.in-addr.arpa的一个辅助服务器,而且该域的数据也从191.72.1.3中下载。反向域的数据存储在named.rev中。
|
|
|
|
DNS数据库文件和资源记录配置named所需的所有文件(named.hosts、named.rev、named.local和named.ca)中的信息都是以资源记录的形式存在的。每个资源记录都有一个类型,这个类型说明记录的功能。这些记录都是标准资源记录,称为RR(Resource Records)。
|
|
|