需要完成事件:
Bind简介:
Linux中通常使用bind来实现DNS服务器的架设,bind软件由isc(www.isc.org)维护。在yum仓库中可以找到软件,配置好yum源,直接使用命令yum install bind就可以安装。当前bind的稳定版本为bind9,bind的服务名称为named,监听的端口为53号端口。bind的主要配置文件为/etc/named.conf,此文件主要用于配置区域,并指定区域数据库文件名称。区域数据库文件通常保存于/var/named/目录下,用于定义区域的资源类型。
准备开始
查看本地物理机IP地址:
从上图可见:图中最下因为我是连接校园网无线网,然后虚拟机准备使用桥接模式(若对虚拟机三种网络模式的区别不明白,请参考:https://blog.csdn.net/Alpha_B612/article/details/80979101),所以我选择将虚拟机的网段与网关与图中最下面的保持一致;
设置虚拟机的IP:
查询虚拟机网卡:
配置:
请注意上图:
1)请注意设置的IP地址的掩码长度,我这里与本地物理主机一致16位
2)网卡使用nmcli conn up ethx时需要设置虚拟机我物理网卡在桥接模式,否则可能不能激活成功(至于原因:正在学习中)
查看具体网卡配置:
3)请注意:因为我们配置的本地虚拟机作为DNS服务,所以我网卡的IP地址需要与dns地址相同
接下来我关闭虚拟机窗口,使用xshell连接;准备工作完成;
1))挂载
使用光盘配置本地yum源
请注意:配置本地yum源即是通过使用光盘里面的media.repo文件放到系统的/etc/yum.repo目录下,然后在sw.repo文件里面设置使用光盘的系统程序源BaseOS,应用程序源AppStream,对两种源只需要设置四项就ok
2))安装服务包
出现如下情况:
继续如下安装
查看安装成功的包
成功安装,如果您不知道需要安装什么包,就直接bind*,安装所有可以安装的包,一定不错,作为DNS Server必须安装的包为
话不多说,继续如下
3))编辑主配置文件
第一处箭头的any表示本地DNS的IP地址均可以监听53端口,做为解析服务,第二处any表示DNS服务解析任意网段机器
4))编辑.zones文件
请注意,圈中第一zone编辑表示我设置一会儿将正向解析的域名,下面是反向解析,箭头处需要设置上面我设置的 IP地址的网段,然后master是指(主区域),此为还有hint(根区域),slave(辅助区域),master,slave分别指的就是主服务器与从服务器;还有就是117.10的设置,虽然设置的虚拟网卡是16位,私有区域文件里面也是配置的一个端口值,但是的话,这里就写上虚拟网卡的网段,一会儿解析Ip地址对应的域名时,会出现问题;我总结的就是,因为私有的区域数据文件里面反向解析文件里面配置的是端口,所以我们的主配置区域数据文件里面就应该是有三个字节的反Ip地址,不管你配置的网卡ip地址的掩码是多长
5))复制 粘贴 编辑 SongWei.com.zone与10.117.zone文件
原named.localhost文件
文件中@表示管理员,最好使用root,因为文件的所属用户为root,查看一下
127.0.0.1使用主机地址解析
AAAA :::1目前不懂,还在学习中
原named.loopback文件
SongWei.com.zone文件编辑后
10.117.zone文件编辑后
编辑后的两个文件中的SongWei.com.是指DNS区域地址 root.SongWei.com.域名管理员的邮箱,PTR是指使用指针反向解析域名
检查.zone文件
无错,成功返回序列号
开启named的后台进程服务,必须开启如下两者服务
6))开启端口
7))开启dns
8))开启named服务
若服务启动失败,请参考:
1.https://ssorc.tw/7195
2.https://blog.csdn.net/a962230275/article/details/51141668
3. https://blog.csdn.net/zzzxmfj/article/details/84875731
使用dig命令测试一下DNS服务是否成功
户端dig www.SongWei.com命令时,出现报错说连接超时,则需要查看服务端的端口,是否是回环端口,若是,则需要改变;
注:当出现dig状态是status: SERVFAIL,则表示地址解析的dns服务器也不知道该如何访问
9))验证
发现正向解析失败
修改.zone文件如下
如上图箭头所指方向,按照我目前的理解就是,只需要设置117.10才能成功,但是却不行,其原因正在学习中
再次验证
如上图可知,虽然反向解析成功,但是dns服务不是我们的dns服务
所以,需要修改文件如下
如上图,反向解析成功
如上图,正向解析成功
DNS从服务器也叫辅服DNS服务器,如果网络上某个节点只有一台DNS服务器的话,首先服务器的抗压能力是有限的,当压力达到一定的程度,服务器就会宕机罢工,其次如果这台服务器出现了硬件故障那么服务器管理的区域的域名将无法访问。为了解决这些问题,最好的办法就是使用多个DNS服务器同时工作,并实现数据的同步,这样两台服务器就都可以实现域名解析操作。
主DNS服务器架设好后,辅助的DNS服务器的架设就相对简单多了。架设主从DNS服务器有两个前提条件:一是两台主机可以不一定处在同一网段,但是两台主机之间必须要实现网络通信;二,辅助DNS服务器必须要有主DNS服务器的授权,才可以正常操作。
1、设置IP地址;
实验准备如下:
主机名称 操作系统 IP地址
主服务器 RHEL 8 10.117.69.21
从服务器 RHEL 8 10.117.69.22
然后上面用来做正/反向解析实验的机器我用来做主服务器,命名为hostserver1,另外开启同样的一台做为从服务器,命名为hostserver2,记得把hostserver2先配置如同hostserver1类似哟
主服务与从服务器之间相互ping通
1))在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update{允许更新区域信息的主机地址(从域名服务器的ip地址);};参数,然后重启主服务器的DNS服务程序
2))在从服务器中填写主服务器的ip地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从),而不再是master(主)。master参数后面应该为主服务的ip地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件
type: slave,表示此时DNS服务器为辅助DNS服务器,于是下面一行就要定义主DNS服务器的IP地址,辅助DNS服务器才知道去哪里同步数据。辅助DNS服务器的资源类型数据文件通常保存在slaves目录,只需定义一个名称,文件内容通常是自动生成。
配置好后,直接开启DNS服务,然后再回到主DNS服务器上。
3))在从服务上查看从主服务器上同步过来的文件
从上图中我们可见两个数据文件的所属用户已经改变成named(其原因尚不知晓)
4))然后在从服务器,即是我的hostserver2中的主配置文件 named.cof中,注释监听端口IP地址行 && 来源主机行
5))修改从服务器的DNS服务的地址参数,即是只保留从服务器的DNS地址
6))测试
从上面的实验我们应该知道DNS服务器之间传输区域数据文件是采用迭代,而用户与服务器之间采用递归查询解析服务,至此,从服务器的部署完成
bind服务程序为了提供安全的解析服务,已经对TSIG(rfc 2845)加密机制提供了支持。TSIG主要是利用了密码编码的方式来保护区域信息的传输
接着我们使用上述实验的两台机器,从服务器已经从主服务器自动获取到两个数据配置文件
1)在主服务器中生成密钥。dnssec-keygen命令用于生成安全的DNS服务密钥,其格式为“dnssec-keygen[参数]”,常用的参数以及作用如下
algorithm(算法):指定加密算法,包括RSAMD5(RSA),RSASHA1,DNA,NSEC3RSASH1,NSEC3DSA
-b:密钥长度(1~512位)
-n:密钥类型(HOST表示与主机有关)
上述图中说明产生mster-slave的密钥文件,里面有两个文件,在目录中有公钥文件与私钥文件,我们需要将私钥文件里面Key参数后面的值记录下来,一会儿将其写入传输配置文件中,如下:
2)在主服务器中创建密钥验证文件。进入bind服务程序用于保存配置文件的目录,把刚刚生成的mster-slave密钥文件的密钥名称,加密算法与私钥加密字符串按照下面的格式写入到transfer.key(自己新建传输配置文件)中。为安全起见,我们需要将文件的所属组修改为named,并将文件权限设置小,然后把该文件做一个硬链接到/etc目录中。
3)开启并加载Bind服务的密钥验证功能。首先需要在主服务器的主配置文件中加在密钥验证文件,然后进行设置,使的只允许带有mater-slave密钥认证的DNS服务器同步数据配置文件
注意上述图片中 第一个权重的内容与位置,最好在开头,在下面可能验证不起,服务忽略验证
至此,DNS主服务器的TSIG密钥加密传输功能配置完成,然后删除从服务器中传输成功的两个数据文件,并重启服务,就会发现从服务器不能够自动同步到两个数据文件
4)配置从服务器。使其支持密钥验证功能。配置DNS从服务器的方法大致相同,都需要在bind服务程序的配置文件目录中创建密钥验证文件,并设置相应的权限,然后把该文件做一个硬件链接到/etc目录中
5)
注意上图中,密钥名称配置不要太靠前,否则可能服务会忽略文件后面的配置
6)重启主/从服务器,同步数据文件
至此,数据加密传输实验成功
DNS缓冲服务器(Caching DNS Server)是一种不负责域名数据维护的DNS服务器。简单来说,缓冲服务器就是把用户经常使用到的域名与IP地址的解析记录保存在本地主机,从而提高下次解析的效率。DNS缓冲服务器一般用于经常访问某些固定站点而且对这些网站的访问速度有较高要求的企业内网中,但实际的应用并不广泛。而且,缓冲服务器是否可以成功解析还与指定的上级DNS服务器的允许策略有关,因此当前仅需了解即可
1)配置系统的双网卡参数。前面讲到,缓冲服务器一般用于企业内网,旨在降低内网用户查询DNS的时间消耗。因此,为了更加贴近真实的网络环境,实现外网查询功能,我们需要在缓冲服务器中再添加一张网卡,并按照表1所示是信息类配置出两台Linux虚拟机系统。而且,还需要在虚拟机添加的网卡设置为桥接模式,然后设置成与物理设备相同的网络参数(此处需要大家按照物理设备真实的网络参数来配置,图1所示为以DHCP方式获取IP地址与网关信息,重启网络服务后效果如图2)
主机名称 操作系统 ip地址
缓冲服务器 RedHat8 网卡(外网):根据物理设备的网络参数进行配置(通过DHCP或手动
方式指定IP地址与网关等信息),网卡(内网)192.168.1.10
客服端 RedHat8 192.168.1.120
(表1)
我使用上面实验中hostserver1作为缓冲服务器,hostserver2作为客服端,缓冲服务器外网我使用DHCP
两者相互ping通
2)在bind服务程序的主配置文件中添加缓存转发参数。在大约17行处添加一行参数 “forwarders { 上级DNS服务器地址;}”,上级DNS服务器地址指的是获取数据配置文件的服务器。考虑到查询速度,稳定性,安全性等因素,我们使用北京市公共DNS服务器的地址210.73.64.1。使用之前,先测试是否能Ping通
从上述图片中我们可知,Client,CacheServer都能Ping通
3)把客服机的DNS服务器地址参数修改为缓冲服务器的内网IP地址192.168.1.10,客户端即可使用本地DNS缓冲服务器提供的域名查询解析服务
缓冲DNS至此成功
实验准备如下
主机名称 操作系统 IP地址
DNS服务器 RedHat8 北京网络:122.71.115.10;美国网络 106.185.25.10
国内读者 Windows2003 122.71.115.21,gateway:122.71.115.10;dns:122.71.115.10
国外读者 windows2003 106.185.25.21,gateway:106.185.25.10;dns:106.185.25.10
分离解析技术实验图如下
配置DNS服务机如下
删除其他DNS服务地址,只保留设置的DNS服务地址
1)修改bind服务程序的主配置文件,将监听端口所在行与允许查询主机修改为any,删除根域信息,因为配置的DNS分离解析功能与DNS根服务器配置参数有冲突
2)编辑区域配置文件。把区域配置文件中原有的数据清空,然后按照以下格式写入参数。首先使用acl参数分别定义两个变量名称china,american。当下面需要匹配IP地址时只需写入变量名称即可。这样不仅容易阅读识别,而且也利于修改维护。这里的难点是理解view 参数的作用(它的作用是通过判断用户的IP地址是中国还是美国,然后分别去加载不同的数据配置文件(SongWei.com.china或SongWei.com.american)。这样,当把相应的IP地址分别写入到数据配置文件后,即可实现DNS的分离解析功能。这样一来,当中国的用户访问SongWei.com域名时,便会按照SongWei.com.china数据配置文件内的IP地址找到相应的服务器
3)建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数一致
上图中 ns 122.71.115.10对应DNS服务(国内),122.71.115.10对应北京机房
上图中 ns 106.185.25.10对应DNS服务(国内),106.185.25.15对应美国机房
4)重启named服务程序,验证结果。将客服端主机(Windows系统或Linux系统均可)的IP地址分别设置为122.71.115.21,
106.185.25.21.这样,尝试使用nslookup命令解析域名时就能清晰地看到解析结果,如下图
客服机配置
模拟国内用户
模拟国外用户
至此分离解析技术试验成功完成
RedHat8.0上搭建LAMP