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模板调整为主动 ...
随机推荐
- Mysql中文存储、显示及不区分大小写控制
刚开始使用mysql,以为安装了完了就可以使用了,结果是我太天真了.mysql5.7版本,默认严格区分大小写,并且不支持中文存储. 严格区分大小写,即A表和a表示两个不同的表 实例 修改 在/etc/ ...
- Spring Boot 实践 :Spring Boot + MyBatis
Spring Boot 实践系列,Spring Boot + MyBatis . 目的 将 MyBatis 与 Spring Boot 应用程序一起使用来访问数据库. 本次使用的Library spr ...
- JS:条件语句1
条件语句: 1.if...else if (condition1) { 当条件 1 为 true 时执行 } else { 当条件 1 不为 true 时执行 } if (condition1) { ...
- 3D可视化在化工领域的应用及案例分享
2020年,中办.国办印发的<关于全面加强危险化学品安全生产工作的意见>中重点提出应加快"推进化工园区安全生产信息化.智能化平台建设,实现对园区内企业.重点场所.重大危险源.基础 ...
- 【图解源码】Zookeeper3.7源码分析,包含服务启动流程源码、网络通信源码、RequestProcessor处理请求源码
Zookeeper3.7源码剖析 能力目标 能基于Maven导入最新版Zookeeper源码 能说出Zookeeper单机启动流程 理解Zookeeper默认通信中4个线程的作用 掌握Zookeepe ...
- SAP Picture Control(图片加载)
Screen display 效果 源代码 program sap_picture_demo. set screen 200. TYPE-POOLS cndp. ******************* ...
- Java去除字符串中 除数字和逗号以外的符号
例: public static void main(String[] args) { // 去除字符串中 除数字和逗号以外的符号 String str = "_1066,_1068,_10 ...
- idea启动java Maven项目,出现" java: 程序包xxxx不存在"
解决办法如下:将idea的构建和运行托管到maven下面
- 多校联训 DP 专题
[UR #20]跳蚤电话 将加边变为加点,方案数为 \((n-1)!\) 除以一个数,\(dp\) 每种方案要除的数之和即可. 点击查看代码 #include<bits/stdc++.h> ...
- 游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
问题描述 我们国内的华为联运游戏集成华为游戏服务SDK 之后,被审核驳回:在未安装或需要更新华为移动服务(HMS Core)的手机上,提示安装华为移动服务,点击取消,未再次提示安装HMS Core. ...