DNS
DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)
根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本
- 一级域名:Top Level Domain: tld
- 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
- com, edu, mil, gov, net, org, int,arpa
- 二级域名:magedu.com
- 三级域名:study.magedu.com
- 最多可达到127级域名
ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理
DNS服务器类型
- 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率, 但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。
- 主域名服务器:管理和维护所负责解析的域内解析库的服务器
- 从域名服务器 从主服务器或从服务器"复制"(区域传输)解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
过期时长:从服务器联系不到主服务器时,多久后停止服务
通知机制:主服务器解析库发生变化时,会主动通知从服务器
DNS查询类型及原理
查询方式
-
递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
-
迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)
查询原理过程
正向解析查询过程:
1 先查本机的缓存记录
2 查询hosts文件
3 查询dns域名服务器,交给dns域名服务器处理 以上过程称为递归查询:我要一个答案你直接会给我结果
4 这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步
5 求助根域服务器,根域服务器返回可能会知道结果的一级域服务器,让他去找一级域服务器
6 求助一级域服务器,一级域服务器返回可能会知道结果的二级域服务器让他去找二级域服务器
7 求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
8 本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
DNS的分布式互联网解析库
正向解析
各种资源记录
区域解析库:由众多资源记录RR(Resource Record)组成
记录类型:A , AAAA, PTR , SOA , NS , CNAME, MX
- SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
- A(internet Address):作用,域名解析成IP地址
- AAAA(FQDN): --> IPV6
- PTR(PoinTeR):反向解析,ip地址解析成域名
- NS(Name Server):,专用于标明当前区域的DNS服务器,服务器类型为域名服务器
- CNAME : Canonical Name,别名记录
- MX(Mail eXchanger)邮件交换器
- TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等
安装配置实操
下载安装bind文件,关闭防火墙进行后续操作
cd到etc下的文件夹查询对应软件,编辑named.conf文件
wq保存退出,接下来修改named.rfc1912.zones文件
wq保存退出后cd到var/named的文件下,复制local的文件作为自定义网站的文件模板进行编辑
wq保存退出之后检查有效性,首先修改网卡DNS为当前主机地址然后重启
接下来开启程序systemctl start named
反向解析
和正向相似,在named.rfc1912文件下添加一段命令之后重新创建一个zones文件,将类型A换成PTR
主从复制
首先需要两台服务器,以我自己的192.168.222.100和192.168.222.200为例
进入etc下的named.conf文件修改两个any
修改etc下的named.rfc1912文件
复制一份named.localhost作为模板进行修改
对网卡配置进行修改,然后重启网卡和启动named程序 接下来对第二台从服务器进行修改 同上,对named.conf文件进行修改两个any
接下来修改从服务器的rfc文件
此时自动在slave文件夹下生成主服务器的文件
修改主服务器的配置,双方重启后从也会变更