实验目的

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

实验环境准备

实验架构图

实验设备

  1. DNS服务器4台

    • 主服务器master(centos8):IP_192.168.100.30,
    • 从服务器slave(rocky8):192.168.100.31
    • 子域服务器hn1(rocky8):192.168.100.36
    • 其他域服务器local(centos7):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

  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

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

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

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

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

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

    • PC1网络配置截图

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

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

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

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

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

  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

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

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

  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";
    };

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

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

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

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

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

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

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

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

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

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

  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

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

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

  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

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

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

  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

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

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

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

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

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

    • /etc/named.rfc1912.zones

    • /etc/named.conf

  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

  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

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

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

  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;

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

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

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

    • PC2 DNS指向local服务器

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

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

      master服务器网络未断网前

      master服务器断网后

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

      master服务器已禁用网络

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

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

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

反向解析区域。

  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.

  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";
    };

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

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

bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)的更多相关文章

  1. Apache James搭建内网邮件服务器

    Apache James搭建内网邮件服务器 极客521 | 极客521 2014-08-21 148 阅读 java 大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建.所以自己也 ...

  2. CentOS搭建内网NTP服务器

      在企业内部网络,不是所有的服务器都可以连接外网,需要搭建一台可以连接外网的服务器用于NTP服务器 安装环境查看 安装ntp yum -y install ntp 修改配置文件 driftfile ...

  3. 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8)

    电子邮件服务器,对于很多公司,都是需要的. 虽然现在很多人,使用 QQ .微信进行一对一的工作沟通,使用QQ 群.微信群进行多人沟通,但这些即时聊天工具,与电子邮件相比,仍有很多不足: a. 电子邮件 ...

  4. linux搭建内网邮件服务器

    一.配置发件服务器 1.1 根据现场IP,配置主机名 vi /etc/hosts 192.168.40.133 mail.test.com 将主机名更改为邮件服务器域名mail.test.com 1. ...

  5. 使用 Apache James 3.3.0(开源免费) 搭建外网电子邮件服务器(基于 Windows + Amazon Corretto 8)

    对于邮件服务器的安装,请先参阅: 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8) https://www ...

  6. Django + Apache + 树莓派 搭建内网微信公众号服务器

    其实早在微信开放公众号开发平台时就想弄一个自己的公众号服务器,奈何对web服务器搭建和开发一窍不通,只是注册了一下开发者帐号,并没有采取行动,万恶的拖延症. 前一年,开始接触python,打开了神奇世 ...

  7. 搭建内网Yum源

    搭建内网yum源 阅读(2,238) 一:因内网服务器 众多,当统一安装一些比较大的rpm的时候全部从外网下载就比较慢,而且还占用了一定的出口流量,因此在内网部署了一台yum服务器,将阿里云的epel ...

  8. 内网客户 通过 公网域名/ip 访问内网web服务器 出错

    在一内部局域网中, client  内网地址为 10.0.0.2     web  服务器内网地址为 10.0.0.1    外网地址为  211.6.15.1    域名为  xx.love.com ...

  9. 外网zabbix-server使用主动模式监控公司内网windows服务器

    外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...

随机推荐

  1. Redis配置文件所在位置

    更新记录 2022年6月13日 发布. Windows系统 Redis 配置文件位于 Redis 安装目录下文件名为 redis.conf 注意:Windows系统下名为 redis.windows. ...

  2. 这个Spring Security登录插件牛啊,验证码、小程序、OAuth2都能快速接入

    上次我们把验证码登录.小程序登录优雅地集成到了Spring Security,很多同学大呼过瘾,相比较一些传统玩法高级了很多.胖哥就赶紧抓住机会举一反三,把几个非标准的OAuth2也接入了进来,主要是 ...

  3. 智慧机房3D可视化技术解决方案

    随着夏季气温越来越高,机房内大量设备同步工作时,难免使机房内温度飙升. 机房温度每升高10℃,计算机的可靠性就下降25% 磁盘磁带也会因热涨效应造成记录错误 计算机的时钟主频在温度过高都会降低 UPS ...

  4. JQuery select与radio的取值与赋值

    radio 取:$("input[name='NAME']:checked").val(); 赋:$("input[name='NAME'][value='指定值']&q ...

  5. PMP 考试常见工具与技术点总结

    转载请注明出处: 网络图:项目进度活动之间的逻辑关系,用来推算关键路径,最大浮动时间等: 横道图(甘特图):以图示的方式,通过活动列表和时间刻度,来展示项目获得那个顺序和持续时间 责任分配矩阵:每件事 ...

  6. 实战模拟│单点登录 SSO 的实现

    目录 什么是单点登录 单点登录的凭证 父域 Cookie 方式 用户认证中心方式 localstorage方式 什么是单点登录 单点登录: SSO(Single Sign On) 用户只需登录一次,就 ...

  7. 华为Mate14上安装Ubuntu20.04纪要

    Ubuntu16.04用了将近五年了,已经好几年没折腾过系统,所以简要记录一下.   1. 关于UEFI分区,之前的笔记本UEFI是可选的(只是默认该模式),Bios里面还有其他选项.一般安装系统之前 ...

  8. 毫秒值的概念和作用 --Date类的构造方法和成员方法

    一,  Date类类 Date 表示特定的瞬间,精确到毫秒. 毫秒:千分之一秒作用:可以对时间和日期进行计算可一把日期转换为毫秒进行计算,计算完毕,再转换为日期. 把日期转换为毫秒:当前的日期:202 ...

  9. elementplus轮播图初始空白

    问题表现 初始轮播图出现大块空白,在规定的时间间隔后才会正常轮播出下一章图片 问题解决 动态数据添加图片,初次渲染dom因为数据还没有请求回来,所以会出现这样的bug,需要添加v-fi="l ...

  10. jupyter 反向代理配置

    抓了下包,看了一下WS连不上,参考这个,问题解决 location / { proxy_pass http://127.0.0.1:8813/; # JUPYTER_PORT 为 Jupyter 运行 ...