1、DNS服务:
DNS:Domain Name service 应用层协议
BIND:Bekerley Internat Name Domain
ISC :www.isc.org
C/S架构的协议,所以由socket工作
udp/53 tcp/53
默认使用的udp
本地名称解析配置文件:hosts
/etc/hosts
%WINDIR%/system32/driver/etc/hosts
93.46.8.89 www.google.com
2、DNS域名
根域
一级域名:Top Level Domain:tld
com, edu, mil, gov, net, org, int, arpa
三类:组织域,国家域(.cn, .ca, .hk, .tw), 反向域
二级域
三级域
最多127级域名
ICANN:互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理,以及根服务器系统的管理
3、DNS域名结构:
4、DNS解析:
DNS查询类型:递归查询,迭代查询
递归:查询者发出一次请求,就能得到结果 ----client
迭代:查询请求发出多次,才能得到结果 ----DNS server
名称服务器:域内负责解析本地内的名称的主机
根服务器:13组服务器。
解析类型:
FQDN --> IP
IP --> FQDN
注意:正反向解析是两个不同的名称空间,是两颗不同的解析树,但也可以用同一服务器器
一次完整的查询请求经过的流程:
Client ---> hosts文件
---> DNS Service Local Cache
--->DNS Server (recursion,递归)
---> Server Cache
----> iteration(迭代)
---> 根
---> 顶级域名DNS
---> 二级域名DNS。。。
解析答案:
肯定答案
否定答案:请求的条目不存在等原因导致无法返回结果
权威答案:
非权威答案 :比如缓存提供的结果,非本域提供的结果
5、DNS服务器类型
DNS服务器的类型:
主DNS服务器
从DNS服务器
缓存DNS 服务器(转发器)
主DNS服务器:管理和维护所负责解析的域内解析库的服务器。由管理员维护的
从DNS 服务器:从主服务器或从服务器“复制”(区域传输) 解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔。
过期时长:从服务器联系不到主服务器时,多久停止服务
通知 机制: 主服务器解析库发生变化时,会主动通知从服务器。yu
如果第一台没相应,才会找第二台,如果第一台解析不到,不会找第二台
6、区域传输:
区域传输:
完全传输:传送整个解析库
增量传输:传递解析库变化的那部分内容
Domain:Fully Qualified Domain Name
正向和反向个需要一个解析库
正向:FQDN ----> IP
反向:IP ---> FQDN
负责本地域名的正向和反响解析库
域:
正向区域
反响区域
7、资源记录:
区域解析库:由众多的RR组成
资源记录: Resource Record , RR
记录类型:A ,AAAA,PTR,SOA,NS,CNAME,MX
SOA:start of authority:起始授权记录,一个区域解析库有且只有一个SOA记录,必须位于解析库的第一条记录
A:internet Address 作用FQDN -->IP
AAAA:FQDN--->IPv6
PTR: PoinTeR, IP--->FQDN
NS: name server 专用于标明当前区域的DNS 服务器
CNAME:Canonical name 别名记录
MX:mail exchanger 邮件交换器
资源记录定义的格式:
语法:name[ TTL ] IN rr-type value
注意:
-
- TTL 可以从全局继承
- @ 可用于引用当前区域的名字
- 同一个名字可以通过多条记录定义多个不同的值,此时DNS服务器会以轮询方式响应
- 同一个值也可能有多个不同的定义名字,通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同名字可以找到同一个主机
- IN:internet
SOA记录:
name: 当前区域的名字,例如 linux.com.
value: 由多部分组成
-
- 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
- 当前区域管理员的邮箱地址,但地址中不能使用@符号,一般用. 替换, admin.linux.com.
- 主从服务区域传输相关定义以及否定的答案的同一的TTL
例如:
linux.com. 86400 IN SOA ns.linux.com. nsadmin.linux.com. (
2019032801; 序列号
2H;刷新时间
10M;重试时间
1W;过期时间
1D;否定答案的TTL 值
)
NS记录:
name: 当前区域的名字
value:当前区域的某DNS服务器的名字,例如:ns.linux.com.
注意:一个区域可以有多个NS 记录
例如:
linux.com. IN NS ns1.linux.com.
linux.com. IN NS ns2.linux.com.
注意:
-
- 相邻的两个资源记录的name相同时,后续的可省略
- 对NS记录而言,任何一个NS记录后面的服务器名字,都应该再后续有一个A记录
MX记录:
name: 当前区域的名字
value:当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,MX记录可有多个,但是每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级,数字越小优先级越高
例如:
linux.com. IN MX 10 mx1.linux.com.
IN MX 20 mx2.linux.com.
注意: 对MX记录,任何一个MX记录后面的服务器名字,都应该有一个A记录
A记录:
name: 某主机的FQDN,例如:www.linux.com.
value: 主机名对那个主机的IP 地址
例如:
轮询解析:
www.linux.com. IN A 1.1.1.1
www.linux.com. IN A 1.1.1.2
通过不同的名字,找到同一个主机:
mx1.linux.com IN A 1.1.1.3
mx2.linux.com IN A 1.1.1.3
注意:
避免用户写错名称给错误答案,可通过泛域名解析进行解析至某特定地址。
*.linux.com. IN A 1.1.1.4
正确,就按照正确的解析
linux.com. IN A 1.1.1.5
AAAA记录
value:IPv6
PTR:
name:IP,有特定格式,把IP地址反过来写,1.2.3.4,要写坐4。3.2.1
而特定后缀:in-addr.arpa.
所以完整写法: 4.3.2.1.in-addr.arpa.
value:FQDN
例如:
4.3.2.1.in-addr.arpa. IN PTR www.linux.com.
如1.2.3为网络地址,可简写:
4 IN PTR www.linux.com.
注意:网络地址及后缀可以省略,主机地址依然需要反着写
CNAME:
name: 别名的FQDN
value:真正名字的FQDN
例如:
www.linux.com. IN CNAME web.linux.com