一、DNS介绍
1.DNS简介
DNS,全称 Domain Name System,域名系统。
DNS是将域名解析成IP地址,然后找到IP对应的主机或者服务器。我们平常上网查找资料的时候,总是在浏览器的搜索栏输入 www.baidu.com ,当出现百度一下的界面,我们就进行搜索,实际上,在输入 www.baidu.com 按下回车键的时候,就已经开始了域名解析的过程,最后解析成一个ip地址,然后找到ip对应的百度的服务器,将页面呈现。
我们可以在windows系统或者Linux系统中 ping 一下www.baidu.com 来看看。
![在这里插入图片描述](https://img-blog.csdnimg.cn/22620f194ef94c9caf8196ba89362809.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/469d3004d0dd4672b914fcf485468716.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/688bb58fd245449ebc69e632f6c374b1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
2.DNS工作原理
DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS分布式系统结构:
![在这里插入图片描述](https://img-blog.csdnimg.cn/3413574e055e40f795a34554ae5488df.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
DNS分为两种解析方式:
- 正向解析:将域名解析成IP地址
- 逆向解析:将IP地址解析成域名
我们通常使用的都是正向解析,即将域名www.baidu.com输入浏览器,然后解析成IP地址,进行访问。
DNS递归查询和迭代查询,简单的来说:
- 递归查询:就是主机发送DNS请求给本地的DNS服务器,本地服务器有记录,就直接回给主机;若没有,本地的DNS服务器就会以DNS客户端的身份向根服务器发送请求,根没有,就像其他顶级服务器查询,直到查到结果,返还给本地DNS服务器,然后交由本地服务器发给主机,整个过程中,主机只和本地服务器建立连接。
- 迭代查询:主机发送请求给本地服务器,若本地没有,则返回一个可以进行查询的其他的服务器的列表,然后主机再向列表中的服务器进行请求,直至查出,返回给主机。整个过程,主机不知建立和本地服务器的连接,还会和其他的服务器进行连接。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9a0b3fb8bfd54b2d90c4cf10a00ead0f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_18,color_FFFFFF,t_70,g_se,x_16)
3.DNS的资源记录
记录类型:A,AAAA,PTR,SOA,NS,CNAME,MX
-
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
-
A:域名解析成IP地址
-
AAAA:IPV6
-
PTR:反向解析,ip地址解析成域名
-
NS:专用于标明当前区域的DNS服务器,服务器类型为域名服务器
-
CNAME:别名记录
-
MX:邮件交换器
SOA记录与NS记录的区别:NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间等信息。
二、实验
1.DNS正向解析实验
-
首先开启两台虚拟机
![在这里插入图片描述](https://img-blog.csdnimg.cn/2b738b771cd945f9a1bf2e6d8d2d521b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_19,color_FFFFFF,t_70,g_se,x_16)
-
服务器端下载bind和bind-utils,这是dns的服务软件(yum install -y bind bind-utils)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a938e94b66134b61bdf787a10b6f7364.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0fbfa830ef4b46379b1f28c67f1e1340.png)
-
查看配置文件位置(rpm -qc bind)
![在这里插入图片描述](https://img-blog.csdnimg.cn/07ab9a8292ac44eb8b49675b6e1bbb10.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
-
修改配置文件
- 编辑 /etc/named.conf 文件
- 编辑 /etc/named.rfc1912.zones 文件
- 进入 /var/named 目录,新建一个 yyh.com.zone 文件,这个名字熟悉吧,就是1912文件中 file 的参数
![在这里插入图片描述](https://img-blog.csdnimg.cn/747ad2b48b61482fa4a84367bd7fcf60.png)
-
编辑网卡文件(vim /etc/sysconfig/network-scripts/ifcfg-ens33)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9e817e6738fb4514a44845ecefd962ca.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_17,color_FFFFFF,t_70,g_se,x_16)
-
重启network和named服务(systemctl restart network && systemctl restart named)
(注:先关闭防火墙(systemctl stop firewalld && setenforce 0))
![在这里插入图片描述](https://img-blog.csdnimg.cn/a68328cef3054122bf28214d849f7eae.png)
-
使用客户端测试
![在这里插入图片描述](https://img-blog.csdnimg.cn/5fc640342e574924b385a93b23b8df7c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7af4e6afc26d4862a75ddf4adcc870a8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
2.反向解析
具体步骤和正向解析一样的,只是将 /etc/named.rfc1912.zone 和 /var/named/yyh.com.zone 文件修改一下就行,我就只上图了,不做过多解释。
![在这里插入图片描述](https://img-blog.csdnimg.cn/a1f965b470604bb5b522468ac0b3c2e9.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7db6ebdda81846d2b1ce8b0eee0af760.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2e1a481334dc4ee990c6923c791be1b7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/43f11f3c915341508085c7cf58d66e8a.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/5c79384371b342979eaa1ab8c0e64156.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA5b-15Y675q6H,size_20,color_FFFFFF,t_70,g_se,x_16)
3.主从服务器配置
这时,我们需要再建一台虚拟机,做dns备份服务器。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5589eeac79734db994e3f532db601bde.png)
如图,7-1 和 7-2 都要安装bind 和 bind-utils
主服务器,即7-1上的配置不用动
从服务器配置:
- 修改 /etc/named.conf 文件
- 修改 /etc/named.rfc1912.zone 文件
- 从服务器从重启服务,查看 /etc/named/slaves目录下的文件
- 测试
- 将7-4客户端网卡配置更改,dns1为主服务器,dns2为从服务器
- 测试1(主从都没down)
- 测试2(主down)
![在这里插入图片描述](https://img-blog.csdnimg.cn/28577a0dfe5f4e8c9cd325b6f7636935.png)
三、总结
- 每次首先要干的务必关掉防火墙(systemctl stop firewalld && setenforce 0)
- 每次修改完配置文件,务必重启相关服务
- 一定要细心,配置文件中错一点,服务都跑不起来
- 网卡配置文件中的dns地址务必填写正确