|
在Linux操作系统下,有一些和DNS服务器配置密切相关的文件,这里做一下简要介绍。下面以一个组织的主域名服务器配置为例。该组织的域名为abc.com.cn,所使用的网络地址为210.45.12.0,共有两台服务器:一台的IP地址是210.45.12.100,名字是a100,它用作域名服务、电子邮件服务;另一台的IP地址是210.45.12.101,名字是a101,它用作Web服务。
|
|
|
DNS服务主配置文件/etc/named.conf
|
|
|
该文件是域名服务器守护进程named启动时读取到内存的第一个文件。在该文件中定义了域名服务器的类型、所授权管理的域以及相应数据库文件和其所在的目录。该文件默认的名字是/etc/named.conf。
|
|
|
named.conf文件的配置一般包括一个全局配置选项(options)部分和多个区(zone)声明部分。
|
|
|
|
最常用的全局配置选项是定义服务器配置文件的工作目录和转发服务器的IP地址。例如:
|
|
|
|
|
.directory指定了DNS数据文件的存放目录是/var/named。
|
|
|
.forwarders{202.96.134.133;},其中202.96.134.133是转发DNS服务器的地址,forwarders参数指定其后的IP所在的服务器作为备选的DNS服务器。也就是说,把本机DNS不能解析的主机发送到这个备选的DNS服务器上,让它来进行解析。
|
|
|
|
区声明是配置文件中最重要的部分,可有多个区声明,每一条区声明需要说明域名、服务器的类型和域信息源3项。例如:
|
|
|
|
|
.zone"abc.com.cn"用于定义这个区的名称。
|
|
|
.type指定服务器类型。可选的类型有master、slave和hint。master说明一个区的主域名服务器;slave说明一个区的辅助域名服务器;hint说明一个区的高速缓存文件。可以通过该参数来说明这台服务器是主域名服务器、辅助域名服务器还是缓存域名服务器。
|
|
|
|
.notify用来设置是否自动发出DNS NOTIFY信息,其预设值为yes,也就是当主域名服务器中数据库文件发生修改时,自动发出DNS NOTIFY信息,当辅助域名服务器收到这个信息后就自动向主域名服务器确认是否需要更新资料,并自动更新。
|
|
|
|
该区用来告诉域名服务器的守护程序必须维护一个高速缓存域名服务器,同时还告诉域名服务器的守护程序利用什么文件去初始化高速缓存,其类型必须设置为hint,该文件一般存放在named.ca中。例如:
|
|
|
|
|
反向环回地址区主要用于设置环回地址反向解析文件的位置。其内容如下:
|
|
|
|
|
正向域名解析区主要用来设置本区域正向域名解析数据文件。若该DNS服务器是一个缓存域名服务器,则不需要配置该区;若该DNS服务器是一个主域名服务器,则type指定为master。下面的例子是一个主域名服务器,其域名为abc.com.cn,正向域名解析数据存放在named.hosts文件之中:
|
|
|
|
如果是辅助域名服务器,则type指定为slave,同时还要指定主域名服务器的IP地址,以便进行数据库更新。其格式为masters{<主域名服务器的IP地址>}。例如,主域名服务器地址为210.45.12.101,则其内容如下:
|
|
|
|
|
反向域名解析区主要用来设置本区域反向域名解析数据文件。若该DNS服务器是一个缓存域名服务器,也不需要配置该区;若该DNS服务器是一个主域名服务器,则type指定为master。下面的例子是一个主域名服务器,它负责210.45.12.0网络的反向解析,反向域名解析数据存放在named.rev文件中。
|
|
|
|
|
如果是辅助域名服务器,则type指定为slave,同时还要指定主域名服务器的IP地址,以便进行数据库更新。其格式为masters{<主域名服务器的IP地址>}。例如,主域名服务器地址为210.45.12.101,则内容如下:
|
|
|
|
|
|
在/etc/named.conf文件中所定义的文件都是DNS数据库文件(如本例中named.ca、named.local、named.hosts、named.rev),每个文件都由资源记录构成。每条资源记录包含与特定主机的有关信息。而每一条资源记录通常包含5项,排成一行记录在文本文件之中,其格式如下:
|
|
|
|
.域名:给出要定义的资源的域名,该域名通常用来作为域名查询时的关键字。
|
|
|
.存活期:在存活期内该记录有效;存活期过后该记录不再有效。
|
|
|
.IN:将记录标识为一个Internet DNS资源记录。
|
|
|
.记录类型:该项表明资源记录的类型(下面将详细介绍)。
|
|
|
.记录数据:说明和该资源记录相关的信息,通常由资源记录类型来决定。
|
|
|
|
.主机(A)记录。用来记录在正向查找区域内的主机及其IP地址。用户可通过该类型的资源记录把主机域名映射为IP地址。
|
|
|
.主机别名(CNAME)记录。在某些情况下,需要为区域内的一台主机创建多个主机名称。例如,一台主机同时是Web服务器与FTP服务器,则可以为该主机取两个不同的名称,当作为Web服务器时域名是www.abc.com,而当作为FTP服务器时域名可以是ftp.abc.com。
|
|
|
.邮件交换器(MX)记录。当用户将邮件送到本地邮件服务器后,本地邮件服务器必须将邮件送到目的地邮件服务器,而目的地的邮件服务器IP地址可以向DNS服务器查询。邮件交换器记录就是指定哪些主机负责接收该区域的电子邮件,如果在此区域内创建了多个邮件交换器记录,可以调整此区域邮件服务器的优先级,数字较低的优先级较高。
|
|
|
.指针(PTR)资源记录。用来记录在反向查找区域内的IP地址及主机。用户可通过该类型的资源记录把IP地址映射为主机域名。
|
|
|
.起始授权机构(SOA)记录。用来记录此区域中的主要名称服务器以及管理此DNS服务器的管理员的电子邮件信箱。
|
|
|
.名称服务器(NS)记录。用来记录管辖此区域的名称服务器,包括主域名服务器和辅助域名服务器。
|
|
|
|
在Linux系统上,通常在/var/named目录下已经提供了一个named.ca。该文件中包含了Internet的顶层域名服务器,但这个文件通常会有变化,所以建议最好从Inter NIC(Internet网络信息中心)下载最新的版本。该文件可以通过匿名FTP下载。
|
|
|
|
该文件用来说明"环回地址"的IP地址到主机名的映射。其文件名由/etc/named.conf中反向环回地址区定义,通常为/var/named/named.local。该文件的内容如下:
|
|
|
|
|
.此文件的内容是特定的,在不同域的域名服务器上,所要修改的只是SOA记录和NS记录。
|
|
|
.PTR记录的最后域名为完全标识域名,以"."结束。
|
|
|
|
该文件指定了域中主机域名同IP地址的映射,实现域名的正向解析。其文件名由/etc/named.conf中正向域名解析区声明定义,本例中该文件名为/var/named/named.hosts。其内容如下:
|
|
|
|
|
.在文件中所有的记录行都要顶格写,前面不能有空格。
|
|
|
.行IN NS a100.abc.com.cn.说明该域的域名服务器,至少应该定义一个。
|
|
|
.行IN MX 10 a100.abc.com.cn.是一条邮件交换器(MX)记录,指明了单位的邮件交换器是a100.abc.com.cn,它负责处理邮件地址的主机部分为@abc.com.cn的邮件,10表示优先级别。
|
|
|
.类似于行a100 IN A 210.45.12.100的是一系列的A记录,表示主机名和IP地址的对应关系。a100是主机名,210.45.12.100是它的IP地址。
|
|
|
.行www IN CNAME a101表示一条定义别名的记录,即www.abc.com.cn和a101.abc.com.cn表示同一台主机。
|
|
|
|
该文件主要定义了IP地址到主机名的转换,实现域名的反向解析。IP地址到主机名的转换是非常重要的,Internet上的很多应用,如NFS、Web服务等都要用到该功能。其文件名由/etc/named.conf中反向域名解析区声明定义,本例中其名称为/var/named/named.rev。该文件的内容如下:
|
|
|
|
|
.PTR记录用于定义IP地址名到主机域名的映射,即IP地址210.45.12.100对应的主机名为a100.abc.com.cn,IP地址210.45.12.101对应的主机名为a101.abc.com.cn。
|
|
|
.PTR记录的最后一项必须是一个完整的标识域名,以"."结束。
|
|
|
注意:在辅助域名服务器和缓存域名服务器中,不需要配置正向域名转换数据文件/var/named/named.hosts和反向域名转换数据文件/var/named/named.rev。但在辅助域名服务器中,若不存在这两个文件,域名服务器的守护程序将自动从主域名服务器中下载这两个文件,文件内容与主域名服务器完全相同;若文件存在,则检查主域名服务器中的数据是否不同于本地文件,若有变化就下载并更新本地文件的内容;若无变化就加载本地磁盘文件,而不必从远程下载。
|
|
|
|
默认安装时,域名服务器的守护程序为/etc/rc.d/init.d/named,是域名服务的最主要文件。用户可以通过该程序启动、重新启动、停止域名服务。其命令分别如下:
|
|
|
|
如果设定DNS服务在计算机启动时自动启动或不启动,可以通过chkconfig命令来设定。该命令格式如下:
|
|
|
|
例如,希望计算机在运行级别3、5的情形下启动时自动启动DNS服务,则命令如下:
|
|
|
|
再如,希望计算机在运行级别2的情形下启动时不启动DNS服务,则命令如下:
|
|
|
|