Linux—DNS服务器及搭建

一、DNS域名解析服务器

1.介绍
DNS是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。

DNS系统使用的是网络的查询,那么自然需要有监听的port,DNS使用的是53端口,在/etc/services(搜索domain)这个文件中能看到。通常DNS是以UDP这个较快的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次以TCP这个协议来重新查询。所以启动DNS时,会同时启动TCP以及UDP的port53.

2 域名服务器的类型划分

Linux—DNS服务器及搭建_第1张图片

3.DNS域名解析的过程

Linux—DNS服务器及搭建_第2张图片

1.在浏览器中输入www.qq.com域名,浏览器缓存,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析

2.如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析

3.如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性

4.如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性

5.如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发送至13台根DNS,根DNS服务器收到请求后判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到这个地址后,如果自己无法解析,它就会找一个管理qq.com的DNS服务器给本地的DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com

5.如果用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环,找到最后把结果返回到本地DNS服务器,由此DNS服务器再次返回给客户机。

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查询。

二、搭建DNS服务器

提供DNS服务的软件叫bind,服务名是named

[root@server ~]# yum install bind -y
[root@server ~]# systemctl restart named

1.常见正解文件 RR 信息

domain      IN    RRtype       RRdata
主机名		IN		A			IPv4
主机名		IN		A			IPv6
域名.		IN		NS			管理该域名的服务器主机名
域名.		IN		SOA起始授权记录			管理这个域名的七个重要参数
域名.		IN		MX			顺序数字		接收邮件的服务器主机名
主机别名.	IN		CNAME		实际代表这个主机别名的主机名
...
CNAME:设置某主机名的别名,当一个IP是给很多主机名使用时,只要给一个主机名设置A,其他都用CNAME,则当IP更改时,只要修改A
MX:查询某域名的邮件服务器主机名,设定MX服务器时,必须有A标志

SOA主要是与区域有关,所以domain要写域名。而SOA后面会接七个参数,这七个参数的意义如下:

1)Master DNS服务器主机名:这个区域主要是哪台DNS作为Master的意思。
2)管理员的Email,发生问题可以联系这个管理员,由于@在数据库文件中有特殊含义,所以将用“.”代替@
3)序号(serial),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改了数据库内容时,需要将这个数值放大。
4)更新频率(refresh)定义slave多久向master要求数据更新。1D
5)失败重新尝试时间(Retry),如果slave无法对Master实现连接,那么在多长时间内,slave会尝试重新连接Master 1H
6)失效时间(Expire),如果一直尝试失败,持续连接到达这个设置值时限,那么slave将不再继续尝试连接,并且尝试删除这份下载的zone file信息
7)缓存时间,如果这个数据库zone file中,每条记录都没有写到TTL缓存时间的话,那么就以这个SOA的设置值为主,ttl的意思是当这个记录被其他DNS服务器查询到后,这个记录会在对方DNS服务器的缓存中,保持多久时间。如果写了$TTL,则以该值为准。

1.DNS的正向解析

1.安装bind软件包,查看需要修改的配置文件所在路径
  
Linux—DNS服务器及搭建_第3张图片

2、修改主配置文件

Linux—DNS服务器及搭建_第4张图片

3、修改区域配置文件,添加正向区域配置

Linux—DNS服务器及搭建_第5张图片

4、配置正向区域数据文件(先复制数据配置文件,再修改复制的文件)

Linux—DNS服务器及搭建_第6张图片

Linux—DNS服务器及搭建_第7张图片

Linux—DNS服务器及搭建_第8张图片

5、启动服务,关闭防火墙

6、在/etc/resolv.conf中修改域名地址

Linux—DNS服务器及搭建_第9张图片

7、DNS域名解析测试

Linux—DNS服务器及搭建_第10张图片

2. DNS反向解析

1、修改/etc/named.rfc1912.zones配置文件,添加反向区域配置

Linux—DNS服务器及搭建_第11张图片

2、复制并配置反向区域数据文件

在这里插入图片描述
Linux—DNS服务器及搭建_第12张图片

3、在客户端的域名解析配置文件中添加DNS服务器地址

Linux—DNS服务器及搭建_第13张图片

4、重启服务后进行解析测试

Linux—DNS服务器及搭建_第14张图片

3.配置主从DNS服务器

1、修改主域名服务器的区域配置文件,修改正、反向区域配置  
  
Linux—DNS服务器及搭建_第15张图片

2、添加从服务器的ip地址(将从服务器的Ip也添加进去)

Linux—DNS服务器及搭建_第16张图片
在这里插入图片描述

3.修改从域名服务器的主配置文件(开启新的服务器)

Linux—DNS服务器及搭建_第17张图片

4 、修改从域名服务器的区域配置文件

Linux—DNS服务器及搭建_第18张图片

5、添加主服务器的ip地址(将主服务器的Ip也添加进去)

Linux—DNS服务器及搭建_第19张图片

6、在从服务中查看是否自动生成了区域资源配置文件(前提是关闭防火墙,开启服务)

在这里插入图片描述

7、在从服务中进行域名解析测试(正反解析)

Linux—DNS服务器及搭建_第20张图片

8、在主服务中进行域名解析测试(并模拟主服务故障后,从服务能否正常运行)

Linux—DNS服务器及搭建_第21张图片

你可能感兴趣的:(服务器,linux,运维)