Centos 7.0 配置DNS服务器(主从配置)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7.0 配置DNS服务器(主从配置)相关的知识,希望对你有一定的参考价值。

 本章博文对DNS服务器进行了简述,并搭建实验模拟Centos 7.0配置Master DNS服务器 及配置Slave (冗余)  DNS服务器 。

DNS简介:  

     DNS定义:       

     DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

      过程简述:

         1、当用户访问互联网主机,如:www.sina.com.cn,本地计算机首先会查看自己的DNS Cache里有没有该域名解析的缓存,有则直接解析;

         2、若本地缓存没有该域名解析,就查看hosts文件,看有没有该域名解析,有则给出解析结果;

         3、若没有就请求域内DNS Server服务器,DNS Server服务器确认是否有该域名解析,有则给出解析结果;

         4、若没有就请求互联网根DNS服务器,根DNS Server服务器确认是否有该域名解析,有则给出解析结果;

         5、若没有,根DNS服务器将告知用户去.cn的DNS服务器请求解析。用户访问顶级域名.cn的DNS服务器,有则给出解析结果;

         6、若没有,顶级域名.cn的DNS服务器将告知用户访问.com.cn的DNS服务器去解析改主机。用户访问域名.com.cn的DNS服务器,有则给出解析结果;

         7、若没有,二级域名.com.cn的DNS服务器将告知用户访问sina.com.cn的DNS服务器去解析改主机。用户访问域名sina.com.cn的DNS服务器,给出主机www.sina.com.cn  的解析结果;

     DNS记录类型及概述:

         A记录: 主机记录 ,作用就是说明一台主机与IP地址的对应关系 。如:www.baidu.com   ip  220.181.111.188

         NS记录与SOA记录:NS记录表示域名服务器记录,用来指定该域名由哪些DNS服务器来进行解析;SOA 资源记录表明此 DNS服务器是为该域中的主DNS服务器,SOA记录设置一些数据版本和更新以及过期时间的信息.

         MX记录:被称为邮件交换器记录,MX记录用于说明哪台服务器是当前区域的邮件服务器。如163.com 的mx 记录为163.com mail exchanger = 10   163mx03.mxmail.netease.com.

         SRV记录:是服务器资源记录的缩写,记录了哪台计算机提供了哪些服务 。

         Cname记录:被称为别名记录,就是一个服务器有多个域名,如www.baidu.com 的CNAME记录为www.a.shifen.com 

         PTR记录:指针记录,用于ip地址到完全合格域名的解析 。

