配置DNS从服务器需要两台主机,以之前的主机作为主服务器

主DNS服务器ip:172.16.100.1

从DNS服务器ip:172.16.100.2

从DNS主机名设为:ns2.magedu.com

bind安装及文件配置均以上所述进行操作。

相对于主从服务器本身来讲,主配置文件的根区域,localhost及反向区域都只能由自身来解析,只需允许同步magedu.com及其反向区域即可。

从区域的声明格式:

zone "ZONE” IN {

      type  slave;

      file "slaves/ZONE_FILE";

      master { MASTER_SERVER; };

};    ####注意声明时的格式,

做这些之前,首先确保,并且保证selinux是关闭的,编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=permissiv。

同步过来的文件要放于/etc/named/slaves下。为了同步方便,输入命令:ssh-keygen -t rsa  -N ''。基于密钥的认证,生成密钥后复制到另一台主机上,这样传输文件的时候就不需输入密码了。
然后再输入:ssh-copy-id -i .ssh/id_rsa.pub root@172.16.100.1(当前处于从服务器上),回车,键入yes,键入主服务器密码,回车,同样的方法,切换到主服务器上,重复上述步骤,这样就完成了基于密钥的相互认证。
现在我们出去主DNS服务器上:
scp -p /etc/named.conf 172.16.100.2:/etc键入此命令将主配置文件复制到从服务器上,
更改named.conf的权限为640,属组为named。
而后修改主配置文件如下:只需同步magedu.com的正反向区域文件即可。

options{
             directory "/var/named";
};
zone "." IN {
             type hint;
              file "named.ca";
};
zone "localhost" IN{
              type master;
              file "localhost.zone";
              allow-transfer { none; };
};
zone "0.0.127.in-addr.arpa" IN {
                    type master;
                    file "127.0.0.zone";
                    allow-transfer { none; };
};
zone "magedu.com" IN {
                     type slaves;
                     file "slaves/magedu.com.zone";
                     masters { 172.16.100.1; }
}; 
zone "16.16.172.in-addr.arpa" IN {
                      type slaves;
                      file "slaves/172.16.100.zone";
                      masters { 172.16.100.1; };
};
 
key "rndc-key" {
       algorithm hmac-md5;
       secret "x0DGDoHFOeCLUD285arjrg==";
};
controls {
       inet 127.0.0.1 port 953
       allow { 127.0.0.1; } keys { "rndc-key"; };
};
将主服务器的localhost.zone 和 127.0.0.zone复制到从服务器上:scp -p localhost.zone 127.0.0.zone root@172.16.100.2:/var/named下,同样更改其权限和属组。
检查语法named-checkconf

重新加载配置文件信息:rndc reconfig

dig -t A magedu.com  @127.0.0.1测试正向解析

dig -x 172.16.100.1 @127.0.0.1测试反向解析
这样就配置好了从DNS服务器