RHEL5.4下使用bind配置DNS服务器详细步骤:
1、安装bind服务器软件及相关组件
查看系统中是否安装bind域名服务相关的几个软件包:
rpm -qa | grep bind
##############################################################################
bind-utils-9.3.6-4.P1.el5 提供DNS服务器的测试工具程序(nslookup、dig等)
bind-chroot-9.3.6-4.P1.el5 实现bind根目录的监牢机制,增强安全性
bind-libs-9.3.6-4.P1.el5 bind软件程序所需要的lib库文件
bind-9.3.6-4.P1.el5 提供了域名服务的主要程序和相关文件
##############################################################################
caching-nameserver-9.3.6-4.P1.el5.i386.rpm 配置bind作为缓存域名服务器提供的必要的默认配置文件
(这个包默认情况下多数系统没有安装,需要手动安装)
mount /dev/cdrom /media/
rpm -ivh /media/Server/caching-nameserver-9.3.6-4.P1.el5.i386.rpm
2、查看安装的目录和文件
rpm -ql bind
rpm -ql bind-chroot
rpm -ql bind-utils
rpm -ql caching-nameserver
/usr/sbin/named 域名服务器的守护进程
/var/run/named/named.pid DNS的PID文件
/etc/sysconfig/named
/etc/rc.d/init.d/named
/etc/logrotate.d/named 这3个脚本用于管理域名服务器守护进程
/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup 这3个程序用于对DNS服务器进行测试
/var/named/chroot 安装了bind-chroot软件包后,bind根目录真实位置
/var/named/chroot/etc DNS服务器的配置文件存放目录
/var/named/chroot/var DNS服务器的区域数据文件存放目录
/usr/sbin/named-bootconf 域名服务器的启动配置脚本
/usr/sbin/named-checkconf 域名服务器的主配置文件语法检验程序
/usr/sbin/named-checkzone 域名服务器的区域配置文件检验程序
/usr/sbin/dns-keygen DNS加密密钥生成程序
/usr/sbin/dnssec-keygen DNSSEC
/usr/sbin/dnssec-signzone 加密密钥生成程序
/usr/sbin/rndc 域名服务器的控制程序,可以使用rndc.conf文件加载相关配置
/usr/sbin/lwresd 轻量级的解析服务器,可以作为缓冲域名服务器
/usr/share/doc/bind-9.3.6/sample/etc/named.conf 手工建立named.conf配置文件的模板文件
3、默认情况下主配置文件named.conf不存在,通过模板文件生成主配置文件
cp -p /usr/share/doc/bind-9.3.6/sample/etc/named.conf /var/named/chroot/etc/named.conf
不过由于这里的模板文件配置参数较多,我们大部分基本不用,所以建议直接编辑这个文件如下:(供参考)
options
{
listen-on port 53 { 192.168.1.102; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 192.168.1.0/24; };
recursion yes;
};
################################分割线 构建缓存域名服务器###########################
(缓存域名服务器的验证需要连接Internet环境)
(1) 构建缓存域名服务器,修改named.conf
方法一:定义根
vi /var/named/chroot/etc/named.conf
options
{
listen-on port 53 { 192.168.1.102; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 192.168.1.0/24; };
recursion yes;
};
zone "." IN {
type hint;
file "named.ca";
};
方法二:定义转发器
vi /var/named/chroot/etc/named.conf
options
{
listen-on port 53 { 192.168.1.102; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 192.168.1.0/24; };
recursion yes;
forwarders { 218.30.19.50; 61.134.1.5; };
};
在现实应用中,建议采用方法二,为了提高解析效率,可以不向根域查询,而是将客户端的解析请求转发给特定的DNS服务器,收到返回的查询结果后再传递给客户端。