? ? ? ? 作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构, 服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)
? ? ? ? 220.17.25.245? ip地址过长而且是数字,不方便记忆
? ? ? ??www.jd.com? ? 域名都是有含义的,方便人们记忆
? ? ? ?一个dns服务器只管自己范围内的解析
www.baidu.com.? ? ? ?从左往右
主机名 .子域 .二级域.顶级域 根域
.? :根域
.com:顶级域? 一级域。代表一种类型的组织机构或者国家地区,如:.net(网络供应商).com(工商企业).org(团体组织).edu(教育机构).gov(政府部门).cn(中国国家域名)
.baidu : 二级域。用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,顶级域名下面设置的是二级域名,如:.com.cn.net.cn.edu.cn
www:主机名
根的dns服务器只能解析? ? ? ? ? ? ? 主机名+根域
顶级域的dns服务器只能解析? ? ? ?主机名+顶级域+根域
二级域的dns服务器只能解析? ? ? ?主机名+二级域+一级域+根域
我要访问www.baidu.com. 服务器
第一步:先看我本机的host文件,如果有直接访问如果没有就要去找你设置缓存dns服务器
第二步:如果缓存服务器没有,直接反馈结果(递归),如果没有就需要迭代查询,直接去找根域服务器
第三步:由于根域服务器只能解析根无法解析www.baidu.com 但是根域服务器会让你去找一级域服务器
第四步:一级域发现自己也解不了,让你去找二级域
第五步:二级域发现这台服务器在自己的管理范围内,直接反馈结果给缓存服务器
第六步:缓存服务器再发给客户
迭代查询:不给结果只给相关信息,需要自己动手
递归查询:直接反馈结果,不需要自己动手
输入www.baidu.com 打开网页——>dns域名解析(浏览器要和哪个服务器的哪个接口建立连接)——>浏览器与域名地址建立tcp连接(三次握手)——>http访问——>断开tcp连接(四次挥手)
DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns
bind:服务器
bind-libs:相关库
bind-utils: 客户端
bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/
named:服务名称
主配置文件:/etc/named.conf
主服务器
从服务区