Linux服务器--DNS服务器的主从配置
DNS 服务器的安装:
1.DNS服务器安装所需的主要安装包有:
bind:DNS服务器的主程序包
bind-utils:此安装包提供了DNS查询工具软件
bind-chroot:为了服务器系统的安全安装此包,可以把DNS在一个虚拟的根目录下运行。
2.安装DNS服务器,只需要yum安装即可,也可以源码安装。
3.DNS服务主要提供了三个配置文件,一个是主配置文件/etc/named.conf ,两个区域数据库文件:正向解析数据库文件,反向解析数据库文件。
主从DNS服务器的配置:
1.实验环境:
两台CentOS6-64位Linux系统,配置好本地yum源,进行yum安装DNS服务器。在两台CentOS6上安装DNS所需的软件包最好是同一个版本。
在做实验之前,要先把selinux关闭,以及iptables防火墙规则清空或者添加防火墙的相应规则。
主从DNS服务器配置的一些注意事项:
1、应该为一台独立的名称服务器;
2、主服务器的区域解析库文件中必须有一条NS记录是指向从服务器;
3、从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于/var/named/slaves/目录中;
4、主服务器得允许从服务器作区域传送;allow-transfer { IPADDR; };
5、从服务器要的zone区域文件的类型要修改为:slave。
6、区域数据库文件要在/var/named/slaves/..目录下以及要指向主服务器:
如:zone "99.16.172.in-addr.arpa" IN{
type slave;
file "slaves/172.16.99.1.zone";
masters { 172.16.99.1; };
};
7、主从服务器时间应该同步,可通过ntp进行;
8、bind程序的版本应该保持一致;否则,应该从高,主低
2.主服务器上的配置(172.16.99.1)
a./etc/named.conf配置文件内容介绍与编写:
全局配置:options {}
日志子系统配置:logging {}
区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;
zone "ZONE_NAME" IN {}
全局定义:
options { listen-on port 53 { 172.16.99.1; }; //监听的端口与主机IP 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 { 172.16.99.0/16 ; }; //允许网络段进行DNS解析 recursion yes; //是否允许递归查询 dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; };
区域定义:
正向区域文件定义:
zone "zkchang.com" IN { type master; //类型为:master, //一般类型有{master|slave|hint|forward} file "zkchang.com.zone"; //正向区域文件 allow-transfer { 172.16.99.2; }; //指定主机或网络,可以请求区域数据的传送。 };
反向区域文件定义:
zone "99.16.172.in-addr.arpa" IN{ type master; file "172.16.99.1.zone"; allow-transfer { 172.16.99.2; }; };
b.正向区域解析库文件和反向区域解析库文件的编写:
正向区域解析库文件:(/var/named/zkchang.com.zone)
在主DNS服务器上配置正向区域解析库文件时,要添加一条NS记录来指向从服务器
$TTL 1D zkchang.com. IN SOA ns1.zkchang.com. admin.zkchang.com. ( 2015091405 6H 5M 2D 1D ) zkchang.com. IN NS ns1.zkchang.com. zkchang.com. IN NS ns2.zkchang.com. zkchang.com. IN MX 3 mail.zkchang.com. ns1 IN A 172.16.99.1 ns2 IN A 172.16.99.2 mail IN A 172.16.99.1 www IN A 172.16.99.1 www1 IN A 172.16.99.1
反向区域解析库文件的配置:(/var/named/172.16.99.1.zone)
$TTL 1D 99.16.172.in-addr.arpa. IN SOA ns1.zkchang.com. admin.zkchang.com. ( 2015091405 6H 5M 2D 1D ) 99.16.172.in-addr.arpa. IN NS ns1.zkchang.com. IN NS ns2.zkchang.com. 1 IN PTR ns1.zkchang.com. 2 IN PTR ns2.zkchang.com. 1 IN PTR mail.zkchang.com. 1 IN PTR www.zkchang.com. 1 IN PTR www1.zkchang.com.
c.在主DNS服务器上安装配置时间同步服务器ntp,在此使用本地的时间同步,配置如下:在ntp服务器的配置文件:/etc/ntp.conf编写如下内容:
restrict 172.16.0.0 mask 255.255.0.0 nomodify notrap
#指允许172.16.0.0这个网段的主机进行时间同步
server 127.127.1.0
#指local clock
server 172.16.99.1
#指定本机的IP
在配置好之后重新启动ntp服务器,但在启动之前要把本定的时间设定正确。
等待几分钟之后,在从服务上进行做相应的配置,来进行时间同步,在下面DNS从服务上进行相关的配置。
d.启动主DNS服务器:
# service named start.
3.在从服务器上的配置:(172.16.99.2)
a.安装相同的相同的DNS服务软件:把本机的selinux关闭,以及防火墙规则清空或者编写相应的防火墙规则。
b.配置主配置文件:/etc/named.conf
c.进行时间同步:有两种方法:(前提安装ntp服务器的程序包)
1.通过周期性任务计划进行同步:
执行命令ntpdate 172.16.99.1(ntp服务器的IP)
通过crontab设置定时几环如:
*/1 * * * * ntpdate 172.16.99.1
2.在DNS从服务上的ntp服务器的配置文件中(/etc/ntp/.conf)添加一行:
server 172.16.99.1
再执行命令date后查看当前系统的时间是否与主DNS服务器的系统时间一致。
d.启动DNS从服务器:
# service named start
4.进行测试:
a.在主DNS服务器启动之后,再启动从DNS服务器:查看从服务器的/var/named/slaves/目录下是否有两个区域解析数据库文件:也可以查看日志文件:
b.使用dig命令进行正向解析和反向解析验证:
5.总结:
1.主从服务器安装的DNS软件程序最好为同一版本,或者主服务DNS程序版本低于从DNS服务程序的版本。
2.主DNS服务器在区域解析库文件中必须有一条NS记录是指向从服务器的
3.在主DNS服务器的主配置文件中的区域设定时必须指定allow-transfer { 从DNS Server IP; };
4.主从服务器要进行时间同步,使用ntp服务器进行时间同步。
5.从DNS服务器的支配之文件中的区域设定时,必须有如下设置:
type slave; 类型为slave
file "slaves/zkchang.com.zone";
masters { 172.16.99.1; }; 指向主DNS服务器IP