• 使用bind部署DNS主从服务器


    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建主从DNS服务器的参考。

    注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的。

    如果需要查看相关软件版本和主机配置要求,请根据目录自行查看。

    Linux服务综合搭建的文章目录

    ====================================================

    Linux基础服务搭建综合

    1、foundation创建yum仓库

    2、部署DNS

    3、将YUM源通过httpd发布出来

    4、rhel7主机安装JDK

    5、foundation通过Rsyslog搭建集中日志服务器

    6、foundation LAMP环境搭建

    7、foundation搭建NFS服务

    8、rhel7 JAVA web环境搭建(使用Tomcat8整合httpd)

    9、foundation自建CA实现HTTPS

    10、foundation配置kerberos和NTP服务以及安全的NFS挂载

    11、foundation提供SAMBA服务

    12、rhel7 配置软ISCSI存储

    13 rhel7主机配置端口转发和地址伪装

    ====================================================

    主机角色说明

    2、部署DNS

    2.1 一些概念

    2.1.1 DNS查询类型:

    递归查询:客户端只发送一次请求,就能从我们配置的DNS服务器返回最终结果

    迭代查询:客户端在发送请求后,我们指定的DNS服务器只会返回一个参考答案

    2.1.2解析类型

    名称服务器:域内负责解析本域内的名称的主机;

    根服务器:13组服务器

    解析类型:

           Name --> IP

           IP --> Name

           注意:正反向解析是两个不同的名称空间,是两棵不同的解析树;

                  反向解析在早期是很复杂的,难以实现,非常的慢,直到今天,互联网上还有很多主机

           只能正向解析(除开通过设置了只能正向的),但是反向解析又很有用,比如在邮件服务判断垃圾邮件时。

    2.1.3 DNS服务器的类型

    主DNS服务器

    辅助DNS服务器

    缓存DNS服务器

    转发器

    主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理员维护;

    从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

    2.1.4 SOA

    序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增;

    刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔;

    重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔;

    过期时长:从服务器始终联系不到主服务器时,多久多后放弃从服务器角度,停止提供服务;

    "通知"机制:当主服务器发送通知给从服务器,即使刷新时间没到,这样能够保证从服务器尽量不会很落后于主服务器

    2.1.5 区域传送(使用TCP的53端口,不是UDP):

           全量传送:传送整个解析库

           增量传送:传递解析库变化的那部分内容

    2.1.6 区域解析库(由众多RR组成)

    资源记录:Resource Record, RR #存储在区域解析库中的

    记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

    SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;

    A:internet Address,作用,FQDN --> IP

    AAAA: FQDN --> IPv6

    PTR: PoinTeR,IP --> FQDN

    NS: Name Server,专用于标明当前区域的DNS服务器

    CNAME:Canonical Name,别名记录

    MX: Mail eXchanger,邮件交换器  #标识一个域中的哪个服务器是邮件服务器

    2.2 foundation作为主DNS

    注意:这里要做主从从DNS服务器,必须开启tcp的53端口,

    因为DNS在区域间传输时使用的是tcp的53端口,而不是平常我们在使用时常用的udp的53端口。

    2.2.1 安装软件包

    1 yum install bind bind-libs bind-utils    #安装必要的软件
    2 
    3 systemctl enable named   #开机自启动

    1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload

    配置name服务开机自启动

    1 systemctl enable named   #开机自启动

    2.2.2 修改主配置文件

     

    定义允许同步的DNS服务器,默认是允许所有的,但是这样不安全的。

    zone "mei.com." IN {
            type master;
            file "mei.com.zone";
            allow-transfer { trusted-servers; };
    };
    
    zone "25.172.in-addr.arpa." IN{ 
            type master;
            file "172.25.zone";
            allow-transfer { trusted-servers; };
    };

    1 [root@foundaiton:~]# named-checkconf /etc/named.conf

    2.2.3 配置资源记录

    [root@foundaiton:~]# cat >>/var/named/mei.com.zone<<EOF
    $TTL 86400
    $ORIGIN mei.com.
    @       IN      SOA     foundation.mei.com.     admin.mei.com.  (
                                            2019020201
                                            1H  
                                            2W  
                                            2H  
                                            1H  
    )
    @       IN      NS      foundation.mei.com.
    @       IN      NS      rhel7.mei.com.
    foundation      IN      A       172.25.0.55
    pakg    IN      A       172.25.0.55
    rhel7   IN      A       172.25.0.15
    rhel6   IN      A       172.25.0.25
    www     IN      A       172.25.0.55
    tomcat   IN     A       172.25.0.15
    ftp     IN      CNAME   www 
    @       IN      MX 10   admin
    admin   IN      A       172.25.0.55
    EOF
    [root@foundaiton:~]# cat >>/var/named/172.25.zone<<EOF
    $TTL 86400
    $ORIGIN 25.172.in-addr.arpa.
    @       IN      SOA     foundation.mei.com.     admin.mei.com. (
                                            2019020201
                                            1H
                                            2W
                                            1H
                                            1D
    )
    @       IN      NS      rhel7.mei.com.
    @       IN      NS      foundation.mei.com.
    25.0    IN      PTR     rhel6.mei.com.
    55.0    IN      PTR     foundation.mei.com.
    15.0    IN      PTR     rhel7.mei.com.
    55.0    IN      PTR     www.mei.com.
    55.0    IN      PTR     admin.mei.com.
    15.0    IN      PTR     tomcat.mei.com.
    EOF

     

    重启服务

    1 systemctl restart named

    2.2.4 测试

    测试(在本机rhel7和rhel6上,注意,rhel6没有nmcli命令)

    2.2.4.1 添加主机的DNS服务器

    nmcli命令

    1 [root@rhel7 ~]#nmcli con modify interface ipv4.dns 172.25.0.55

    修改配置文件

     

    2.2.4.2 测试解析是否正常

    这里只列贴部分图片

    2.2.4.3 测试反向解析

     

    2.3 rhel7作为从DNS

    注意:这里作为从DNS服务器,必须开启tcp的53端口,因为DNS在区域间传输时使用的是tcp的53端口,而不是平常我们在使用时常用的udp53端口。

    从DNS服务器配置

    2.3.1 安装bind相关的软件

    先配置好yum源,可以使用光盘镜像或者其他yum源,这里使用光盘镜像作为yum源

     

    安装软件包

     

    配置named服务开机自启

     

    2.3.2 修改配置

     

    1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload #防火墙配置

    启动服务

    2.3.3 模拟区域传送

    注意:要马上看到效果,在模拟前最好重启此服务器,重启后会很容易看到/var/named/slaves有同步过来的zone文件

    如果安装完后到配置结束都没启动过named服务,那么只要配置正确,一启动服务就能看到同步过来的zone文件。

    下面是模拟区域传输

    使用dig -t axfr

    1 [root@rhel7 ~]# dig -t axfr mei.com

    输出结果如下:(部分)

    关闭主DNS

     

    然后测试从DNS服务器,能使用从服务器正确解析。

    2.3.4 测试rhel6主机的DNS解析

    注意,这台主机是rhel6,所以默认不能像rhel7那样使用nmcli命令,它的DNS在网卡配置文件中的写法可以参考/etc/resolv.conf

    或者直接修改/etc/resolv.con文件

     

    测试(能正确解析)

    最后希望大家提意见、转发、评论和交流!!!

  • 相关阅读:
    2013上半年中国CRM市场分析报告
    windows运行命令大全
    JVM探索(二)
    JVM探索(一)
    1.数据结构和算法的基础笔记
    java程序性能优化
    http状态码
    mongodb清洗数据
    List的数据结构
    Foundation Data Structure
  • 原文地址:https://www.cnblogs.com/meizy/p/bind_dns.html
Copyright © 2020-2023  润新知