DNS服务器配置与管理(3)——综合案例

DNS服务器配置与管理

前言

在之前,曾详细介绍了DNS服务器原理和使用BIND部署DNS服务器,本文主要以一个案例为驱动,在网络中部署主DNS服务器、辅助DNS服务器以及子域委派的配置。

案例需求

某公司申请了域名example.com,公司服务器配置如下图所示,总公司和分公司为父子域架构,父域服务器所在的网段是192.168.200.0/24,有FTP服务器、WEB服务器、电子邮件服务器,分公司使用子域规划,子域名为develop,所在网段为192.168.100.0/24,部署了文件服务器、流媒体服务器。

在这里插入图片描述
现需在总公司附属父域的主DNS服务器和辅助DNS服务器,子域通过委派方式由子域DNS服务器管理,并规划资源记录主要属性如下表所示:

1、总公司服务器

序号记录名称记录类型属性值作用
01masterA192.168.200.100总公司主DNS服务器
02slaverA192.168.200.200总公司辅助DNS服务器
03ftpA192.168.200.21总公司FTP服务器
04wwwA192.168.200.22总公司WEB服务器
05smtpA192.168.200.23总公司电子邮件服务器
06pop3A192.168.200.23总公司电子邮件服务器
07example.comSOA默认
08example.comNSmaster.example.com
09example.comNSslaver.example.com
10www1CNAMEwww.example.com
11mailCNAMEsmtp.example.com
12example.comMXsmtp.example.com
13所有主机记录创建对应的PTR记录

2、分公司服务器

序号记录名称记录类型属性值作用
01dnsA192.168.100.100分公司DNS服务器
02fileA192.168.100.11分公司文件服务器
03vodA192.168.100.12分公司流媒体服务器
04develop.example.comSOA默认
05develop.example.comNSdns.develop.example.com

一、实验环境部署

本实验基于VMware Workstation 16平台,VMnet1网段为192.168.100.0/24,VMnet8网段为192.168.200.0/24,实验之前配置好网卡IP地址、做好实验环境初始化。

服务器IP地址操作系统配置
总公司主DNS服务器192.168.200.100CentOS 7.5配置YUM源、关闭防火墙、SELinux
总公司辅助DNS服务器192.168.200.200CentOS 7.5配置YUM源、关闭防火墙、SELinux
分公司DNS服务器192.168.100.100CentOS 7.5配置YUM源、关闭防火墙、SELinux
测试主机192.168.200.222Windows 10-

二、部署总公司主DNS服务器

2.1 安装DNS服务器

配置好YUM源后,在主DNS服务器上安装BIND。

[root@master ~]# yum install bind -y

BIND安装好后,会生成一个named.service的系统服务,启动named服务并设置开机重启。

[root@master ~]# systemctl start named
[root@master ~]# systemctl enable named
2.2 修改主配置文件

编辑**/etc/named.conf**主配置文件

[root@master ~]# vim /etc/named.conf

找到对应的内容并做以下修改:

options {
        listen-on port 53 { any; };			# 127.0.0.1改成any
		......
        allow-query     { any; };			# localhost改成any
		......
}
......
include "/etc/named.zones";			# /etc/named.rfc1912.zones改成/etc/named.zones
									# /etc/named.zones是自定义的区域配置文件
include "/etc/named.root.key";
......
2.3 编辑区域配置文件

区域配置文件**/etc/named.zones**,可以从模板文件复制,加**-p**选项保留原有属性。

[root@master ~]# cp -p  /etc/named.rfc1912.zones /etc/named.zones

在该区域配置文件中,添加两个区域,一个example.com的正向解析区域,和一个200.168.192.in-addr.arpa的反向解析区域。

编辑区域配置文件**/etc/named.zones**

[root@master ~]# vim /etc/named.zones

删除原来的内容,修改内容如下:

zone "example.com" IN {
        type master;
        file "example.com.zone";		#正向解析区域数据库文件 保存在/var/named/目录中
        allow-update { none; };
};

zone "200.168.192.in-addr.arpa" IN {
      type master;
      file "100.200.168.192.zone";		#反向解析区域数据库文件 保存在/var/named/目录中
      allow-update { none; };
};
2.4 编辑正向解析区域数据库文件

配置example.com区域的正向解析区域数据库文件,该文件从模板文件**/var/named/named.localhost**复制而来。

