一、DNS的定义
1、域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。
它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 DNS使用UDP端口53。 当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
2、DNS的作用
当我们在浏览器输入www.baidu.com时,计算机并不知道谁是baidu 计算机只能识别ip,所有我们需要将www.baidu.com这个域名解析为ip才能继续通信 dns就提供了这个解析功能
3、DNS的分类
(1)权威DNS:
权威DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人。
如COM顶级服务器可以授权dns.com这个域名的的权威服务器为NS.ABC.COM。
同时NS.ABC.COM还可以把授权转授给NS.DDD.COM。
这样NS.DDD.COM就成了ABC.COM实际上的权威服务器了。
平时我们解析域名的结果都源自权威DNS。
比如dns.com的权威DNS服务器就是帝恩思的ns1.dns.com ns2.dns.com
权威名称服务器的类型包括:
Master : 包含原始区域数据,有时称作 “主要 ”名称服务器
Slave : 备份服务器,通过区域传送从 Master 服务器获得的区域数据的副本,有时称作 “次要 ”名称服务器
(2)递归DNS(也叫本地DNS):
其核心功能一个是缓存、一个是递归查询。
收到域名查询请求后其首先看本地缓存是否有记录,
如果没有则一级一级的查询根、顶级域、二级域……直到获取到结果然后返回给用户。
日常上网中运营商分配的DNS即这里所说的递归DNS。
//
负责接受用户对任意域名查询,并返回结果给用户。
递归DNS可以缓存结果以避免重复向上查询。
我们平时使用最多的就是这类DNS,他对公众开放服务,一般由网络运营商提供。
递归DNS一定要有可靠的互联网连接方可使用。
比如谷歌的8.8.8.8和8.8.4.4以及114的114.114.114.114和114.114.115.115都属于这一类DNS。
本地电脑上设置的DNS就是这类DNS。
(3)转发DNS:
转发DNS是一种特殊的递归。
如果本地的缓存记录中没有相应域名结果时,
其将查询请求转发给另外一台DNS服务器,由另外一台DNS服务器来完成查询请求。
//
负责接受用户查询,并返回结果给用户。
但这个结果不是按标准的域名解析过程得到的,而是直接把递归DNS的结果转发给用户。
它也具备缓存功能。
他主要使用在没有直接的互联网连接,但可以连接到一个递归DNS那里,这时使用转发DNS就比较合适。
其缺陷是:直接受递归DNS的影响,服务品质较差。
比如我们用的路由器里面的DNS就是这一类,查看本地电脑的DNS一般都是192.168.1.1。
4、DNS的解析过程
比如,一个域名为:abc.com,是想看到这个现HTTP服务,如果要访问网站,就要进行解析。
首先在域名注册商那里通过专门的DNS服务器解析到一个WEB服务器的一个固定IP上:211.214.1.XXX
然后,通过WEB服务器来接收这个域名,把abc.com这个域名映射到这台服务器上。
那么,输入abc.com这个域名就可以实现访问网站内容了。
人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的
它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。
DNS是一种c/s的结构。
客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。
5、DNS解析方式:逐级解析
根域名 :.root 或者 . ,通常是省略的
顶级域名,如 .com,.cn 等
次级域名,如 baidu.com 里的 baidu,这个是用户可以进行注册购买的
主机域名,比如 baike.baidu.com 里的baike,这个是用户可分配的
主机名.次级域名.顶级域名.根域名baike.baidu.com.root
##根域名服务器都在美国,一共有13个
6、DNS记录类型(域名解析规则)
A:地址记录(Address),返回域名指向的IP地址。
NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。
该记录只能设置为域名,不能设置为IP地址。
MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。
PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名,详见下文。
7、DNS解析报错信息
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在
SOA:授权起始主机,SOA给出如图答案意思是没有这样一台主机
8、地址解析命令
host www.baidu.com ##地址解析命令,内容简略!
dig www.baidu.com ##地址详细解析信息命令,内容详细!
dig命令
host命令
二、高速缓存DNS服务器
所谓高速缓存dns就是:
内网内的dns服务器主机(非权威dns)把缓存下来的数据共享给其他内网主机。
只有第一次访问时间较长,访问后就会保存下来,之后内网内使用该dns服务器的主机再次访问就可以直接从缓存里取,速度会非常快