RHEL6 DNS 服务器基本配置


1.安装BIND套件。
BIND相关软件包
bind BIND主程序。
bind-utils 客户端搜索主机名的相关命令。
bind-libs BIND相关的库文件。
bind-chroot 将BIND设定文件和程序限制在虚拟根目录。
使用yum安装BIND
yum install bind*
启动named服务并设定开机启动。
/etc/init.d/named start
chkconfig named on
现在BIND安装完成并且已经启动。利用nslookup测试named服务是否正常运行。如果安装和启动没有问题则有类似输出:
[root@linux ~]# nslookup www.google.com.hk localhost
Server: localhost
Address: 127.0.0.1#53

Non-authoritative answer:
www.google.com.hk canonical name = www-wide.l.google.com.
Name: www-wide.l.google.com
Address: 74.125.128.199
2.建立缓存域名服务器。
建立缓存域名服务器(Caching-only Name Server)非常简单,在named服务启动之后实际上就建立了一个缓存服务器。我们可以指定速度较快的转发服务器地址,并告知BIND服务器只做缓存服务器。
默认服务器配置文件:
vi /etc/named/chroot/etc/named.conf或者vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
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 { localhost; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

include "/etc/named.rfc1912.zones";
修改配置文件:
options {
listen-on port 53 { any; }; //允许所以客户机访问
listen-on-v6 port 53 { ::1; };
directory "/var/named";
forwarders {
221.5.203.98; //转发服务器的IP地址
};
forward only; //告知BIND服务器只做缓存服务器
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 { any; }; //允许任何主机查询。
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
打开防火墙iptables的53端口。
system-config-firewall-tui
在防火墙中同时打开tcp与udp的53端口。
1.jpg

2012-10-07 14:51 上传
下载附件 (27.61 KB)
 



重启named服务
[root@linux ~]# /etc/init.d/named restart
停止 named:[确定]
启动 named:[确定]

最后将客户端主机的DNS指向该服务器进行验证。
3.主/从架构DNS系统的架设。
主/从架构的服务器中,至少有两台DNS服务器,即主DNS服务器(Master)和从DNS服务器(Slave)。
A.主DNS服务器设定
主DNS服务器的named.conf与缓存服务器的named.conf唯一不同的地方就是没有“forward only;”参数,在配置前用“#”号将改行注释掉。
编写正向解析文件:
[root@linux ~]# vi /var/named/chroot/var/named/thq.com.zone
$TTL 86400
@ IN SOA thq.com. root.thq.com. (
0
3H
15M
1W
1D )

@ IN NS linux.thq.com.
linux IN A 192.168.0.1
www IN A 192.168.0.1

编写反向解析文件:
$TTL 86400
@ IN SOA thq.com. root.thq.com. (
0
3H
15M
1W
1D )

IN NS linux.thq.com.
1 IN PTR thq.com.
在配置文件/etc/named.conf的最后一行有:
# include "/etc/named.rfc1912.zones";
经过查资料得知这个named.rfc1912.zones是正反解析记录清单文件。这个文件里面有很多区域的定义,但是大部分都看不懂。也可以将自己的区域定义写入这个文件。但是在服务启动时却报配置文件错误,当我把看不懂的那些删掉后,再也没有报相同的错误,在这里我把这行屏蔽掉,直接将区域定义直接写入named.conf的末尾:
zone "thq.com" IN {
type master;
file "thq.com.zone";
allow-transfer {192.168.0.4;}; //从服务器地址
allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.0";
allow-transfer {192.168.0.4;}; //从服务器地址
allow-update { none; };
};
保存退出后启动服务但是没有启动成功:
[root@linux ~]# /etc/init.d/named start
启动 named:[失败]
虽然没有报配置文件写入错误,但查看日志发现:
tail –f /var/log/messages
could not configure root hints from `named.ca`: file not found
loading configureation: file not found
进过排错发现,之前在安装bind软件时,安装了bind-chroot组件,该组件会把bind设定文件和程序限制在虚拟目录下。
named.ca文件在/var/named目录中,而虚拟目录/var/named/chroot/var/named中则没有这个文件。
将named.ca拷贝到虚拟目录中:
cp /var/named/named.ca /var/named/chroot/var/named/
再次启动服务还是失败,查看日志有:
could not configure root hints from `named.ca`: permission denied
loading configureation: permission denied
原来是权限不对,尝试过很多参数,最后发现最小为754,也许在拷贝时加上-p参数就不会出现权限问题,但没有再尝试。
chmod 754 /var/named/chroot/var/named/named.ca
[root@linux ~]# /etc/init.d/named start
启动 named:[成功]
B:从DNS服务器设定
之前我因为上面的错误,在论坛发帖求助,求助:RHEL6 DNS服务无法启动
http://bbs.chinaunix.net/forum.p ... mp;fromuid=26940091 但是却没有一个人回复我,那叫一个囧啊。


区域定义:
zone "thq.com" IN {
type slave;
file "thq.com.zone";
masters { 192.168.0.1; }; //输入主服务器IP。
allow-update { 192.168.0.1; };
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
file "named.192.168.0";
masters { 192.168.0.1; }; //输入主服务器IP。
allow-update { 192.168.0.1; }
};
测试DNS服务器:
配置完成后重启服务器,客户端DNS指向192.168.0.1
启动httpd服务,通过浏览器输入要解析的域名得到apache测试页,DNS服务器搭建成功。
Untitleds.jpg

2012-10-07 14:53 上传
下载附件 (44.94 KB)
 


Untitled.jpg

2012-10-07 14:53 上传
下载附件 (45.94 KB)