Linux的DNS域名解析服务
1DNS基础
1.1DNS介绍
DNS域名系统 (Domain Name System 缩写为:DNS)是因特网的一项核心服务,它作为可以将 域名 和 IP地址 相互映射的一个分布式数据库,能够使人更加方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
DNS的作用:
正向解析: 根据域名查找对应的IP地址(A记录)
反向解析: 根据IP地址查找对应的域名(反垃圾邮件的验证)(P记录)
分离解析: 同一个dns服务器,同一个域名情况下,不同网段进行访问会解析出不同的IP地址。
2DNS系统服务类型
2.1主域名服务器
- 特定DNS区域的权威服务器,具有唯一性
- 负责维护该区域所有 域名->IP地址 的映射记录
- 需要自行建立所负责区域的地址数据文件
2.2从域名服务器
- 也成辅助域名服务器,是对主域名服务器的热备份
- 其维护的 域名-> IP地址 记录来源于主域名服务器
- 需要从主域名服务器自动同步区域地址数据库
2.3缓存域名服务器
只提供域名解析结构的缓存功能,目的在于提高查询速度和效率,但没有域名数据库,它从某个远程服务器取得每次域名服务器查询的结构,并将它放在高速缓存中,以后查询相同的信息时用它给予相应,缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息,构建缓存域名服务器时,必须设置根域或指定其它DNS服务器作为解析来源。
2.4转发域名服务器
负责所有非本地域名的本地查询,转发域名服务器接到查询请求后,在其缓存中查找,如果找不到就将请求一次转发到指定的域名服务器,直到查看到结果为止,否则返回无法映射的结果
3、DNS使用的协议以及端口号
DHCP使用的是TCP和UDP协议,协议端口号为53
TCP是用来做区域传送,多用于主从同步
UDP是用来做DNS解析的
4域名体系结构
DNS整个结构图是树状结构,最顶层称为根域,用点“ . " 表示,相应服务器称为根服务器,整个域名空间的解析权都归根服务器所有。
根域: 位于树状结构最顶层,用“ . ”表示。
顶级域: 一般代表一种类型的组织机构或国家地区
二级域: 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理。
子域: 二级域下所创建的各级域统称子域,各个组织或用户可以自由申请注册自己的域名。
主机: 主机位于域名空间最下层,就是一台具体的计算机。 域名介绍
顶级域是代表类型的组织或国家地区,二级域属于顶级域之下的域名。
当我们访问一个网址时,有些网址没有顶级域(国家地区),那么它的二级域就会充当顶级域,如果有的网址有顶级域的话,我们访问该网址时,顶级域也可以不用加上,因为顶级域代表的国家地区,我们在国内访问该网址会默认国家地区。
而且有一些网址没有向根域申请顶级域(因为网址范围较小,国内够用),那么在根域上也不会有顶级域的对应关系。自然它的二级域就成为了顶级域。
5两种查询方式
5.1递归查询
递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结构回复客户机,如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其它服务器,并将返回结果提交给客户机。简单说就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
5.2 迭代查询
当客户机发送查询请求时,DNS服务器并不是直接回复查询结构,而是告诉客户机另外一台DNS服务器地址,客户机再向这台DNS服务器提交请求,一次循环直到返回查询的结果为止。客户机的其你去需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供它服务器的弟子,而不会帮你请求查询,这与递归查询相反。
5.3两者区别
- 客户端—>本地DNS服务器,这部分属于 递归查询 ,返回的结果只有两种:查询成功或查询失败。
- 本地DNS服务器—>外网,这部分属于 迭代查询 ,又称作为重指引,返回的是最佳的查询点或主机地址。
6访问百度流程
在原有七层模型基础上,加上DNS解析
1、DNS解析(递归解析方式)
①首先查看本地缓存是否有【域名-IP地址】映射关系,有的话直接使用,没有进行下一步。
②尝试解析/etc/hosts解析文件(DNS解析,本地配置),有的话直接用,没有进行下一步。
③通过/etc/resolv.conf配置文件中指定的DNS服务器(代理服务器)的位置,请求解析www.baidu.com 域名和IP的映射关系。
2、开始进行DNS的迭代解析
①首先DNS服务器接收到请求后,向根域服务器请求解析
②根域服务器返回给DNS服务器后,向顶级域服务器请求解析
③顶级域服务器返回个DNS服务器后,再依次向二级域、子域进行请求解析
④直到将www.baidu.com 这个域名全部解析完成,找到对应的IP映射关系,然后返回给DNS服务器
3、DNS服务器返回给客户端(用户端),此时用户端接收到了www.baidu.com域名与IP的映射关系
①保存在本地的缓存中
②根据请求的协议类型,向百度服务器进行连接(三次握手建立连接)
4、建立连接通道后,根据http/https协议进行传输数据
7正向解析实验
7.1安装bind服务,查看配置文件
7.2全局配置文件配置及文件内容说明
/etc/logrotate.d/named #主配置文件控制系统全局
/etc/named.rfc1912.zones #区域配置文件控制具体单个区域
/var/named/named.loopback #区域数据配置文件 区域信息
进入全局配置文件
7.3进入区域配置文件
7.4区域数据配置文件
将文件复制过来并改名为区域配置文件中名称
设置域名和ip的映射,以及各种主机名所对应的关系
7.5 测试是否可以解析域名
关闭防火墙
进行域名解析
8总结
DNS就是一个域名解析服务
可以正向解析:将域名解析成ip地址
也可以反向解析:将ip地址解析成域名
域名的的结构
根域
顶级域(部分网址没有,因为它代表过家,大型网址向国外请求才会分配到
二级域(当前面的顶级域不存在时,它就是顶级域)
子域
主机名
域名解析过程
主要有递归查找和迭代查找
- 递归查询:客户机只要发出解析的请求,递归查询都会返回一个结果,不管是否能查询到。
地址
也可以反向解析:将ip地址解析成域名
域名的的结构
根域
顶级域(部分网址没有,因为它代表过家,大型网址向国外请求才会分配到
二级域(当前面的顶级域不存在时,它就是顶级域)
子域
主机名
域名解析过程
主要有递归查找和迭代查找
|