DNS的集群与更新(远程更新,加密更新)

本文详细介绍了DNS的分类与查询方式,包括权威和非权威域名服务器,以及递归和迭代查询。接着,阐述了DNS集群的搭建过程,通过主DNS和从DNS的配置实现负载均衡。然后,讨论了DNS的更新方法,包括远程更新和加密更新,强调了远程更新的安全隐患及加密更新的重要性。最后,展示了如何在从服务器上实现加密更新,并解决了远程更新与加密更新的冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:DNS的分类与查询方式

<1>DNS的分类:

权威域名服务器
主DNS服务器(Master):管理和维护所负责解析的域内解析库的服务器
从DNS服务器(Slave):主服务器或从服务器“复制”(区域传输)解析库副本

非权威域名服务器
缓存DNS服务器(我们前面已经搭建过,这里就不再多做介绍)
转发域名服务器:在接收查询请求时,不向根发起请求,而是转发到指定的上级DNS服务器,而且不进行任何缓存,仅转发。

<2>DNS的查询方式

递归查询:用户向第一个DNS服务发请求,DNS收到后,如果它这有直接的结果就直接给你,如果没有就会向根DNS服务询问,层层询问直到问道结果返回给你,负责到底

迭代查询:查询过程中去问根,根给你推荐别人,你去问它,这就是迭代查询,不会负责到底

二:DNS集群的搭建

基本概念:DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群。

搭建DNS之前我们需要将之前在DNS的主配置文件步里做的DNS双向解析的代码删掉
(为了实验效果,保持实验环境纯净)
在这里插入图片描述
在这里插入图片描述

将之前注释掉的恢复
在这里插入图片描述实验如下

<1>主DNS的搭建

因为我们前面的实验,主DNS服务器已经搭建的差不多,只需要在区域文件里面写入在这里插入图片描述
在这里插入图片描述
重启服务:
在这里插入图片描述

<2>从服务器的搭建

前提

为了方便区分,我们将这台server虚拟机的名字改为slave.westos.com

在这里插入图片描述
搭建yum源
在这里插入图片描述

配置网络服务并重启
在这里插入图片描述

关闭防火墙
在这里插入图片描述

开始搭建

首先安装DNS服务所需的软件包(这几步在前面博客搭建高速缓存服务器的时候做过,就不细讲了)

在这里插入图片描述
安装完成

在这里插入图片描述

开启服务

在这里插入图片描述
编辑主配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编辑区域文件(重点

在这里插入图片描述
在这里插入图片描述
重启服务
在这里插入图片描述
修改DNS的本地解析nameserver=172.25.254.215

在这里插入图片描述

测试:

在主服务器里先dig bbs.meng.com显示是来自172.25.254.115
在这里插入图片描述
在从服务器dig bbs.meng.com

在这里插入图片描述

从服务器dig的结果与主服务器相同,但是我们并未编辑从服务器的数据文件,这说明了从服务器“复制“了主服务器域名的信息。

三:DNS的更新

在日常时候,我们需要时不时的更新(管理)域里面的信息,这个时候就出现一个问题,我们怎么做到从服务器可以跟主服务器同步更新???我们可以在更新主服务器之后,在从服务器里删除/var/named/slaves/*,然后再在从服务器里面dig,这个时候slaves里面同步过来的数据文件就是更新过的,或者也可以采用下面这种方式:

在主服务器里面的数据文件里修改参数在这里插入图片描述
原本的样子

在这里插入图片描述
将其改为1
在这里插入图片描述

此时重启服务,再去测试

主服务端:更新成功
在这里插入图片描述
从服务端更新成功
在这里插入图片描述

我们还可以在更新一次

在这里插入图片描述
重启服务,再去测试

主服务端:
在这里插入图片描述
从服务端:

在这里插入图片描述

但是这种方法在大型域里面显得极不方便,若是再添加的时候一不小心手残,或者要进行删除操作,面对长长的内容,往往会让人手足无措,为了解决这个问题,我们采用命令可以进行远程更新和加密更新。

三:DNS的更新

<1>远程更新

做这个实验之前,我们需要在主服务器进行复制操作,因为我们后面进行的加密更新与远程更新是由冲突的,所以我们为了实验的准确性,复制一份数据文件到opt下

注意:要使用cp -p将权限也复制过去,否则后面恢复过来的文件会导致服务起不来。

如图所示:

在这里插入图片描述
查看selinux的状态,如果是disabled可以直接做,如果是enforcing,需要更改setbool
,如图所示:
在这里插入图片描述
修改setbool
在这里插入图片描述

实验开始

编辑区域文件,让主服务器可以更新

在这里插入图片描述
在里面修改为如图所示
在这里插入图片描述
重启服务:
在这里插入图片描述
修改文件权限,使named这个组对文件有写的权力
在这里插入图片描述
测试:

在主服务器里:

nsupdate命令:是一个动态DNS更新工具,可以向DNS服务器提交更新记录的请求,它可以添加或者删除资源记录,而不需要手动进行编辑文件。

命令格式:
server  servername[port]      发送请求更新的服务器ip
zone zonename   指定需要更新的区名
send   将要求信息和更新信息发送到DNS服务器,等同于输入一个空行
quit  退出

(感兴趣的可以自己去搜索这个命令的用法)

在这里插入图片描述
主服务端可以dig显示出来
在这里插入图片描述

客户机也可以dig出来,说明远程更新成功

图没截上,后面补上+ -+

我们也可以用这个命令进行删除操作,如图所示:
在这里插入图片描述
在去查看,发现在主服务器和从服务器里都dig不到

在这里插入图片描述
在这里插入图片描述
我们查看数据目录,发现生成了一个jnl文件,并且是一个data数据文件,这个文件是在从服务器更新之后生成的
在这里插入图片描述

上面这种更新方式虽然方便,但是也存在着极大的隐患,因为别的主机也可以对这个域的主服务器进行远程更新,为了解决这个问题,我们需要进行下来的步骤。

<2>加密更新

做这个实验前,我们需要恢复实验环境,因为上面的远程更新与加密更新是冲突的。

恢复主服务器的实验环境:
在这里插入图片描述

实验开始

(主服务器:)

在/mnt下生成一个DNS锁跟密钥,锁跟密钥里面的加密字符是一样的
在这里插入图片描述
复制一个key模板到自己的文件并编辑(注意复制权限)

在这里插入图片描述
编辑自己的加密文件
在这里插入图片描述
在里面修改为如图所示
在这里插入图片描述
编辑区域文件:
在这里插入图片描述
修改更新方式为加密更新,名字叫mengkey
在这里插入图片描述

编辑主配置文件
在这里插入图片描述
让系统去读取这个加密文件
在这里插入图片描述
重启服务:
在这里插入图片描述

测试

在主服务器:

发现用远程更新的方式被拒绝
在这里插入图片描述

用加密更新可以成功更新
在这里插入图片描述
可以dig出来:
在这里插入图片描述
在从服务器:

在从服务器需要将/slaves/下远程更新的文件删除掉才可以更新出来,因为两者是冲突的

未删除前:
在这里插入图片描述
删除后,重启服务,可以dig出来,说明两者冲突
在这里插入图片描述
在这里插入图片描述

扩展

若是想要从服务器有加密更新的权力,只需要将我们的密钥发送给他,这样它就可以更新了

如图所示:
在这里插入图片描述
用密钥更新,更新成功。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值