本文共 4099 字,大约阅读时间需要 13 分钟。
1.什么是DNS
DNS:(Domain Name Service)域名服务,是一种组织成层次结构的计算机和网络服务命名系统,用于实现名称解析(hostname<-->IP)。其中通过计算机名解析出ip地址的叫做正向解析,通过ip地址解析出计算机名的叫做反向解析。DNS采用C/S架构,服务监听在主机的TCP/UDP的53号端口。传输层协议UDP用于域名解析;TCP用于区域传送本地名称解析文件:hosts(主机有限时候可用)/etc/hosts%WINDOWS%/system32/drivers/etc/hosts2.dns架构
一个典型的DNS服务包含4个部分,如下图所示:
1、DNS域名称空间:它指定用于组织名称的域的层次结构2、资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。3、DNS服务器:它存储和应答资源记录的名称查询4、DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型。 根域:root domain,整个名称空间,由一个“.”表示。全球有13组DNS根服务器一级域(顶级域):top-level domain组织域:.com, .org, .net, .mil, .edu, .gov国家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir反向域:.in-addr.arpa二级域:公司、组织、个人使用;如.sohu,.amazon主机:如www,mail,主机名是我们自己定义的用户主机要访问地址为www.XXX.com的主机6,解析步骤:
1、DNS域1、用户的解析请求发给了A(这正是用户主机配置的网络属性中的DNS指向);
2、A当然还不知道www.XXX.com对应的IP,于是向根发请求;根看到名称最后是com,于是返回A的是com对应的服务器的IP; 3、A根据IP找到一级域com的服务器;com看到域名是XXX,于是根据记录,返回A的是服务器B的IP; 4、A根据IP找到服务器B;服务器B看到要访问的是主机www,于是根据记录,返回A的是主机www的IP; 5、A返回给用户主机www.XXX.com的地址; 6、用户主机访问www.XXX.com名称空间:它指定用于组织名称的域的层次结构2、资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。3、DNS服务器:它存储和应答资源记录的名称查询4、DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型。(1)递归查询:客户端得到结果要么成功,要么失败。(本地客户端和DNS服务直接交互,被请求的DNS服务器必须给出最终答案)
(2)迭代查询:服务器以相关参考性应答返回本地DNS。(DNS服务与DNS服务交互,得到的是参考答案)
(3)根提示功能一般情况下,DNS服务器之间的查询方式都是迭代查询。如上图所示,如果要查询www.microsoft.com(microsoft.com域不是本地DNS负责的区域),那么本地DNS就需要向外迭代查询(迭代查询从根域开始,如此,本地DNS就必须知道根域的IP地址)。根提示的功能可以让本地DNS服务器查询根域DNS服务器。3.dns解析正向解析:FQDN --> IP,一个名称可以对应多个ip反向解析:IP --> FQDN,一个ip也可对应多个名称正向解析和反向解析分别使用一个解析库在Linux系统中,DNS的名称解析库通常是一个文本文件(只能包含资源记录和宏定义),通常保存在/var/named/目录下。其中文本文件的每一行称作一个资源记录。每一个名称解析库称作”区域(zone)“说明:区域(zone)与域之间的差异区域zone是一个物理概念,一个区域就是一个DNS解析库域是一个逻辑概念,一个域对应一个DNS域名称空间正向解析与反向解析采用的是不同的解析库,一个配置了正向解析库和反向解析库的DNS意味着其包含了两个区域(正向zone和反向zone)4.dns服务器类型
主DNS服务器从DNS服务器缓存服务器:不解析任何区域,但允许递归主从DNS服务器解析库文件同步的过程:区域传送 (单方向传送),基于53/tcp完全区域传送:axfr增量区域传送: ixfr周期性检查 + 通知5.区域解析库
资源记录:rr(resource record) ㈠资源记录类型:表示此记录解析的属性SOA:Start Of Authority, 起始授权记录,一个区域文件只能有一个;NS:Name ServerMX:Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99);A:FQDN --> IP,专用于正向解析库PTR:IP --> FQDN,专用于反向解析库AAAA:FQDN --> IPv6,专用于正向解析库CNAME:Canonical Name,正式名称FQDN: 完全合格域名(full qualified name)㈡资源记录格式:name [ttl] IN RRType value #ttl为DNS缓存时长①SOA:Start Of Authority,任何解析文件的第一个记录的类型必须是SOA且一个区域文件只能有一个 name: 区域名称,通常可以简写为@ value: 主DNS服务器的FQDN,也可以当前区域的区域名称; 例如:@ IN SOA ns.magedu.com. admin.magedu.com.(邮箱) ( serial number #解析库的版本号,例如2014080401;若有配置主从,每次修改解析文件,要更新版本号,以便从服务器同步 refresh time #主从服务器周期性同步的时间间隔 retry time #主服务器未响应从服务器,从服务器的重试时间间隔 expire time #主服务器一直无响应,从服务器解析库的失效时长 negative answer ttl #否定答案(无结果)的统一缓存时长 ) 说明:@表示当前当前定义的区域,按上面的例子,完整地应写为magedu.com. 因@在解析库中有特殊意义,故邮箱地址中不能使用,而用.代替,如上面的admin.magedu.com. ②NS:name server name: 区域名称 value: DNS服务器的FQDN 例如:@ IN NS ns.magedu.com. 注意: 如果有多台NS服务器,每一个都必须有对应的NS记录; 对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录; ③MX:Mail eXchanger name: 区域名称 value: 邮件服务器的FQDN 例如: @ IN MX 10 mail.magedu.com. @ IN MX 20 mail2.magedu.com. 注意: 如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性(0-99) ④A:Address name: FQDN value: IP 例如: www.magedu.com. IN A 1.1.1.1 www.magedu.com. IN A 1.1.1.2 pop3.magedu.com. IN A 1.1.1.3 imap.magedu.com. IN A 1.1.1.3 泛域名解析:将所有匹配不到资源记录的请求都解析到指定ip地址 *.magedu.com. IN A 1.1.1.1 用途: ⑴可以让域名支持无限的子域名; ⑵防止用户错误输入导致的网站不能访问的问题;例如 wwww.magedu.com ⑤AAAA:ipv6 IP ⑥CNAME:Canonical Name name: FQDN value: FQDN 例如: www.magedu.com. IN A 1.1.1.5 web.magedu.com. IN CNAME www.magedu.com. #前者是后者的别名 ⑦PTR:pointer,反向解析 name: 逆向的IP地址加后缀.in-addr.arpa.,例如172.16.100.7,其name为7.100.16.172.in-addr.arpa. value: FQDN 例如: 7.100.16.172.in-addr.arpa. IN PTR www.magedu.com.
转载于:https://blog.51cto.com/12052401/2135260