具体步骤:

1. 插入安装光盘并挂载,然后安装bind软件包及相关的软件包。如图所示:

linux dns缓存域名服务器_缓存

linux dns缓存域名服务器_缓存 _02

2. 编辑主配置文件

主配置文件named.conf通常位于/etc/目录下,如果安装了bind-chroot软件包,则主配置文件默认位于/var/named/chroot/etc/目录下,需要用户手工建立。在named.conf文件中,主要包括全局配置、区域配置两个部分,每一条配置记录的行尾以分号“;”表示结束,以“#”号或“//”开始的部分表示注释文件(大段注释可以使用“/*……*/”的格式)。如图所示:

linux dns缓存域名服务器_Linux _03

linux dns缓存域名服务器_Linux _04

上述配置内容中,除了directory项通常会保留以外,其他的配置项都可以省略。若不指定listen-on配置项时,named默认在所有接口的UDP 53端口监听服务;不指定allow-query配置项时,默认会响应所有客户机的查询请求。dump-filestatistics-filememstatistics-file等配置项用于指定缓存数据库文件、状态统计文件的位置。添加了“zone .in  { }”部分的根区域设置,尽管缓存服务器并没有自主控制的区域数据,但可以向根服务器进行迭代查询,并将最终获得的解析结果反馈给客户。

有时候为了提高解析效率,也可以不向根分区查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京的202.106.0.20202.106.148.1),缓存服务器收到返回的查询结果后再传递给客户端。只要去掉“zone .in  {……}”的设置,并在全局配置中正确设置forwarders参数即可实现该功能。如下所示:

[root@localhost ~]# vim /var/named/chroot/etc/named.conf

options {

…… //省略部分内容

Forwarders { 202.106.0.20202.106.148.1 }

}

3. 确认根域的区域数据库文件named.ca

根区域的区域数据库文件默认位于文件/var/named/chroot/var/named/named.ca中,该文件记录了Internet13台根域服务器的域名和IP地址等相关信息。如图所示:

linux dns缓存域名服务器_dns_05

linux dns缓存域名服务器_dns_06


 

4. 启动named服务

执行service named start”命令,启动named服务,并通过netstat命令确认named服务的端口监听状态。若服务启动失败或发现没有正常监听UDP 53端口,可以根据错误提示信息(或者/var/log/messages文件中的日志记录)排除错误,然后再重启服务即可。如图所示:

linux dns缓存域名服务器_Linux _07

缓存域名服务器搭建完毕


关于主域名服务器和从域名服务区可以参考我的另外两篇文章:

主域名服务器:http://blog.51cto.com/yangkui/2047701

从域名服务器:http://blog.51cto.com/yangkui/2048153