• bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)


    实验目的

    1. 模拟企业DNS服务架构服务器及原理

    实验环境准备

    实验架构图

    DNS服务架构

    实验设备

    1. DNS服务器4台
      • 主服务器master(centos8):IP_192.168.100.30,
      • 从服务器slave(rocky8):192.168.100.31
      • 子域服务器hn1(rocky8):192.168.100.36
      • 其他域服务器local(rocky8):192.168.100.12,用途:用于测试服务器转发
    2. 客户端PC机2台
      • PC1(win10):IP_192.168.100.1、DNS:[192.168.100.30、192.168.100.31]
      • PC2(win10):IP_192.168.100.3、DNS:[192.168.100.12]
    3. 关闭SELinux、关闭防火墙、并时间同步

    搭建内网DNS服务器配置步骤

    四台dns服务器master、slave、hn1、loca安装及通用配置

    1. 安装bind软件和工具

      #centos/rocky安装
      yum -y install bind bind-utils
      #Ubuntu安装
      apt -y install bind9 bind9utils
    2. 主配置文件进行通用配置:/etc/named.conf

      vim /etc/named.conf
      #注释掉掉下列两行,禁用listen-on:named服务端口可以让其他主机访问,禁用allow-query:允许任何人解析DNS服务记录
      #listen-on port 53 { 127.0.0.1; };
      #allow-query { localhost; };
    3. 检验配置文件是否正常

      #无信息显示配置文件正常
      named-checkconf
    4. 设置开机启动,并运行bind服务

      systemctl enable --now named
    5. 验证DNS端口服务是否正常

      #DNS服务端口为udp/tcp:53端口、tcp:953端口
      ss -utnlp|grep named

    主(master)DNS服务器搭建配置及验证

    1. master:配置DNS地址指向自身,并重启网卡服务

      vim /etc/sysconfig/network-scripts/ifcfg-ens32
      #修改配置文件执行生效
      nmcli connection reload
      #网络接口的启用
      nmcli connection up ens32
      #验证DNS是否生效
      cat /etc/resolv.conf

      image-20220827041717685

      image-20220827042126393

    2. master:配置主配置文件:/var/named/tyjz.net.zone

      #1、同属性复制配置模板文件named.localhos,修改文件名为:tyjz.net.zone
      cp -a /var/named/named.localhost /var/named/tyjz.net.zone
      #2、配置tyjz.net.zone文件
      [03:44:18 root@centos8_30 ~]#vim /var/named/tyjz.net.zone
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220839 1H 10M 1D 6H )
      3 NS master
      4 master A 192.168.100.30
      5 www A 192.168.100.31

      image-20220827040124743

    3. master:配置主配置文件: /etc/named.rfc1912.zones

      #1、编辑vim /etc/named.rfc1912.zones,增加下列配置参数
      zone "tyjz.net" IN {
      type master;
      file "tyjz.net.zone";
      };

      image-20220827040922467

    4. master:检验主配置文件,并重载主配置文件和区域解析库文件

      #2、检验主配置文件
      named-checkconf
      named-checkzone tyjz.net.zone /var/named/tyjz.net.zone
      #2、重载主配置文件和区域解析库文件
      rndc reload

      image-20220827041333082

    5. PC1上验证master服务器是否正常解析域名

      • PC1网络配置截图

      image-20220827042722366

    • PC1:验证ping www.tyjz.net 是否正常解析IP地址

      image-20220827043127271

    • PC1:验证通过浏览器访问 www.tyjz.net(备注:已在100.31服务器安装httpd服务)

      image-20220827043330906

    从(slave)DNS服务器搭建配置

    1. slave:配置DNS地址指向自身和主域名服务器,并重启网卡服务

      vim /etc/sysconfig/network-scripts/ifcfg-ens32
      #修改配置文件执行生效
      nmcli connection reload
      #网络接口的启用
      nmcli connection up ens32
      #验证DNS是否生效
      cat /etc/resolv.conf

      image-20220827043728483

      image-20220827043814714

    2. master:配置主配置文件:/var/named/tyjz.net.zone

      #增加slave的NS记录和A记录,并修改版本序列号
      [04:44:58 root@centos8_30 ~]#vim /var/named/tyjz.net.zone
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220840 1H 10M 1D 6H )
      3 NS master
      4 NS slave
      5 master A 192.168.100.30
      6 slave A 192.168.100.31
      7 www A 192.168.100.31

      image-20220827045344850

    3. master:检验主配置文件,并重载主配置文件和区域解析库文件

      #2、检验主配置文件
      named-checkconf
      named-checkzone tyjz.net.zone /var/named/tyjz.net.zone
      #2、重载主配置文件和区域解析库文件
      rndc reload

      image-20220827045903944

    4. slave:配置主配置文件: /etc/named.rfc1912.zones

      #1、编辑vim /etc/named.rfc1912.zones,增加下列配置参数
      zone "tyjz.net" IN {
      type slave;
      masters {192.168.100.30;};
      file "slaves/tyjz.net.zone";
      };

      image-20220827050110408

    5. slave:检验主配置文件,并重载主配置文件和区域解析库文件

      #2、检验主配置文件
      named-checkconf
      #2、重载主配置文件和区域解析库文件
      rndc reload
      #重载主配置文件后slav服务器会自动向master服务器拉取主配置文件:/var/named/slaves/tyjz.net.zone

      image-20220827052554398

    6. 验证slave服务器是否可以解析域名

      • PC1网络配置截图,DNS指向192.168.100.31

        image-20220827053244139

      • 对master服务器进行断网处理

        image-20220827053340153

      • PC1:验证ping www.tyjz.net 是否正常解析IP地址

        image-20220827053430169

      • PC1:验证通过浏览器访问 www.tyjz.net(备注:已在100.31服务器安装httpd服务)

        image-20220827053504581

    子域(hn)DNS服务器搭建配置

    1. hn1:配置DNS地址指向自身和主域名服务器,并重启网卡服务

      vim /etc/sysconfig/network-scripts/ifcfg-ens160
      nmcli connection reload
      #网络接口的启用
      nmcli connection up ens32
      #验证DNS是否生效
      cat /etc/resolv.conf

      image-20220827130812092

      image-20220827130957187

    2. master:配置主配置文件:/var/named/tyjz.net.zone

      #添加hn1子域的NS记录和A记录,并增加版本序列号
      [13:10:34 root@centos8_30 ~]#vim /var/named/tyjz.net.zone
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H )
      3 NS master
      4 NS slave
      5 hn NS hndns
      6 master A 192.168.100.30
      7 slave A 192.168.100.31
      8 hndns A 192.168.100.36
      9 www A 192.168.100.31

      image-20220827131153145

    3. master:配置主配置文件:/etc/named.conf

      #这两项默认启用安全模式设置为no
      dnssec-enable no;
      dnssec-validation no;

      image-20220827133722933

    4. hn:配置子域配置文件:/var/named/hn.tyjz.net.zone

      #1、同属性复制配置模板文件named.localhost ,修改文件名为:hn.tyjz.net.zone
      cp -a /var/named/named.localhost /var/named/hn.tyjz.net
      #2、配置hn.tyjz.net.zone文件
      [13:38:36 root@rocky8_36 ~]#vim /var/named/hn.tyjz.net
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H )
      3 NS master
      4 master A 192.168.100.36
      5 www A 192.168.100.10

      image-20220827134747513

    5. hn:配置子域主配置文件: /etc/named.rfc1912.zones

      #1、编辑vim /etc/named.rfc1912.zones,增加下列配置参数
      zone "hn.tyjz.net" IN {
      type master;
      file "hn.tyjz.net.zone";
      };

      image-20220827135048267

    6. hn:检验子域主配置文件,并重载主配置文件和区域解析库文件

      #2、检验主配置文件
      named-checkconf
      named-checkzone hn.tyjz.net.zone /var/named/hn.tyjz.net.zone
      #2、重载主配置文件和区域解析库文件
      rndc reload
    7. 验证hn服务器是否可以解析域名

      • PC1网络配置截图,DNS指向192.168.100.30

        image-20220827140934885

      • PC1:验证ping www.tyjz.net 是否正常解析IP地址

        image-20220827141050989

      • PC1:验证通过浏览器访问 www.tyjz.net(备注:已在100.10服务器安装httpd服务)

        image-20220827141127919

      • 断开master服务器网络,再进行验证是否能解析 www.tyjz.net域名

        image-20220827141435747

        image-20220827141759271

        结果能够正常解决,已验证结果不符,其原因可能为Windows自带带缓,因此需刷新Windows缓存

        image-20220827142033713

        image-20220827142116886

    DNS 转发

    1. 实验前说明

      • 简要说明

        利用DNS转发,可以将用户的DNS请求,转发至指定的DNS服务,而非默认的根DNS服务器,并将指定
        服务器查询的返回结果进行缓存,提高效率。
      • 注意

        1. 被转发的服务器需要能够为请求者做递归,否则转发请求不予进行

        2. 在/etc/named.conf的全局配置块中,关闭dnssec功能

          dnssec-enable no;
          dnssec-validation no;
      • 转发格式

        • 全局转发

          Options {
          forward first|only;
          forwarders { ip;};
          };
        • 特定区域转发

          zone "ZONE_NAME" IN {
          type forward;
          forward first|only;
          forwarders { ip;};
          };
        • 选项说明

          first:先转发至指定DNS服务器,如果无法解析查询请求,则本服务器再去根服务器查询
          only: 先转发至指定DNS服务器,如果无法解析查询请求,则本服务器将不再去根服务器查
      • 实验环境说明

        1、缓存服务器:local服务器
        2、主服务器:master服务器
        3、客户端:PC2,DNS:192.168.100.12
        4、实验说明:先转发至指定DNS服务器,如果无法解析查询请求,则本服务器将不再去根服务器查询
    2. master:主服务器主配置文件配置

      • /var/named/tyjz.net.zone

        image-20220827171311793

      • /etc/named.rfc1912.zones

        image-20220827171437207

      • /etc/named.conf

        image-20220827171700292

    3. local服务器:配置:DNS指向自身:127.0.0.1

      vim /etc/sysconfig/network-scripts/ifcfg-ens160
      nmcli connection reload
      #网络接口的启用
      nmcli connection up ens160
      #验证DNS是否生效
      cat /etc/resolv.conf

      image-20220827172240747

      image-20220827172312695

    4. local服务器:配置主配置文件:/var/named/tyjz.local.zone

      #1、同属性复制配置模板文件named.localhos,修改文件名为:tyjz.local.zone
      cp -a /var/named/named.localhost /var/named/tyjz.local.zone
      #2、配置tyjz.net.zone文件
      [17:27:39 root@rocky8_12 ~]#vim /var/named/tyjz.local.zone
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H )
      3 NS master
      4 master A 192.168.100.12
      5 www A 192.168.100.10

      image-20220828011256654

    5. local服务器:配置主配置文件:/var/named/tyjz.local.zone

      #1、编辑vim /etc/named.rfc1912.zones,增加下列配置参数
      zone "tyjz.local" IN {
      type master;
      file "tyjz.local.zone";
      };

      image-20220828014149509

    6. local服务器:配置主配置文件:/var/named/tyjz.local.zone

      #1、编辑vim /etc/named.rfc1912.zones,增加下列前2行记录以及2行关闭dnsec功能记录
      forward only;
      forwarders { 192.168.100.30;};
      #关闭dnsec功能
      dnssec-enable no;
      dnssec-validation no;

      image-20220828014248118

    7. local服务器:检验主配置文件,并重载主配置文件和区域解析库文件

      #2、检验主配置文件
      named-checkconf
      named-checkzone tyjz.local.zone /var/named/tyjz.local.zone
      #2、重载主配置文件和区域解析库文件
      rndc reload

      image-20220828014519559

    8. PC2,验证local服务器域名转发结果

      • PC2 DNS指向local服务器

        image-20220828012845397

      • PC2 nslookup和ping master主服务器域名:www.tyjz.net ,验证local服务器是否转发master服务器解析域名

        image-20220828020244128

      • 为了验证转发特性,禁用master服务器网络,验证local服务器在only模式下,转发到master服务器无法解析查询请求,则local服务器将不再去根服务器查。

        image-20220828020439493

        master服务器网络未断网前

        image-20220828021649361

        master服务器断网后

      • 为了验证转发特性,禁用master服务器网络,验证local服务器在frist模式下,转发到master服务器无法解析查询请求,则local服务器将去根服务器查。

        image-20220828022008381

        master服务器已禁用网络

        image-20220828022424467

    DNS服务器其他功能配置

    CNAME别名配置,轮询访问IP地址,实现负载均衡(master服务器测试为例)

    1. 实验前说明

      • CNAME记录格式

        name: 别名的FQDN
        value: 真正名字的FQDN
      • 实验环境

        1、实验服务器:master服务器
        2、别名(name):www,真正域名(value):websrc
        3、别名对应的3个IP:192.168.100.10、192.168.100.30、192.168.100.31
    2. master:配置主配置文件:

      #增加master的别名CNAME记录和主机A记录,并增加版本序列号
      [14:31:38 root@centos8_30 ~]#vim /var/named/tyjz.net.zone
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220842 1H 10M 1D 6H )
      3 NS master
      4 NS slave
      5 hn NS hndns
      6 www CNAME websrc
      7 master A 192.168.100.30
      8 slave A 192.168.100.31
      9 hndns A 192.168.100.36
      10 hndns A 192.168.100.36
      11 websrc A 192.168.100.30
      12 websrc A 192.168.100.31
      13 websrc A 192.168.100.10

      image-20220827143730063

    3. 通过PC1验证master解析别名

      image-20220827140934885

      image-20220827144310352

    4. 通过PC1 ping www.tyjz.net,验证是否轮番IP地址

      image-20220827150009155

    反向解析区域。

    1. 实验前说明

      • 简要说明

        反向区域:即将IP反向解析为FQDN(全称域名)
        区域名称:网络地址反写.in-addr.arpa.
      1. 配置文件格式

        172.16.100. --> 100.16.172.in-addr.arpa.
      • 使用环境说明

        1、测试服务器:master服务器
        2、域名解析网段:192.168.100.0
        解析的ip地址: 192.168.100.10、192.168.100.30、192.168.100.31
      • 区域定义格式

        zone "ZONE_NAME" IN {
        type {master|slave|forward};
        file "网络地址.zone"
        };
    2. master:配置主配置文件:/var/named/192.168.100.zone,

      #1、同属性复制配置模板文件named.localhos,修改文件名为:192.168.100.zone
      cp -a /var/named/named.localhost /var/named/tyjz.net.zone
      #2、增加master的PTR记录和主机A记录,测并增加版本序列号
      vim /var/named/192.168.100.zone
      1 $TTL 1D
      2 @ IN SOA master 1024320609.qq.com ( 20220826 3H 10M 1D 6H )
      3 NS master
      4 master A 192.168.100.30
      5 31 PTR www.oa.tyjz.net.
      6 30 PTR www.ems.tyjz.net.
      7 10 PTR www.hn.tyjz.net.

      image-20220827151546777

    3. master:配置主配置文件:/etc/named.rfc1912.zones

      #编辑vim /etc/named.rfc1912.zones,增加下列配置参数
      zone "100.168.192.in-addr.arpa" IN {
      type master;
      file "192.168.100.zone";
      };

      image-20220827152325413

    4. master:检验主配置文件,并重载主配置文件和区域解析库文件

      #2、检验主配置文件
      named-checkconf
      named-checkzone 192.168.100.zone /var/named/192.168.100.zone
      #2、重载主配置文件和区域解析库文件
      rndc reload
    5. PC1:验证master服务器反向解析IP地址结果

      image-20220827153005631

  • 相关阅读:
    一口气说出 Synchronized 同步方法的八种使用场景
    系统架构设计师备考经验分享:保障复习时间
    运放:运放+TL431+MOS 构成的恒流电路
    哈希表 | 有效字母异位词 | leecode刷题笔记
    袋鼠云数栈前端从 Multirepo 到 Monorepo 研发效率提升探索之路
    React-useState
    Element UI 多选表格【翻页多选】全能版(含翻页多选数据反显、toggleRowSelection失效的原因解析和解决方案)
    transformer学习笔记
    flutter系列之:使用SliverList和SliverGird
    基于SVM的功率分类,基于支持向量机SVM的功率分类识别,Libsvm工具箱详解
  • 原文地址:https://www.cnblogs.com/zxl1024320609/p/16631920.html