bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)
实验目的
- 模拟企业DNS服务架构服务器及原理
实验环境准备
实验架构图

实验设备
- 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,用途:用于测试服务器转发
- 客户端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]
- 关闭SELinux、关闭防火墙、并时间同步
搭建内网DNS服务器配置步骤
四台dns服务器master、slave、hn1、loca安装及通用配置
安装bind软件和工具
#centos/rocky安装
yum -y install bind bind-utils
#Ubuntu安装
apt -y install bind9 bind9utils
主配置文件进行通用配置:/etc/named.conf
vim /etc/named.conf #注释掉掉下列两行,禁用listen-on:named服务端口可以让其他主机访问,禁用allow-query:允许任何人解析DNS服务记录
#listen-on port 53 { 127.0.0.1; };
#allow-query { localhost; };
检验配置文件是否正常
#无信息显示配置文件正常
named-checkconf
设置开机启动,并运行bind服务
systemctl enable --now named
验证DNS端口服务是否正常
#DNS服务端口为udp/tcp:53端口、tcp:953端口
ss -utnlp|grep named
主(master)DNS服务器搭建配置及验证
master:配置DNS地址指向自身,并重启网卡服务
vim /etc/sysconfig/network-scripts/ifcfg-ens32
#修改配置文件执行生效
nmcli connection reload
#网络接口的启用
nmcli connection up ens32
#验证DNS是否生效
cat /etc/resolv.conf


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
master:配置主配置文件: /etc/named.rfc1912.zones
#1、编辑vim /etc/named.rfc1912.zones,增加下列配置参数
zone "tyjz.net" IN {
type master;
file "tyjz.net.zone";
};

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

PC1上验证master服务器是否正常解析域名
- PC1网络配置截图

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

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

从(slave)DNS服务器搭建配置
slave:配置DNS地址指向自身和主域名服务器,并重启网卡服务
vim /etc/sysconfig/network-scripts/ifcfg-ens32
#修改配置文件执行生效
nmcli connection reload
#网络接口的启用
nmcli connection up ens32
#验证DNS是否生效
cat /etc/resolv.conf


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
master:检验主配置文件,并重载主配置文件和区域解析库文件
#2、检验主配置文件
named-checkconf
named-checkzone tyjz.net.zone /var/named/tyjz.net.zone
#2、重载主配置文件和区域解析库文件
rndc reload

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

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

验证slave服务器是否可以解析域名
PC1网络配置截图,DNS指向192.168.100.31

对master服务器进行断网处理

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

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

子域(hn)DNS服务器搭建配置
hn1:配置DNS地址指向自身和主域名服务器,并重启网卡服务
vim /etc/sysconfig/network-scripts/ifcfg-ens160
nmcli connection reload
#网络接口的启用
nmcli connection up ens32
#验证DNS是否生效
cat /etc/resolv.conf


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

master:配置主配置文件:/etc/named.conf
#这两项默认启用安全模式设置为no
dnssec-enable no;
dnssec-validation no;

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

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

hn:检验子域主配置文件,并重载主配置文件和区域解析库文件
#2、检验主配置文件
named-checkconf
named-checkzone hn.tyjz.net.zone /var/named/hn.tyjz.net.zone
#2、重载主配置文件和区域解析库文件
rndc reload
验证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 转发
实验前说明
简要说明
利用DNS转发,可以将用户的DNS请求,转发至指定的DNS服务,而非默认的根DNS服务器,并将指定
服务器查询的返回结果进行缓存,提高效率。
注意
被转发的服务器需要能够为请求者做递归,否则转发请求不予进行
在/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服务器,如果无法解析查询请求,则本服务器将不再去根服务器查询
master:主服务器主配置文件配置
/var/named/tyjz.net.zone

/etc/named.rfc1912.zones

/etc/named.conf

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


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

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

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;

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

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服务器测试为例)
实验前说明
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
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

通过PC1验证master解析别名


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

反向解析区域。
实验前说明
简要说明
反向区域:即将IP反向解析为FQDN(全称域名)
区域名称:网络地址反写.in-addr.arpa.
配置文件格式
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"
};
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.
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";
};
master:检验主配置文件,并重载主配置文件和区域解析库文件
#2、检验主配置文件
named-checkconf
named-checkzone 192.168.100.zone /var/named/192.168.100.zone
#2、重载主配置文件和区域解析库文件
rndc reload
PC1:验证master服务器反向解析IP地址结果

bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)的更多相关文章
- Apache James搭建内网邮件服务器
Apache James搭建内网邮件服务器 极客521 | 极客521 2014-08-21 148 阅读 java 大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建.所以自己也 ...
- CentOS搭建内网NTP服务器
在企业内部网络,不是所有的服务器都可以连接外网,需要搭建一台可以连接外网的服务器用于NTP服务器 安装环境查看 安装ntp yum -y install ntp 修改配置文件 driftfile ...
- 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8)
电子邮件服务器,对于很多公司,都是需要的. 虽然现在很多人,使用 QQ .微信进行一对一的工作沟通,使用QQ 群.微信群进行多人沟通,但这些即时聊天工具,与电子邮件相比,仍有很多不足: a. 电子邮件 ...
- linux搭建内网邮件服务器
一.配置发件服务器 1.1 根据现场IP,配置主机名 vi /etc/hosts 192.168.40.133 mail.test.com 将主机名更改为邮件服务器域名mail.test.com 1. ...
- 使用 Apache James 3.3.0(开源免费) 搭建外网电子邮件服务器(基于 Windows + Amazon Corretto 8)
对于邮件服务器的安装,请先参阅: 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8) https://www ...
- Django + Apache + 树莓派 搭建内网微信公众号服务器
其实早在微信开放公众号开发平台时就想弄一个自己的公众号服务器,奈何对web服务器搭建和开发一窍不通,只是注册了一下开发者帐号,并没有采取行动,万恶的拖延症. 前一年,开始接触python,打开了神奇世 ...
- 搭建内网Yum源
搭建内网yum源 阅读(2,238) 一:因内网服务器 众多,当统一安装一些比较大的rpm的时候全部从外网下载就比较慢,而且还占用了一定的出口流量,因此在内网部署了一台yum服务器,将阿里云的epel ...
- 内网客户 通过 公网域名/ip 访问内网web服务器 出错
在一内部局域网中, client 内网地址为 10.0.0.2 web 服务器内网地址为 10.0.0.1 外网地址为 211.6.15.1 域名为 xx.love.com ...
- 外网zabbix-server使用主动模式监控公司内网windows服务器
外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...
随机推荐
- springboot2.7.x 集成log4j2配置写入日志到mysql自定义表格
在阅读之前请先查看[springboot集成log4j2] 本文暂不考虑抽象等实现方式,只限于展示如何自定义配置log4j2并写入mysql数据库(自定义结构) 先看下log4j2的配置 <?x ...
- 基于.NetCore开发博客项目 StarBlog - (12) Razor页面动态编译
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- Vue最新防抖方案
函数防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时.举个栗子,持续触发scroll事件时,并 ...
- SAP OOALV- 合计
TYPES: BEGIN OF ty_mara, srno LIKE adrc-name1, " Storing the total text matnr LIKE mara-matnr, ...
- 用python制作文件搜索工具,深挖电脑里的【学习大全】
咳咳~懂得都懂啊 点击此处找管理员小姐姐领取正经资料~ 开发环境 解释器: Python 3.8.8 | Anaconda, Inc. 编辑器: pycharm 专业版 先演示效果 开始代码,先导入模 ...
- Tensorflow2 深度学习十必知
博主根据自身多年的深度学习算法研发经验,整理分享以下十条必知. 含参考资料链接,部分附上相关代码实现. 独乐乐不如众乐乐,希望对各位看客有所帮助. 待回头有时间再展开细节说一说深度学习里的那些道道. ...
- windows脚本bat做文件备份
@ECHO OFF echo 切换到当前目录... cd /d %~dp0% echo 开始复制Code1... echo d | XCOPY Code1 ..\备份\bakdir\Code1 /s ...
- NC204382 中序序列
NC204382 中序序列 题目 题目描述 给定一棵有 \(n\) 个结点的二叉树的先序遍历与后序遍历序列,求其中序遍历序列. 若某节点只有一个子结点,则此处将其看作左儿子结点 示例1 输入 5,[3 ...
- 从Wannacry到WannaRen:螣龙安科带你深度分析勒索病毒原理
从Wannacry到WannaRen:螣龙安科2020年4月7日,360CERT监测发现网络上出现一款新型勒索病毒wannaRen,该勒索病毒会加密windows系统中几乎所有的文件,并且以.Wann ...
- 【.NET基础】Linq常用语法代码演示
前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合.数据库表集合等等几乎所有集合类型的操作.下面就写几个案例(以List集合来做的),看代码和运行结果即可. 本文演示环境:VS2 ...