Liniux 主从域名服务器配置

安装 DNS 程序

两个服务器都要装

[root@localhost ~]# yum -y install bind
作为依赖被升级:
  bind-libs.x86_64 32:9.11.4-16.P2.el7_8.6                                    
  bind-libs-lite.x86_64 32:9.11.4-16.P2.el7_8.6                               
  bind-license.noarch 32:9.11.4-16.P2.el7_8.6                                 
  bind-utils.x86_64 32:9.11.4-16.P2.el7_8.6                                   
  dhclient.x86_64 12:4.2.5-79.el7.centos                                      
  dhcp-common.x86_64 12:4.2.5-79.el7.centos                                   
  dhcp-libs.x86_64 12:4.2.5-79.el7.centos                                     

查看bind 安装位置以及配置文件

[root@localhost ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf           主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones  区域配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost 区域数据配置文件
/var/named/named.loopback

为方便观察,给主从服务器改个名吧
在这里插入图片描述
在这里插入图片描述

主域名服务器配置

编辑主配置文件

[root@zhu ~]# vi /etc/named.conf 
options {
        listen-on port 53 { any; };     #更改监听端口 any
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };       #允许 any 进行查询

编辑区域配置文件

[root@zhu ~]# vi /etc/named.rfc1912.zones 
zone "DNS.com" IN {
        type master;                
        file "DNS.com.zone";
        allow-transfer { 20.0.0.135; };
};

编辑区域数据配置文件

首先根据你给的 文件名 ,从模板中复制一个出来

[root@zhu ~]# cd /var/named/
[root@zhu named]# cp -p named.localhost DNS.com.zone       #保留源文件的权限
[root@zhu named]# ll
总用量 20
drwxrwx---. 2 named named    6 6月   1 23:26 data
-rw-r-----. 1 root  named  152 6月  21 2007 DNS.com.zone
drwxrwx---. 2 named named    6 6月   1 23:26 dynamic
-rw-r-----. 1 root  named 2253 4月   5 2018 named.ca
-rw-r-----. 1 root  named  152 12月 15 2009 named.empty
-rw-r-----. 1 root  named  152 6月  21 2007 named.localhost
-rw-r-----. 1 root  named  168 12月 15 2009 named.loopback
drwxrwx---. 2 named named    6 6月   1 23:26 slaves

对其进行修改

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
www IN  A       20.0.0.66
zhu IN  CNAME   www

验证解析

在本机上对其进行解析验证,验证成功的,接下来就开始着手从服务器

[root@zhu named]# echo "nameserver 20.0.0.132" > /etc/resolv.conf
[root@zhu named]# systemctl start named
[root@zhu named]# host www.DNS.com
www.DNS.com has address 20.0.0.66

从服务器配置

可以查看到作为从服务器用的 /var/slaves ,但是里面是空的

[root@cong ~]# cd /var/named/
[root@cong named]# ll
总用量 16
drwxrwx---. 2 named named    6 7月   7 10:14 data
drwxrwx---. 2 named named    6 7月   7 10:14 dynamic
-rw-r-----. 1 root  named 2253 7月   7 10:14 named.ca
-rw-r-----. 1 root  named  152 7月   7 10:14 named.empty
-rw-r-----. 1 root  named  152 7月   7 10:14 named.localhost
-rw-r-----. 1 root  named  168 7月   7 10:14 named.loopback
drwxrwx---. 2 named named    6 7月   7 10:14 slaves
[root@cong named]# cd slaves/
[root@cong slaves]# ll
总用量 0

编辑主配置文件

主配置文件嗝 主服务器的基本一样

[root@cong slaves]# vi /etc/named.conf 
options {
        listen-on port 53 { any; };
        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";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };

编辑区域配置文件

[root@cong slaves]# vi /etc/named.rfc1912.zones 
zone "DNS.com" IN {
        type slaves;
        file "slaves/DNS.com.zone";
        masters { 20.0.0.132; };
};

重启两台服务的DNS服务

发现从服务器重启失败

[root@zhu named]# systemctl restart named
[root@cong slaves]# systemctl restart named
Job for named.service failed because the control process exited with error code.
See "systemctl status named.service" and "journalctl -xe" for details.

服务器重启失败,查错

我重启的过程中,从服务器重启失败,我可以使用 named-checkconf 命令,查看哪里的命令配置错了

[root@cong slaves]# named-checkconf 
/etc/named.rfc1912.zones:18: 'slaves' unexpected

显示 区域配置文件的 第十八行 报错,进入该配置文件,进行修改

 17 zone "DNS.com" IN {
 18         type slaves;     #这边拼写错误,改了就好 ,正确拼写方法  slave
 19         file "slaves/DNS.com.zone";
 20         masters { 20.0.0.132; };
 21 };

再次重启,发现可以重启了

[root@cong named]# systemctl restart named
[root@cong named]# cd slaves/
[root@cong slaves]# ll
总用量 4
-rw-r--r--. 1 named named 308 7月   8 23:12 DNS.com.zone

也可以解析了

[root@cong slaves]# echo "nameserver 20.0.0.132" > /etc/resolv.conf 
[root@cong slaves]# host www.DNS.com
www.DNS.com has address 20.0.0.66
[root@cong slaves]# 

主从服务器 自动同步

在主服务器的区域数据配置文件里增加一条

$TTL 1D
@       IN SOA  DNS.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      DNS.com.
        A       127.0.0.1
        AAAA    ::1
www IN  A       20.0.0.223             #从 66 改成 223
zhu IN  CNAME   www
sy  IN  CNAME   WWW

然后两台服务器重启服务
发现从服务器不能解析了

[root@cong slaves]# host www.DNS.com
;; connection timed out; no servers could be reached

那么就要解决这个问题!
修改主服务器的 区域配置文件
注:若只想通知制定的从服务器 则在区域配置文件中 添加这行命令 also-notify { 20.0.0.135; };


zone "DNS.com" IN {
        type master;
        file "DNS.com.zone";
        notify yes;                            #通知 yes   大概意思是通知全部从服务器 
        allow-transfer { 20.0.0.135; };

再次重启服务
从DNS服务器就可以正常解析了

[root@cong slaves]# host www.DNS.com
www.DNS.com has address 20.0.0.223

猜你喜欢

转载自blog.csdn.net/Ora_G/article/details/107220929
今日推荐