[root@master ~]# cp -p  /var/named/named.localhost /var/named/example.com.zone

编辑正向解析区域数据库文件

[root@master ~]# vim /var/named/example.com.zone

按照上面总公司服务器规划,修改内容如下

$TTL 1D
@       IN SOA  @ mail.example.com. (
                                2024041501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN NS           master.example.com.
@       IN MX           10      smtp.example.com.

master  IN A            192.168.200.100
ftp     IN A            192.168.200.21
www     IN A            192.168.200.22
smtp    IN A            192.168.200.23
pop3    IN A            192.168.200.23

www1    IN CNAME        www.example.com
mail    IN CNAME        smtp.example.com
2.5 编辑反向解析区域数据库文件

配置example.com区域的反向解析区域数据库文件,该文件从模板文件**/var/named/named.loopback**复制而来。

[root@master ~]# cp -p /var/named/named.loopback /var/named/100.200.168.192.zone

编辑反向解析区域数据库文件

[root@master ~]# vim /var/named/100.200.168.192.zone

按照上面总公司服务器规划,修改内容如下

$TTL 1D
@       IN SOA  @ mail.example.com. (
                                2024041501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

@       IN      NS      master.example.com.

100     IN      PTR     master.example.com.
21      IN      PTR     ftp.example.com.
22      IN      PTR     www.example.com.
23      IN      PTR     smtp.example.com.
23      IN      PTR     pop3.example.com. 
2.6 检查测试

1、检查主配置文件

[root@master ~]# named-checkconf /etc/named.conf

2、检查两个区域数据库文件

检查正向解析区域数据库文件

[root@master ~]# named-checkzone example.com /var/named/example.com.zone
zone example.com/IN: loaded serial 2024041501
OK

检查反向解析区域数据库文件

[root@master ~]# named-checkzone 200.168.192.in-addr.arpa /var/named/100.200.168.192.zone
zone 200.168.192.in-addr.arpa/IN: loaded serial 2024041501
OK

3、重新加载DNS区域配置

如果DNS服务器已经启动了,就使用rndc reload重新加载所有区域配置。

[root@master ~]# rndc  reload
server reload successful

4、测试

在测试主机(Windows 10)上配置网络适配器的首选DNS服务器为上面配置的总公司主DNS服务器地址。

使用nslookup测试主DNS服务器的解析功能。如下图所示:

在这里插入图片描述

三、部署总公司辅助DNS服务器

3.1 Slaver:安装DNS服务并启动
[root@slaver ~]# yum install bind -y
[root@slaver ~]# systemctl start named
[root@slaver ~]# systemctl enable named
3.2 Master:修改配置

1、修改主DNS服务器的主配置文件

[root@master ~]# vim /etc/named.conf

在option部分增加一行,允许192.168.200.200的主机从本机复制

options {
		......
		allow-transfer { 192.168.200.200; };
		......
}

2、修改主DNS服务器的正向解析区域数据库文件/var/named/example.com.zone

[root@master ~]# vim /var/named/example.com.zone

在该文件中增加一条NS记录和一条主机记录

# 增加的NS记录
@       IN NS           slaver.example.com.
# 增加的主机记录
slaver  IN A            192.168.200.200

3、修改主DNS服务器的反向解析区域数据库文件/var/named/100.200.168.192.zone

[root@master ~]# vim /var/named/100.200.168.192.zone

在该文件中增加一条NS记录和一条指针记录

# 增加的NS记录
@       IN NS           slaver.example.com.
# 增加的主机记录
200     IN      PTR     slaver.example.com.

4、检查配置文件并重启DNS服务

[root@master ~]# named-checkconf /etc/named.conf
[root@master ~]# named-checkzone example /var/named/example.com.zone
zone example/IN: loaded serial 2024041501
OK
[root@master ~]# named-checkzone 200.168.192.in-addr.arpa /var/named/100.200.168.192.zone
zone 200.168.192.in-addr.arpa/IN: loaded serial 2024041501
OK
[root@master ~]# systemctl restart named
3.3 Slaver:修改主配置文件

1、修改辅助DNS服务器的主配置文件

[root@slaver ~]# vim /etc/named.conf

修改内容如下:

options {
        listen-on port 53 { any; };			# 修改127.0.0.1改成any
		......
        allow-query     { any; };			# 修改localhost改成any
        allow-transfer { none; };			# 增加此行,拒绝任何主机从本服务器拉取数据
		......
}
include "/etc/named.rfc1912.zones";			# 删除此行								
include "/etc/named.root.key";				# 删除此行	
......
# 添加以下配置
zone "example.com"{
        type slave;							# 区域类型为slave
        file "slaves/example.com.zone";		# 正向解析区域的数据库文件
        masters { 192.168.200.100; };
};

zone "200.168.192.in-addr.arpa"{
        type slave;
        file "slaves/100.200.168.192.zone";	# 反向解析区域的数据库文件
        masters { 192.168.200.100; };
};

2、检查配置文件语法

[root@slaver ~]# named-checkconf /etc/named.conf

说明:辅助DNS服务器不需要创建DNS区域数据库文件,这些文件待辅助DNS重启或者等到一定时间到,从主DNS服务器复制过来,并保存在目录**/var/named/slaves**中。

3.3 检查主从DNS服务器数据同步

同步之前查看区域数据库文件信息,没有区域数据库文件

[root@slaver ~]# ll /var/named/slaves/
总用量 0

重新启动辅助DNS服务器的DNS服务

[root@slaver ~]# systemctl restart named

重新查看区域数据库文件信息,此时有区域数据库文件,说明复制成功

[root@slaver ~]# ll /var/named/slaves/
总用量 8
-rw-r--r--. 1 named named 595 4月  15 17:58 100.200.168.192.zone
-rw-r--r--. 1 named named 647 4月  15 17:58 example.com.zone

继续查看主DNS服务器的日志文件**/var/log/messages**,可以看到传输日志

[root@master ~]# tail /var/log/messages
Apr 15 17:38:34 server named[48206]: running
Apr 15 17:38:34 server named[48206]: zone 200.168.192.in-addr.arpa/IN: sending notifies (serial 2024041501)
Apr 15 17:38:34 server named[48206]: zone example.com/IN: sending notifies (serial 2024041501)
Apr 15 17:38:34 server systemd: Started Berkeley Internet Name Domain (DNS).
Apr 15 17:58:47 server named[48206]: client 192.168.200.200#33164 (example.com): transfer of 'example.com/IN': AXFR started
Apr 15 17:58:47 server named[48206]: client 192.168.200.200#33164 (example.com): transfer of 'example.com/IN': AXFR ended
Apr 15 17:58:47 server named[48206]: client 192.168.200.200#3778: received notify for zone 'example.com'
Apr 15 17:58:47 server named[48206]: client 192.168.200.200#34322 (200.168.192.in-addr.arpa): transfer of '200.168.192.in-addr.arpa/IN': AXFR started
Apr 15 17:58:47 server named[48206]: client 192.168.200.200#34322 (200.168.192.in-addr.arpa): transfer of '200.168.192.in-addr.arpa/IN': AXFR ended
Apr 15 17:58:47 server named[48206]: client 192.168.200.200#29415: received notify for zone '200.168.192.in-addr.arpa'
3.4 客户端检查测试

在测试主机(Windows 10)上配置网络适配器的首选DNS服务器为上面配置的总公司辅助DNS服务器地址192.168.200.200。

使用nslookup测试主DNS服务器的解析功能。如下图所示:

在这里插入图片描述

四、部署分公司DNS服务器(子域委派)

实验之前保障公司主DNS服务器和分公司的DNS服务器能够正常通信,本例中解决的办法是在分公司的DNS服务器上增加了一块vnet8网卡。

4.1 子域服务器:安装DNS服务
[root@dns ~]# yum install bind -y
[root@dns ~]# systemctl start named
[root@dns ~]# systemctl enable named
4.2 修改总公司主DNS服务器配置

1、修改总公司主DNS服务器的正向解析区域数据库文件

[root@master ~]# vim /var/named/example.com.zone

在**/var/named/example.com.zone**中添加一条子域的NS记录和一条子域DNS服务器的A记录。

develop.example.com.            IN      NS      dns.develop.example.com.
dns.develop.example.com.        IN      A       192.168.100.100

2、检查配置

[root@master ~]# named-checkzone example.com /var/named/example.com.zone
zone example.com/IN: develop.example.com/NS 'dns.develop.example.com' (out of zone) has no addresses records (A or AAAA)
zone example.com/IN: loaded serial 2024041501
OK
[root@master ~]# rndc reload
server reload successful
4.3 配置分公司DNS服务器主配置文件
[root@dns ~]# vim /etc/named.conf

修改内容如下

options {
        listen-on port 53 { any; };			# 修改127.0.0.1改成any
		......
        allow-query     { any; };			# 修改localhost改成any
        allow-transfer { none; };			# 增加此行,拒绝任何主机从本服务器拉取数据
		......
}
include "/etc/named.rfc1912.zones";			# 删除此行
		......
zone "develop.example.com" IN {				# 增加此5行
        type master;
        file "develop.example.com.zone";
        allow-update { none; };
};
4.4 配置分公司DNS服务器区域数据库文件

1、修改区域数据库文件

[root@dns ~]# cp -p /var/named/named.localhost /var/named/develop.example.com.zone
[root@dns ~]# vim /var/named/develop.example.com.zone

修改内容如下

$TTL 1D
@       IN SOA  @ mail.example.com. (
                                2024041501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

@       IN      NS              dns.develop.example.com.

dns     IN      A               192.168.100.100
file    IN      A               192.168.100.11
vod     IN      A               192.168.100.12

2、检查配置

[root@dns ~]# named-checkconf /etc/named.conf
[root@dns ~]# named-checkzone develop.example.com /var/named/develop.example.com.zone
zone develop.example.com/IN: loaded serial 2024041501
OK
[root@dns ~]# systemctl restart named
4.5 客户端检查测试

在测试主机(Windows 10)上配置网络适配器的首选DNS服务器为上面配置的总公司主DNS服务器地址192.168.200.100或者总公司的辅助DNS服务器地址192.168.200.200。

使用nslookup测试主DNS服务器的解析功能。如下图所示:可以发现主DNS服务器上并没有file.develop.example.com的记录,但是可以解析到,因为设置了子域委派。

在这里插入图片描述

五、DNS转发器和惟缓存服务器

关于DNS服务器的配置,还有搭建DNS转发器,DNS转发包括完全转发和条件转发;另外还有惟缓存服务器,配置起来也不复杂,这里不再赘述,有兴趣的自行翻阅材料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/551567.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【YOLOv8改进[损失函数]】使用结合InnerIoU和Focaler的各种损失函数助力YOLOv8更优秀

目录 一 回归损失函数(Bounding Box Regression Loss) 1 Inner-IoU 2 Focaler-IoU:更聚焦的IoU损失 二 改进YOLOv8的损失函数 1 总体修改 ① ultralytics/utils/metrics.py文件 ② ultralytics/utils/loss.py文件 ③ ultralytics/uti…

服务器中毒怎么办?企业数据安全需重视

互联网企业: 广义的互联网企业是指以计算机网络技术为基础,利用网络平台提供服务并因此获得收入的企业。广义的互联网企业可以分为:基础层互联网企业、服务层互联网企业、终端层互联网企业。 狭义的互联网企业是指在互联网上注册域名,建立网…

11.基础乐理-音域、1=C到底是那一组的C

音域: 音域它指的是一个乐器(包括人声),能发出的所有的音高总,比如我们拿钢琴来看,钢琴最低的是大字二组的A2, 钢琴最高音是小字五组的c5,钢琴的音域是A2 - c5,如图1所示…

数字次数排序-第12届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第53讲。 数字次数排序&…

软硬链接与动静态库

文章目录 1.软硬链接2.动态库和静态库2.1 见一见库2.2 动静态库2.2.1 静态库2.2.2 动态库 2.3 动静态库的对比 3.真实的应用场景(ncurses库)4.库加载---可执行程序和地址空间4.1可执行程序的加载4.2 库的加载 1.软硬链接 2.动态库和静态库 2.1 见一见库 我们用过很多库。C/C的…

Pytorch官方FlashAttention速度测试

在Pytorch的2.2版本更新文档中,官方重点强调了通过实现FlashAtteneion-v2实现了对scaled_dot_product_attention约2X左右的加速。 今天抽空亲自试了下,看看加速效果是否如官方所说。测试前需要将Pytorch的版本更新到2.2及以上,下面是测试代码…

企业数字化转型路径有哪些?

企业数字化转型是一个复杂而全面的过程,涉及到企业的多个方面,包括管理、运营、生产、销售等。企业数字化转型的路径可以概括为以下几个方面: 1、开展数字化评估 企业首先需要对自身的数字化基础水平、经营管理现状以及内外部转型资源进行全…

基于汇编代码和源代码融合的漏洞检测系统

这篇文章通过结合漏洞源代码和汇编代码的特征实现了一个漏洞检测系统。实现步骤如下:(1)从源代码和汇编代码中提取代码切片;(2)通过提出的代码对齐算法对这些片断进行对齐;(3&#x…

2024 收入最高的十大编程语言预测

预测2024 收入最高的十大编程语言 在过去2023年,了解哪些编程语言能为开发者提供更高的薪水至关重要,目前全球已有超过200种编程语言可供选择.为了深入了解市场趋势和受欢迎程度,DevJobsScanner在过去一年里分析了全球超过1000万个开发职位空缺.尽管这项研究主要关注美国就业市…

LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!

写在前面 其他显卡环境也可以!但是最少要有8GB的显存,不然很容易爆。 如果有多显卡的话,单机多卡也是很好的方案!!! 背景介绍 目前借到一台算法组的服务器,我们可以查看一下目前显卡的情况 …

【网站项目】学生选课系统小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

前端开发攻略---在页面上渲染大量元素,使用defer减少白屏等待时间,优化页面响应速度

1、优化前 2、优化后 3、优化思路 1、在元素数量不变的情况下,进行一步一步的渲染,先渲染一些重要的元素或者需要用户第一时间看到的元素。 2、使用Hooks封装优化函数 4、优化代码 拥有大量元素的组件(Item):文件位置&…

Clion自动添加函数标准注释模板

一、设置步骤 点击File->Settings&#xff1b;搜索Live Templates设置项&#xff0c;选择C/C子项&#xff0c;直接拷贝以下内容&#xff1a; <template name"func" value"/*** brief * param name * param value * return * retval * bug */" desc…

kkFileView文件预览服务详解

目录 一、介绍 二、地址 三、打包部署步骤 四、三种调用方式 五、在线体验 六、源码分析-设计思路实现 七、扩展新类型 八、遇到的问题 1.混合访问问题 2.邮件解析问题 3. Ng转发配置网站域名问题; 4.Office版本问题 5.指定时区: 6. Office相关(word,ppt,excel)转…

微前端 qiankun 框架接入问题记录

背景&#xff1a;需要搭建一个平台&#xff0c;这个平台的主要功能是集成各个子系统&#xff0c;方面对系统之间的统一管理。在搭建这样一个平台时&#xff0c;前端考虑使用微前端架构方式实现&#xff0c;使用的框架是 qiankun&#xff0c;本文主要记录在 qiankun 框架使用过程…

postman汉化

一、postman历史版本下载&#xff1a;Postman 10.24.16 Download for Windows / Old Versions / FileHorse.comhttps://www.filehorse.com/download-postman/old-versions/ 二、汉化包下载&#xff1a; Releases hlmd/Postman-cn GitHubPostman汉化中文版. Contribute to h…

弹性 MapReduce(EMR)

一.产品简介 1产品概述 E腾讯云 EMR 提供基于云服务器&#xff08;CVM&#xff09;和容器服务&#xff08;TKE&#xff09;两种部署运行方式&#xff1a; 2.Agent 的安装目录 Linux 安装目录是/usr/local/qcloud/stargate和/usr/local/qcloud/monitor CoreOs 安装目录是/va…

【Redis 神秘大陆】006 灾备方案

六、Redis 灾备方案 6.1 存储方案 6.1.1 基础对比 RDB持久化AOF持久化原理周期性fork子进程生成持久化文件每次写入记录命令日志文件类型二进制dump快照文件文本appendonly日志文件触发条件默认超过300s间隔且有1s内超过1kb数据变更永久性每秒fsync一次文件位置配置文件中指…

ECharts数据大屏展示效果

ECharts数据大屏展示效果 前言1、效果预览1.2、视频效果 2、使用框架3、如何处理屏幕自适应效果4、ECharts模块、dataV大屏插件 编写与布局5、往期回顾总结&#xff1a; 前言 数据大屏需整体效果好看&#xff0c;界面缩放自适应大小&#xff0c;全屏展示铺满整个屏幕并自适应&a…

Linux 指令之文件

1.开发背景 记录 linux 下对文件操作的指令 2.开发需求 记录常用的文件操作指令 3.开发环境 linux 操作系统&#xff0c;如果不支持需要查看是否存在对应的可执行文件 4.实现步骤 4.1 查找字符串 查找指定目录下包含指定的字符串 grep -rn "Timer frequency" .…
最新文章