DNS正向反向解析与主从复制

环境:
  VMware Workstation 12 pro, 配置相同的2台CentOS 7.4 1708,bind 9.9.4,关闭selinux清空iptable规则,主从配置要注意时间同步,否则无法复制。
/var/named/下的文件要注意权限问题!!!!!!!
基础知识
   DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
  BIND (Berkeley Internet Name域)是DNS的一个实现。(域名系统)协议。绑定包括一个DNS服务器(命名),将主机名解析为IP地址;一个解析器库(当与DNS交互时应用程序的例程);和用于验证DNS服务器是否正常运行的工具。
正向解析
  1.安装bind程序

    yum install bind -y

  2.修改配置文件:

    vim /etc/named.conf
    #这里将监听端口和ip注释掉就好,alow-query配置改为any,允许任何人到本机做dns查询,默认是本机,这里也可以设置为网段
    #recursion 这里根据实际需求去配置是否允许递归查询
    #dnssec注释掉,安全拓展比较麻烦,不会影响到本次实验的配置

DNS正向反向解析与主从复制
  3.编辑域文件

    #这个文件内定义了域的设定,同时也给出了很多模板,可以参考着写自己的域配置
    vim /etc/named.rfc1912.zones

DNS正向反向解析与主从复制
  这里在结尾补上下面的配置参数:注意分号和空格,否则会出现错误,域名和ip看各种情况去配置。

    zone "douma.com" IN {
        type master;
        file "douma.com.zone";
        allow-transfer { 192.168.238.132; }; 
};

DNS正向反向解析与主从复制
  配置完后要检查文件是否符合语法,有报错就去修改,没有的话证明语法无误,但是它无法检查ip和域名的错误。

    named-checkconf

  4.编写解析库文件
    bind的解析库文件存放在 /var/named/下,在对应目录下创建与之前named.rfc1912.zones文件中定义的文件名相同的文件并且写入解析内容

$TTL    86400
$ORIGIN douma.com.
@       IN      SOA     ns1.douma.com.  admin.douma.com. (
                                2018041901
                                1H
                                10M
                                1W
                                1D )
           IN      NS      ns1
           IN      NS      ns2
           IN      MX 10   mx1
           IN      MX 20   mx2
ns1     IN      A       192.168.238.131
ns2     IN      A       192.168.238.132
mx1     IN      A       192.168.238.131
mx2     IN      A       192.168.238.110
www     IN      A       192.168.238.131
ftp     IN      CNAME   www
*       IN      A       192.168.238.134
smtp    IN      A       192.168.238.135

DNS正向反向解析与主从复制
  完成后检查语法是否有误

  named-checkzone "douma.com" /var/named/douma.com.zone

    返回OK证明不存在问题。
  5.启动named服务

#之前未启动的话执行
    systemctl start named
#之前已经启动话执行
    systemctl restart named

    查看named的运行状况

#查看53端口是否在监听中
ss -tnl 

  6.正向解析基本完成,可以使用host命令,dig命令进行检测,正常解析的话证明正向解析成功。

host -t A www.douma.com 192.168.238.131
dig -t A www.douma.com @192.168.238.131

DNS正向反向解析与主从复制

反向区域解析
  1.由于有着之前的正向解析的配置,因此,反向解析的话直接修改/etc/named.rfc1912.zones就好。记得要检查语法。

    vim /etc/named.rfc1912.zones

    添加以下内容

zone "238.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.238.zone";
        allow-transfer { 192.168.238.132; };
};

DNS正向反向解析与主从复制
  反向解析的配置写法
  区域名称:网络地址反写.in-addr.arpa.
    192.168.238. --> 238.168.192.in-appr-arpa.
     定义区域
     zone "ZONE_NAME" {
     type {master | slave | forward };
     file "网络地址.zone"
     };
  2.编辑解析库文件,路径也在/var/named下,新建文件名仍要和named.rfc1912.zones内定义的文件名同步,不需要MX和A,以及AAAA记录,以PTR记录为主。完成后同样需要检查语法。

$TTL    86400
$ORIGIN 238.168.192.in-addr.arpa.
@       IN      SOA     ns1.douma.com.  admin.douma.com. (
                        2018041901
                        1H
                        10M
                        1W
                        1D )
        IN      NS      ns1.douma.com.
        IN      NS      ns2.douma.com.
131     IN      PTR     ns1.douma.com.
132     IN      PTR     ns2.douma.com.
132     IN      PTR     mx1.douma.com.
110     IN      PTR     mx2.douma.com.
131     IN      PTR     www.douma.com.

DNS正向反向解析与主从复制
  3.配置完成后重新载入域文件

#这里使用rndc指令,之前systemctl也可以
rndc reload

  4.检查配置是否可以正常解析

host -t ptr 192.168.238.131 192.168.238.131
dig -x 192.168.238.131 @192.168.238.131

DNS正向反向解析与主从复制

dns主从复制:
  刚才配置的centos主机基本无需修改,只需要在named.rfc1912.zones 的域配置段内加入allow-transfer字段,运行区域传送,这里之前就写入了,因此无需再次修改。
  axfr:
    全量传输时,从域名服务器从主域名服务器上请求zone文件,poll的时间间隔由SOA记录中的refresh标签定义。请求zone文件的过程是从域名服务器向主域名服务器发送查询来实现,如果主域名服务器中SOA记录中的序列号(serial number标签定义)大于从域名服务器SOA记录的序列号,从域名服务器就会向主域名服务器发送全量传输请求。正式由于axfr会传送全部的解析信息,因此要特别注意,dns的allow-transfer参数防止,允许的范围过大,导致解析的信息泄露。

  在另一台centos主机进行从dns服务器的配置:
  1.检测主服务器是否允许axfr。

dig -t axfr douma.com @192.168.238.131

DNS正向反向解析与主从复制
  2.安装bind,修改/etc/named.conf配置文件,与主dns的配置相同即可,记得执行语法检查。
DNS正向反向解析与主从复制
  3.修改/etc/named.rfc1912.zones配置文件。
    type字段设置为备份模式slave,masters字段指明主dns服务器ip地址,由于从服务器是从主备份解析库文件,因此它无需手动创建库文件,指明文件路径就好,这里由于named的默认工作目录是在/var/named/,而从服务器备份的文件在slaves下,因此在file字段要写清楚路径。完成后检查域文件语法。

        vim /etc/named.rfc1912.zones
zone "douma.com" IN {
        type slave;
        file "slaves/douma.zone";
        masters { 192.168.238.131; };
};

zone "238.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/238.168.192.zone";
        masters { 192.168.238.131; };
};

DNS正向反向解析与主从复制
  4.完成后载入配置文件启动服务,查看/var/log/messages就可以看到传送的进行。传送完成后在从服务下会出现复制过来的解析库文件。

    systemctl start named
    vim /va/log/messages

DNS正向反向解析与主从复制
    检查从服务能否正常解析

host -t A www.douma.com 192.168.238.132
dig -t A www.douma.com @192.168.238.132

host -t ptr 192.168.238.131 192.168.238.132
dig -x 192.168.238.131 @192.168.238.132

DNS正向反向解析与主从复制
DNS正向反向解析与主从复制

注意
  修改主dns上的解析库文件后要手动修改序列号,这样从服务器才能正确去复制,更改后的信息。这里使用的增量修改,就是指传送改变了的内容。
DNS正向反向解析与主从复制
主从服务器时间必须同步
主从服务器时间必须同步
主从服务器时间必须同步