主从DNS服务器的搭建

一.DNS主从的理解

  主从服务器,在一开始的理解中,以为是主的dns服务器挂掉后,(dns服务自动转向辅助dns服务器),客户端还能继续解析。事实貌似不是这样的。当我把主dns停掉的时候,客户端只设一个dns服务器后,事实证明,解析是失败的。但当我将客户端的dns服务器切换到从dns的ip上后,解析是正常的。说明,从服务器只是同步了主服务器解析域的文件。

  本案例的环境:

    系统:Centos6.5

    IP: 主DNS 192.168.40.105    从DNS 192.168.40.170

    iptables:关闭状态。

二.主DNS服务器的搭建配置

  主的dns服务器在博客里的上一篇文章里有介绍。请点此:主DNS服务器的搭建

  这里只说主DNS服务器配置文件的修改部分:

 1 vim /var/named/chroot/etc/named.rfc1912.zones
 2 ~~~
 3 
 4   zone "test.com" IN {
 5   type master;
 6   file "named.test.com";
 7   allow-update {none;};
 8   allow-transfer {192.168.40.170;};
 9   notify yes;
10 };
11 
12 zone "40.168.192.in-addr.arpa" IN {
13   type master;
14   file "named.192.168.40";
15   allow-update {none;};
16   allow-transfer {192.168.40.170;};
17   notify yes;
18 };

  另外,上篇文章中,有需要对DNS服务器做一些优化和问题的修改的部分,如下所示: 

 1 vim /var/named/chroot/etc/named.conf
 2 ~~~
 3 options {
 4 
 5     allow-query     { any; };
 6     recursion yes;
 7     forwarders { 114.114.114.114; };      (此处,做的是dns转发,当本地服务器无法解析的,如公网上的域名时,转发到114.114.114.114上)
 8 };
 9 
10 ~~~

  修改完成后,重启主DNS的 守护进程named。

三.从DNS服务器的搭建配置

  1.先更改yum源,之后安装开发工具套件,最后安装bind 软件。

1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
2 
3 yum -y groupinstall "development tools"
4 
5 yum -y install bind*

  2.之后修改bind 的主配置文件,/var/named/chroot/etc/named.rfc1912.zones

 1 vim /var/named/chroot/etc/named.rfc1912.zones
 2 
 3 zone "test.com" IN {
 4   type slave;                         #设置dns类型为从服务器
 5   file "slaves/named.test.com";               #‘从服务器’同步从主dns服务器上存放域名文件的位置/var/named/chroot/var/named/slaves/
 6   masters { 192.168.40.105; };                #设置主dns服务器的地址
 7   allow-update { none; };
 8 };
 9 
10 zone "40.168.192.in-addr.arpa" IN {
11   type slave;
12   file "slaves/named.192.168.40";
13   masters { 192.168.40.105; };
14   allow-update { none; };
15 };

  3.单纯的修改这里,客户端并还不能解析.因为还有一个很重要的一个地方需要配置.(在这里一直出错,当主的停掉后,没改这里之前,客户端是一直无法解析。)

1 vim vim /var/named/chroot/etc/named.conf,修改以下选项
2 
3 options {
4 
5   listen-on port 53 { 192.168.40.170; };      #这里要写从服务器的ip地址。
6   allow-query { any; };
7 
8 };

  4.重启named服务。还有一个关键的,在测试过程中,记得关闭iptables,或者将dns服务端口追加到防火墙规则中。

四.总结测试

  1.现在可以关闭主DNS,然后,客户端将dns修改为从dns服务器的ip,检查域名解析是否正常。

  2.如果遇到某台dns服务器启动正常,但是解析不正常后,请检查系统日志,/var/log/messages文件。

原文地址:https://www.cnblogs.com/hanyifeng/p/4844697.html