DNS的定义
定义:
域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。
DNS服务器的分类
1.主DNS服务器
主DNS服务器就是创建了区域的DNS服务器。这里的区域数据是可读可修改的。主DNS服务器中的区域数据也称为正本区域数据。在一个DNS服务网络中,可以建立多个主DNS服务器,这样可以提供DNS服务的容错性.
2.辅助DNS服务器
辅助DNS服务器不创建区域,它的区域数据是从主DNS服务器复制来的,因此,区域数据只能读不能修改,也称为副本区域数据。当启动辅助DNS服务器时,辅助DNS服务器会和建立联系的主DNS服务器联系,并从主DNS服务器中复制数据。辅助DNS服务器在工作时,它会定期地更新副本区域数据,以尽可能地保证副本和正本区域数据的一致性。辅助DNS服务器除了可以从主DNS服务器复制数据外,还可以从其他辅助DNS服务器复制区域数据
在一个区域中设置多个辅助DNS服务器可以提供容错,分担主DNS服务器的负担,同时可以加快DNS解析的速度
3.主控DNS服务器
不论是主DNS服务器还是辅助DNS服务器,如果它向其他辅助DNS服务器提供区域数据的复制服务,就称为DNS服务器是主控DNS服务器。如DNS服务器A向DNS服务器B提供数据复制服务,则A就称为主控DNS服务器
4.高速缓存服务器
高速缓存服务器上不存在任何区域数据,它只帮助DNS客户机向其他DNS服务器进行查询,然后将查询到的数据存储在一份高速缓存Cache中,响应客户机的查询请求。Cache-Only 服务器只负责查询数据,当客户机查询数据时,如果Cache中存在数据,则Cache可以将结果快速反馈给客户机。
5.DNS转发服务器
DNS转发服务器是一种特殊类型的DNS服务器。在一个DNS网络中,如果客户机向指定的DNS服务器解析的域名不成功,DNS服务器就可以将客户机的解析请求发送给一台DNS转发服务器,顾名思义,DNS转发服务器就是将域名请求转发给其他DNS服务器。
权威名称服务器
(权威dns:直接有客户需要的答案,客户给一个域名直接就能访问)
存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据
权威名称服务器的类型包括:
Master : 包含原始区域数据,有时称作 “主要 ”名称服务器。
Slave : 备份服务器 ,通过区域传送从 Master 服务器获得的区域数据的副本,有时称作 “次要 ”名称服务器。
非权威 / 递归名称服务器
(非权威dns里面直接没有客户需要的答案,但它会通过问114.114.114.114等权威DNS找到答案给用户(相当于代购))
客户端通过其查找来自权威名称服务器的数据
递归名称服务器的类型包括:
仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性
有关DNS的工作过程,linux基础的博客 “DNS工作过程详解”中已经详细描述,这里不在赘述。
DNS的高速缓存是什么
服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,
将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 可以提高解析速度。
DNS 是个软件 这个服务 一般由运营商提供
内网主机不进行设置时,访问外网,要各自解析 会分享带宽,导致各自解析的速度很慢。
在局域网内,一般设置一台主机为共享DNS服务器,它负责存储转换对应关系表,其它主机从它那拿对应关系(ip的域名),共享主机也是从运营商拿的。
内网主机相互访问快,因为直连,不需要地址转换。
dns—>代购(香港) 地址解析的搬运工 从运营商取对应关系表
DNS的安装部署
实验环境:能 上网的虚拟机desktop (通过真机) 和虚拟机server
desktop能ping通虚拟机server 它俩属于同一个内网主机
实验步骤:
在deskop上
yum search dns
yum install bind -y
systemctl start named 启动不起来时 手动编辑打开的新shell
sysetmctl enable named
firewall-cmd --list
firewall-cmd --perment --add-service=dns #也可以不加perment,后面就不需要reload
firewall-cmd --reload
rpm -ql bind
主配置文件 /etc/named.conf
子配置文件 /etc/named.rfc1912.zones
数据目录 /var/named /avr...存放可变数据的目录
netstat -antlupe | grep named 发现不做设置时dns只对本机开放端口53
1.
2.3.4.
对desktop进行设置
vim /etc/named.conf
编辑11 17 18 32行如图所示
systemctl restart named
vim /etc/resolv.conf
nameserver 114.114.114.114
1.
3.4.
测试:
在虚拟机配置
vim /etc/reslov.conf
nameserver 172.5.254.110(desktopip)
此时虚拟机就使用真机进行dns的解析
dig www.qq.com
注意:
虚拟机1执行dig www.qq.com之后 此时为第一次访问百度,应该会慢一些。
当虚拟机2 再设置/etc/resolv.conf为真机之后,再执行dig www.qq.com时,几乎不花费时间,超快。
因为真机已经记录了qq域名和它的ip的对应关系表在它的高速缓存里。
当内网内的其他主机再访问时前面主机已经访问的域名时,直接查它的对应关系表。
dig时的报错
1.dig(域信息搜索器)命令是个用于询问 DNS 域名服务器的灵活的工具。他执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断,因为他灵活性好、易用、输出清楚。
报错及含义:
NOERROR 查询成功
NXDOMAIN DNS 服务器提示不存在这样的域名
SERVFAIL DNS 服务器停机或 DNSSEC 响应验证失败 它也不知道,商店开门但是可能没货
REFUSED DNS 服务器拒绝回答 ( 也许是出于访问控制原因 ) (被拒绝 商店有货不给你卖)
no servers could be reached 主dns未对你开放端口 (商店没开门)
DNS的资源记录
A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的网页服务器(web server)上。同时也可以设置域名的子域名
1.主机记录(A记录) A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上
2.别名记录(CNAME记录) CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录
3.IPv4主机记录(A记录) 用于将特定的主机名映射到一个主机的IPv4地址
4.IPv6主机记录(AAAA记录) 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址
5.服务位置记录(SRV记录) 用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等
6.NAPTR记录 它提供了正则表达式方式去映射一个域名,NAPTR记录非常著名的一个应用是用于ENUM查询
7.PTR IPv4/IPv6 地址至名称
8.MX 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
9.NS 域名的名称服务器
10.SOA " 授权起始 " ,DNS 区域的信息 ( 管理信息 )