当前位置:首页 > 技术与方案 > Linux及应用

在Red Hat 7.3上使用BIND建立DNS服务器

(2012-09-26 15:43:48)

尽管Linux在桌面计算机的世界中还没有取得引人注目的进展,但作为网络服务器它已经很有名气了。由于其出色的可靠性,我们可以放心地在Linux上运行当今Internet时代所必需的各种重要服务程序。Linux最普遍的一些用途主要用作Web服务、邮件服务以及DNS服务。下面我将说明怎样在Red Hat Linux 7.3上使用BIND建立一个DNS服务器。

一、 BIND服务器的安装

要想安装BIND,可在安装Linux 7.3时选择安装DNS Name Server,系统就会自动安装好BIND9.2.0版。如果您已经完成了Linux 7.3的安装,却没有装DNS Name Server,那也没关系,您可以到BIND的主页http://www.isc.org上下载BIND的源码包,当前最新版本是BIND9.2.2版;然后用root用户登录Linux,新建一个目录,把所有的压缩包拷贝到新建的目录下,然后依次解开软件的压缩包;进入这个新创建的目录,执行configure命令,在脚本程序完成所有配置工作后,运行make命令,接着运行make install命令完成安装过程。

二、 BIND服务器的配置

BIND服务器可被配置成几种不同的运行方式:纯缓存域名服务器、主域名服务器、辅域名服务器。纯缓存域名服务器通过向其它域名服务器查询,将查询结果存入缓存。主域名服务器是判定域名的最终来源。主域名服务器同时也是传送到辅助域名服务器的区传送(zone transfer)的源头。辅助域名服务器接收所有来自主域名服务器的区信息。BIND中几乎所有的配置项都是通过/etc/named.conf文件完成的。这个文件以纯文本的形式存放各服务器信息和区信息。下面是我的BIND服务器的配置。
options {
 directory“/var/named”;
};
zone“.”IN {
 type hint;
 file“named.ca”;
};
zone“my.domain.com”IN {
 type master;
 file“my.domain.com”;
};
zone“0.0.127.in-addr.arpa”IN {
 type master;
 file“named.local”;
};
zone“230.69.211.in-addr.arpa”IN {
 type master;
 file“211.69.230”;
};
“directory”这一行指定named从“/var/named”目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下。第一个区登记项用来通知BIND在何处定位根服务器的信息。文件中的zone “my.domain.com”段是声明这是用于“my.domain.com”域的主域名服务器,该域的数据从“/var/named/my.domain.com”文件中读取。文件中的zone “230.69.211.in-addr.arpa”段是指向映射IP地址“211.69.230.*”到主机名的文件,该域的数据从“/var/named/211.69.230”文件中读取。
“/var/named/my.domain.com”的内容:
@ IN SOA ns.my.domain.com. root.ns.my.domain.com. (
   2002080302 ; serial
   3600 ; refresh
   900 ; retry
   1209600 ; expire
   43200 ; default_ttl
   )
@ IN MX 5 mail.my.domain.com.
@ IN NS ns.my.domain.com.
ns IN A 211.69.230.1
www IN A 211.69.230.1
mail IN A 211.69.230.1
1 IN PTR ns.my.domain.com.
“/var/named/named.local”的内容:
@ IN SOA localhost. root.localhost. (
   1997022700 ; serial
   28800 ; refresh
   14400 ; retry
   3600000 ; expire
   86400 ; default_ttl
   )
@ IN NS localhost.
1 IN PTR localhost.
“/var/named/211.69.230”的内容:
@ IN SOA ns.my.domain.com. root.ns.my.domain.com. (
   2002080310 ; serial
   3600 ; refresh
   900 ; retry
   1209600 ; expire
   43200 ; default_ttl
   )

SOA是Start of Authority的缩写,所有区文件都要以它打头。顺序号(serial)使服务器能够记录所进行过的各次更新,守护进程最近一次启动后,只要数字出现了增长,它就会重新把信息读入到数据库中去。接下来的四行以秒为单位处理刷新和超时周期等。接着列出的是域名,这样BIND就会知道是谁控制整个域。 接着列出的是MX记录,它使服务器知道当有邮件信息请求mail.my.domain.com时应当发出什么信息。在本例中,mail.my.domain.com的优先级是5,您可以列出多个MX记录作为邮件服务器的备份,数字越小优先级越高,要注意的是还有一个相应的A记录给出了mail. my.domain.com的IP地址,这是必不可少的,这样DNS服务器就可以知道怎样根据域直接把邮件请求发往何处。一个A记录仅仅是把IP地址赋给一个子域项,如WWW、Mail、FTP或者NS,这些都必须用上面的格式录入,而且必须与一个IP地址相关联。比如说,当某个用户请求www.my.domain.com时,它将会被指向该域所在的Web服务器的IP地址211.69.230.1。

三、 启动BIND服务器

BIND服务器的各个配置文件都配置好以后,就可以让BIND服务器运行起来,用于启动DNS服务的程序是named,这个脚本程序应该是在安装时放进正确的目录中的。您可以通过执行rndc reload命令来运行这个程序。可用ps aux命令检查一下named是否已经运行,这个命令会列出当前所有进程的清单。如果您想让named服务在系统启动时自动运行,只需要在提示符下运行setup找到named服务,并且将这个服务设置为系统启动时初始启动named服务即可。

四、 BIND服务器的维护

BIND服务器的配置是非常繁琐的,管理员要维护好一个域名服务器非常困难。BIND软件组提供了大量的管理工具来减轻管理员的负担。如dig命令用来获得正确的named.ca文件;rndc指令用来管理域名服务器的操作,如rndc reload用来装入新的数据库;nslookup用来查询域名信息。
域名服务器的维护关键在于数据库文件的正确性,管理员要不断地更新维护,这不是一次配置工作所能完成的。系统管理员为了域名服务器正确、高效地运行,需要日复一日地努力工作

作者:刘利强

更多
关闭窗口 打印 
网站首页    -    联系我们    -   收藏本站    -    网站地图                                                               客户服务热线:0571-85023000
本网站所有网页信息已申请知识产权和著作权保护,版权归四海光纤公司所有,未经授权禁止任何人复制或镜像,违者必究。
公司主营:杭州光纤光缆视频会议系统,是专业的通信网络工程、视频会议系统建设专家

中华人民共和国备案号:浙ICP备10018243号