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

news2024/11/24 7:37:13

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.coloradmin.cn/o/1600844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux C -- 消息队列

linux C -- 消息队列 前言一、System V(IPC)消息队列接口调用主要涉及到 msgget、msgsnd、msgrcv 和 msgctl 四个接口: 1、创建消息队列 msgget2、发送消息到队列3、从队列接收信息4、控制消息队列 msgctl5、删除消息队列 二、代码编写1、发送部分的代码2、代码完成…

牛客-环形链表的约瑟夫问题

目录 题目 描述 示例1 示例2 图解 代码(解析在注释中) 题目 描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号…

大数据平台搭建2024(一)

一:基础配置 创建虚拟机并查出ip地址进行连接 ip a1.配置node01静态ip地址与主机名 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改或添加如下内容: BOOTPROTO"static" ONBOOTyes #根据虚拟机网卡信息配置 IPADDR192.168.200.141 NET…

SQL-Post注入

Post注入 在登录过程中,输入用户名和密码,用户名和密码以表单的形式提交, 提交到服务器后服务器再进行验证。这就是一次post的过程的。 在输入正确的用户名和密码后显示 尝试会不会回显报错信息,输入admin--,回显报错了。 尝试…

一个文生视频MoneyPrinterTurbo项目解析

最近抖音剪映发布了图文生成视频功能,同时百家号也有这个功能,这个可以看做是一个开源的实现,一起看看它的原理吧~ 一句话提示词 大模型生成文案 百家号生成视频效果 MoneyPrinterTurbo生成视频效果 天空为什么是蓝色的? 天空之所以呈现蓝色,是因为大气中的分子和小粒子会…

Cisco ACI使用Postman配置交换机-未完待续

先看下不使用脚本的情况下是怎么配置交换机端口的? 例: 有10个交换机接口要开trunk,透传50个vlan, 使用GUI的操作方式为 1 进入EPG -->Static port 2 右键,绑定接口 3 选中node -->指定接口—>指定vlan —>…

Python赋能AI数据分析开启人工智能新时代

文章目录 一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一《编程菜鸟学Python数据分析》编辑推荐内容简介作者简介目录前言为什么要写这本书读者对象如何阅读本书 随着我国企业数字化和信…

每日一题(PTAL2-006):树的遍历--树的构建,队列

因为要层序遍历&#xff0c;所以我们可以考虑构建一颗二叉树。构建完只有利用队列就可以就行层序遍历。 #include <bits/stdc.h> using namespace std; int p1[35]; int p2[35]; typedef struct Tree {int val;struct Tree* left;struct Tree* right; }TT; typedef TT* …

基于逐笔数据合成高频订单簿:DolphinDB 订单簿引擎

订单簿是交易市场上买卖双方正在报价的不同价格的列表。订单簿快照反应了特定时刻市场上的交易意图&#xff0c;比如交易活跃的证券标的往往有着密集的订单簿。订单簿快照对量化金融的交易策略、风险管理和市场分析等方面都具有重要意义。 通常交易所可以提供实时和历史的行情…

【ROS2笔记六】ROS2中自定义接口

6.ROS2中自定义接口 文章目录 6.ROS2中自定义接口6.1接口常用的CLI6.2标准的接口形式6.3接口的数据类型6.4自定义接口Reference 在ROS2中接口interface是一种定义消息、服务或动作的规范&#xff0c;用于描述数据结构、字段和数据类型。ROS2中的接口可以分为以下的几种消息类型…

鸿蒙南向开发:【编译和烧录】指导

编译 #进入源码目录 #rm -rf ohos_config.json #hb set #. #如下图所示,按↑↓键&#xff0c;选择需要编译的工程名&#xff0c;然后回车 #hb build -f #然后回车&#xff0c;等待屏幕出现&#xff1a;BUILD SUCCESS字样&#xff0c;说明编译成功。如下图 #编译生成的固件在…

WPS的JS宏如何实现全文件路径字符串中截取文件名(excel)

从全文件路径的字符串中&#xff0c;截取文件名称&#xff0c;例如&#xff1a; 全文件路径字符串为&#xff1a;C:\Windows\System32\drivers\acpi1.sys 需要截取文件名&#xff1a;acpi1.sys 方法如下&#xff1a; 1、简单的方式&#xff1a;把全文件路径字符串拷贝&…

优斯特:防静电包装解决方案的巧妙运用

在现代电子产品生产与运输领域&#xff0c;防静电包装已成为保障产品安全的必备环节。优斯特凭借其创新的防静电包装解决方案&#xff0c;为客户提供了一种巧妙的方式来确保产品在存储和运输过程中不受静电影响&#xff0c;并且不会被刮花或损坏。 静电对产品的影响 静电对电子…

淘系电商课程,0基础实战教学,实操性系统性实时性

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89064789 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 00.前言一做好电商的基本认知 .mp4 01.电商卖货的底层逻辑和权重解析,mp4 02.做好产品的前期准备工作.mp4 03.店铺如何布局产品,m…

开源全方位运维监控工具:HertzBeat

HertzBeat&#xff1a;实时监控系统性能&#xff0c;精准预警保障业务稳定- 精选真开源&#xff0c;释放新价值。 概览 HertzBeat是一款深受广大开发者喜爱的开源实时监控解决方案。它以其简洁直观的设计理念和免安装Agent的特性&#xff0c;实现了对各类服务器、数据库及应用…

毕设论文的分类号与UDC查询

对于毕业论文分类号与UDC&#xff0c;可以根据个人研究领域查询。 中图分类号查询链接&#xff1a; 中图分类号查询 | 中国图书馆分类法 | 中图法 | 中图分类号 (clcindex.com)https://www.clcindex.com/category/ UDC查询链接: UDC Summaryhttps://udcsummary.info/php/ind…

8thWall vs. AR.js

对于熟悉 JavaScript、WebGL 和 HTML5 等 Web 技术的数字创作者来说&#xff0c;8th Wall 提供了功能丰富且强大的 AR 开发平台&#xff0c;尽管价格较高。 然而&#xff0c;新手开发人员和专注于基于标记的 AR 的开发人员可能会发现 AR.js 更易于使用且更经济实惠。 1、8th Wa…

【央国企专场】——军工研究所

研究所目录 一、企业概述1.1 中国航天1.2 中国电科1.3 中国船舶1.4 中国兵器 二、招聘信息2.1 中国航天2.2 中国电科2.3 中国船舶2.4 中国兵器 一、企业概述 在校招中会有很多企业来学校开宣讲会&#xff0c;其中就有许多广为人知的军工研究所&#xff0c;比如&#xff1a;中国…

外面收费的彩虹自助下单系统模板

搭建教程 下载之后上传到template文件夹里面 注意带上里面的文件夹 然后去后台替换就行 源码免费下载地址抄笔记 (chaobiji.cn)

Kafka、RabbitMQ、Pulsar、RocketMQ基本原理和选型

Kafka、RabbitMQ、Pulsar、RocketMQ基本原理和选型 1. 消息队列1.1 消息队列使用场景1.2. 消息队列模式1.2.1 点对点模式&#xff0c;不可重复消费1.2.2 发布/订阅模式 2. 选型参考2.1. Kafka2.1.1 基本术语2.1.2. 系统框架2.1.3. Consumer Group2.1.4. 存储结构2.1.5. Rebalan…