实验部署:

     环境:

         主域名服务器:ns1.bicionline.org.      IP:172.16.10.175

         从域名服务器:ns2.bicionline.org.      IP:172.16.10.185

         系统均为CentOS 7.0最小化安装

     解决思路:1、配置主机名、dns地址指向本机、关闭firewalld.service 和SELINUX,安装DNS bind、bind-chroot、bind-utils 文件 

                     2、配置named.conf文件,创建域正向区域与反向区域,并配置区域文件

      配置步骤

         一、基础环境配置,以ns01.bicionline.org 为例 

             1、配置主机名:

              [[email protected] ~]# hostnamectl set-hostname ns01.bicionline.org

              [[email protected] ~]# hostname

              ns01.bicionline.org

             2、dns地址指向本机ip地址          

              [[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 

              TYPE=Ethernet  

              BOOTPROTO=static                              #静态ip

              IPADDR=172.16.10.175                        #手动分配静态ip地址 

              NETMASK=255.255.255.0                     #子网掩码

              GATEWAY=172.16.10.254                     #网关地址

              DNS1=172.16.10.175                            #dns地址,指向本机ip

              ONBOOT=yes                                         #开机自启动

              wq:

              [[email protected] ~]# systemctl restart network.service           #重新启动  

            3、关闭firewalld.service 和SELINUX            

           [[email protected] ~]# systemctl stop firewalld.service

           [[email protected] ~]# systemctl disable firewalld.service           #禁用开机自启动

           [[email protected] ~] vi /etc/selinux/config

           #SELINUX=enforcing                                               #注释掉

           #SELINUXTYPE=targeted                                         #注释掉

           SELINUX=disabled                                                   #增加改行内容

            :wq                                                                            #保存退出

           [[email protected]     ~]#setenforce 0                             #使配置立即生效

            4、安装DNS bind、bind-chroot、bind-utils 文件

           [[email protected] ~]# yum install -y bind bind-chroot bind-utils -y   #bind-utils:bind客户端程序集,例如dig, host, nslookup等;

           [[email protected] ~]# systemctl start named.service

           [[email protected] ~]# systemctl enable named.service               #开机自启动

            5、以相同配置方式配置ns02.bicionline.org

         二、安装配置 

             1、配置ns01.bicionline.org为主dns服务器

                a、调整named.conf 文件                      

              [[email protected] ~]# cp /etc/named.conf  /etc/named.conf.bak          #备份副本

              [[email protected] ~]# vi /etc/named.conf 

              options {

                           listen-on port 53 { 127.0.0.1;172.16.10.175; };                     #添加本机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     { any; };                                                #允许所有主机发起dns请求解析

                           allow-transfer { 172.16.10.185; };    # 设置允许把DNS区域做数据传送到从DNS服务器 172.16.10.185

                           forwarders { 202.102.224.68; };   

                                                  # 配置DNS转发器,若本DNS服务器无法解析,则发送到指定服务器进

                           recursion yes;

                           dnssec-enable no;         # 安全设置关闭

                        dnssec-validation no;    # 安全设置关闭

                };

                :wq

               [[email protected] ~]# systemctl restart named.service

               [[email protected] etc]# named-checkconf  #语法检查,默认检查/etc/named.conf文件

                 b、添加正向与反向区域文件           

                   [[email protected] etc]# cp named.rfc1912.zones  named.rfc1912.zones.back

                   [[email protected] etc]# vi named.rfc1912.zones

                    zone "bicionline.org" IN {                                             #定义bicionline.org 区域

                                   type master;

                                    file "bicionline.org.zone";                                   #域bicionline.org 正向区域文件路径:/var/named/bicionline.org.zone

                                    allow-update { none; };                                          #定义禁止更新

                                    };

                      zone "10.16.172.in-addr.arpa" IN {                             #定义反向区域

                                    type master;

                                    file "10.16.172.zone";                                          

                                   allow-update { none; };

                                   };

                :wq

              [[email protected] ~]# systemctl restart named.service

       [[email protected] etc]# named-checkconf /etc/named.rfc1912.zones    #语法检查

                c、配置正向区域文件             

               [[email protected] named]# cp -a /var/named/named.localhost /var/named/bicionline.org.zone

               [[email protected] named]# chmod  755 /var/named/bicionline.org.zone               #分配权限

               [[email protected] named]# chown root:named  /var/named/bicionline.org.zone   #定义所属宿主及分组

               [[email protected] named]# vi bicionline.org.zone

               $TTL 1D                                                                               

               @       IN SOA  ns01.bicionline.org.  rname.invalid. (         

                                                               #起始授权记录,SOA主机 ns01.bicionline.org. 注意后面的 . 符号 

                                                            0       ; serial                             #序列号

                                                           1D      ; refresh                         #刷新时间间隔

                                                           1H      ; retry                             #重试时间间隔

                                                           1W      ; expire                          #过期时间间隔

                                                           3H )    ; minimum                     

                                                NS             ns01.bicionline.org.                          #NS主机 ns01.bicionline.org. 注意后面的.符号

                                                NS             ns02.bicionline.org.                           

                                                A               172.16.10.175                                  #域bicionline.org解析记录

                                                MX    10    cas01.bicionline.org.                   

                                                     #MX记录,注意格式 ,MX + 优先级 + 主机名称  只,值越小,优先级越高。

               ns01                     A                172.16.10.175                           #定义主机A记录

               ns02                     A                172.16.10.185

               cas01                    A                172.16.10.202

               mail                      A                172.16.10.203

                :wq

               [[email protected] ~]# named-checkzone bicionline.org.zone /var/named/bicionline.org.zone   #检查文件语法是否准确

               zone bicionline.org.zone/IN: loaded serial 0

               OK                                                                                                                          #返回ok 即文件格式正确   

           d、配置反向区域文件               

               [[email protected] named]# cp -a  /var/named/named.localhost /var/named/10.16.172.zone

               [[email protected] named]# chmod 755  /var/named/10.16.172.zone                               #分配权限

               [[email protected] named]#chown root:named /var/named/10.16.172.zone                     #定义所属宿主及分组

               [[email protected] named]#vi /var/named/10.16.172.zone

               $TTL 1D

               @       IN SOA  ns01.bicionline.org. rname.invalid. (

                                                        0       ; serial

                                                       1D      ; refresh

                                                       1H      ; retry

                                                       1W      ; expire

                                                       3H )    ; minimum

                                        NS        ns01.bicionline.org.

               175     IN PTR  ns01.bicionline.org.                          #定义PTR指针 ,注意主机名后面的.符号

               185     IN PTR  ns02.bicionline.org.

               202     IN PTR  cas01.bicionline.org.

               203     IN PTR  mail.bicionline.org.

               :wq

               [[email protected] ~]# named-checkzone bicionline.org.zone /var/named/10.16.172.zone   #检查文件语法是否准确

               zone bicionline.org.zone/IN: loaded serial 0

               OK                                                                                                                          #返回ok 即文件格式正确

              e、验证dns服务器         

                [[email protected] ~]# systemctl restart named.service                

            [[email protected] ~]# ps -ef |grep named                                    #验证查看named进程
            named      2875      1  0 10:34 ?        00:00:00 /usr/sbin/named -u named
            root       2880   2122  0 10:34 pts/0    00:00:00 grep --color=auto named
            [[email protected] ~]# netstat -tlan |grep 53                    #验证查看53端口侦听状态
            tcp        0      0 172.16.10.175:53     0.0.0.0:*               LISTEN     

            tcp        0      0 127.0.0.1:53             0.0.0.0:*               LISTEN     

            [[email protected] ~]# nslookup                      #验证解析结果 

            > bicionline.org

            Server:         172.16.10.175

            Address:        172.16.10.175#53


          Name:   bicionline.org

          Address: 172.16.10.175

          > cas01

          Server:         172.16.10.175

          Address:        172.16.10.175#53


          Name:   ns01.bicionline.org

          Address: 172.16.10.202

          > set type=mx

          > bicionline.org

          Server:         172.16.10.175

          Address:        172.16.10.175#53


          bicionline.org  mail exchanger = 10 cas01.bicionline.org.

         > 172.16.10.175

          Server:         172.16.10.175

          Address:        172.16.10.175#53


          175.10.16.172.in-addr.arpa      name = ns01.bicionline.org.           

              至此,ns01.bicionline.org主DNS服务器配置完成,并验证成功  。

        2、配置ns02.bicionline.org为辅助dns服务器

          a、调整named.conf 文件   

         [[email protected] ~]# cp /etc/named.conf  /etc/named.conf.bak          #备份副本

         [[email protected] ~]# vi /etc/named.conf

         options {

                           listen-on port 53 { 127.0.0.1;172.16.10.185; };                     #添加本机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     { any; };                                                #允许所有主机发起dns请求解析

                           allow-transfer { none; };    # 设置禁止把DNS区域做数据传送

                           recursion yes;

                           dnssec-enable no;         # 安全设置关闭

                        dnssec-validation no;    # 安全设置关闭

                     };

         :wq

         [[email protected] ~]# systemctl restart named.service

     [[email protected] etc]# named-checkconf  #语法检查,默认检查/etc/named.conf文件

          b、添加正向与反向区域文件,对比与主DNS服务器配置的区别。

            [[email protected] etc]# cp named.rfc1912.zones  named.rfc1912.zones.back

            [[email protected] etc]# vi named.rfc1912.zones

             zone "bicionline.org" IN {                                                #定义bicionline.org 区域

                               type slave;

                                file "slaves/bicionline.org.zone";       #域bicionline.org 正向区域文件存储路径为:/var/named/slaves/bicionline.org.zone

                                masters { 172.16.10.175; };                                       #从主DNS服务器172.16.10.175进行数据复制

                };

             zone "10.16.172.in-addr.arpa" IN {                             #定义反向区域

                                type slave;

                                file "salves/10.16.172.zone";                                        

                               masters { 172.16.10.175; };

               };

         :wq

         [[email protected] ~]# systemctl restart named.service

    [[email protected] etc]# named-checkconf 

         c、重载配置 

        [[email protected] named]# rndc reload

        server reload successful

        [[email protected] named]# systemctl reload named.service

        d、验证dns服务器

        [[email protected] ~]# systemctl restart named.service                
        [[email protected] ~]# ps -ef |grep named                                    #验证查看named进程
        named      2875      1  0 10:34 ?        00:00:00 /usr/sbin/named -u named
        root       2880   2122  0 10:34 pts/0    00:00:00 grep --color=auto named
        [[email protected] ~]# netstat -tlan |grep 53                    #验证查看53端口侦听状态
         tcp        0      0 172.16.10.175:53     0.0.0.0:*               LISTEN     

         tcp        0      0 127.0.0.1:53             0.0.0.0:*               LISTEN     

        [[email protected] ~]# nslookup                      #验证解析结果 

        > ns01

        Server:         172.16.10.185

        Address:        172.16.10.185#53


        Name:   ns01.bicionline.org

        Address: 172.16.10.175

        > ns02

        Server:         172.16.10.185

        Address:        172.16.10.185#53


        Name:   ns02.bicionline.org

        Address: 172.16.10.185

        > bicionline.org

        Server:         172.16.10.185

        Address:        172.16.10.185#53


        Name:   bicionline.org

        Address: 172.16.10.175

        > set type=mx

        > bicionline.org

        Server:         172.16.10.185

        Address:        172.16.10.185#53


        bicionline.org  mail exchanger = 10 cas.bicionline.org.

           至此,从DNS服务器ns02.bicionline.org完成安装    

      整体实验排错思路:a、使用named-checkconf  及 named-checkzone 检查文件语法是否正确。

                                    b、 是否关闭防火墙及SELINUX功能 。

                                    c、使用netstat 及ps 命令查看端口是否处于侦听状态,进程是否启用 。

                                    d、区域文件的属性是否有X权限 ,宿主是否为named 。

      综合以上实验 ,实现了ns01主DNS配置 及ns02从DNS的配置  。当然针对域环境也可以配置两台主DNS服务器,每一台DNS服务器配置参考步骤‘1、配置ns01.bicionline.org’ 即可 ,两台DNS服务器共同为域服务。这在实验就不在一一描述 。希望该博文可对DNS服务器的工作原理及配置进一步加深认知 。



本文出自 “Wish_亮” 博客,请务必保留此出处http://wishliang.blog.51cto.com/11439802/1953586

以上是关于Centos 7.0 配置DNS服务器(主从配置)的主要内容,如果未能解决你的问题,请参考以下文章

Centos DNS服务-bind主从配置与基于TSIG加密的动态更新

Linux Centos 6.5 DNS主从复制配置(bind-9.8.2)

Linux Centos 6.5 DNS主从复制配置(bind-9.8.2)

CentOS 7.4搭建DNS服务器实现主从同步

Linux Centos 6.5 DNS主从复制配置(bind-9.8.2)

企业两台Centos8服务器配置DNS转发和主从架构