目录
DNS简介
DNS查询类型
服务器类型
DNS解析库
DNS简介
DNS:Domain Name Service,是一种协议,基于C/S架构,监听与udp/53,tcp/53,在网络七层中的应用层协议。
网络中通信时通过IP地址进行通信的,域名只是IP地址的标记,小范围通信中,使用host文件解析配置可以的
由于网络中的站点众多,每天新增的也很多,就出现的IANA,做域名解析
本地名称解析配置文件:hosts
Linux:/etc/hostsWindows:C:\Windows\System32\drivers\etc\hosts域名填写格式:2.2.2.2
为了便于管理进行片区管理,DNS进行导致树状结构来管理
根服务器表示是个点【 . 】互联网访问是可以省略的
其中:com(商业组织)、deu(教育组织)、mil(军事组织)、gov(政府组织)、net(网络组织)、org(非盈利组织)、int(国际性组织)等等,称为顶级域:Top Level Domain 【tld】
从大的地方分为:组织域、国家域(.cn)、反向域
DNS查询类型
递归查询:查询一次,就可以得到最终结果
访问中间人是本地接入网络DNS服务商提供
迭代查询:发送请求,有可能得到的参考请求,需多次请求,才能找到
访问
服务器类型
名称服务器:域内负责解析本域内的名称的主机【如:根服务器:13组服务器】
解析类型:
Name --> IP 【域名--> IP】IP --> Name 【IP --> IP】注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
DNS服务器的类型:
主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库 序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔过期时长:从服务器始终联系不到主服务器时,多久多后放弃从服务器角度,停止提供服务"通知"机制【主服务器一旦发生改变,就会立刻通知从服务器,即便没到同步时间】区域传送: 全量传送:传送整个解析库增量传送:传递解析库变化的那部分内容缓存DNS服务器转发器
DNS解析库
DNS解析
Domain: 正向:FQDN --> IP 、反向: IP --> FQDNFQDN【Full Qualified Domain Name:.】
DNS一次完整的查询请求经过的流程
Client --> hosts文件 --> DNS Service -->Local Cache --> DNS Server (recursion:递归请求) --> Server Cache -->iteration(迭代) --> answer客户端发起请求,本地hosts文件去解析,没有就会发送到DNS Service,DNS Service现在本地缓存中查找,没有去DNS service 查找,先在DNS Service 缓存中查找,没有找到就会迭代请求,给出应答解析答案 肯定答案:正向答案,存在否定答案:请求的条目不存在等原因导致无法返回结果权威答案:从DNS Service中负责的域中的回应非权威答案:从缓存,或各个节点返回的
区域解析库:由众多RR组成:
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MXA:internet Address,作用,FQDN --> IPAAAA: FQDN --> IPv6PTR: PoinTeR,IP --> FQDNSOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录NS: Name Server,专用于标明当前区域的DNS服务器CNAME:Canonical Name,别名记录MX: Mail eXchanger,邮件交换器
资源记录定义的格式:
语法:name [TTL] IN rr_type value注意: TTL可从全局继承@可用于引用当前区域的名字同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已
A:
name: 某主机的FQDN,例如.value: 主机名对应主机的IP地址例如:
. IN A 1.1.1.1
. IN A 1.1.1.2
. IN A 1.1.1.3
. IN A 1.1.1.3注意:
*.. IN A 1.1.1.4
. IN A 1.1.1.4
AAAA:
name: FQDNvalue: IPv6
PTR:
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addra.arpa.value: FQDN例如:
4.3.2.1.in-addr.arpa. IN PTR 简写成:
4 IN PTR .注意:网络地址及后缀可省略;主机地址依然需要反着写
SOA:
name: 当前区域的名字,例如 "."value: 有多部分组成 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字录前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如;主从服务协调属性的定义以及否定的答案的统一的. 86400 IN SOA . . (
042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
NS:
name: 当前区域的名字value:当前区域的某DNS服务器的名字,例如.;注意:一个区域可以有多个NS记录例如:
. IN NS .
. IN NS .注意:相邻的两个资源记录的name相同时,后续的可省对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
CNAME:
name: 别名的FQDNvalue: 正工名字的FQDN例如:
. IN ZHANG
.
子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权
类似根域授权tld
.com.IN NS . .com.IN NS . . IN A 2.2.2.1 . IN A 2.2.2.2
. 在.com的名称服务器上,解析库中添加资源记录:【glue record:粘合记录(上一级授予给下一级)】
. IN NS . . IN NS . . IN NS . . IN A 3.3.3.1 . IN A 3.3.3.2 . IN A 3.3.3.3