一、DNS基础(域名系统)
- DNS:是因特网的一项核心服务,它可以将域名转换为对应的IP地址,以方便访问互联网。域名和IP地址是分布式存放的。
- 域名解析:就是将用户提出的名字变换成网络地址的过程,从概念上讲,域名解析是一个自上而下的过程。
1、DNS作用
- 域名与IP地址之间的对应关系
- 采用树状分层结构组织管理计算机

(1)根域名
- 主要用来管理互联网的主目录。
- 全球共有13台根逻辑域名服务器。这13台逻辑根域名服务器中名字分别为“A”至“M”。
- 在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如.com, .cn 等)的解析的域名服务器的地址信息。
(2)顶级域名
顶级域名又分为三类:
- 国家和地区顶级域名(ccTLDs),200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是cn,日本是jp等;
- 国际顶级域名(gTLDs),表示工商企业的 .com,表示网络提供商的 .net,表示非盈利组织的 .org等。
- 新顶级域名(New gTLDs)如. info、.biz、.mobi、.tel、.asia等。
(3)二级域名
顶级域下面是二级域,是正式注册给组织和个人的唯一名称,例如:163.com。
(4)子域名(三级域名)
在二级域之下,组织机构还可以划分子域。如:www.163.com,bbs.163.com,mail.163.com等。
2、域名服务器
DNS 是由解析器和域名服务器组成的。域名服务器是指保存有该网络所有主机的域名和对应IP地址,具有将域名转换为IP地址功能的服务器。
- 域名必须对应一个IP地址(对应多个IP),而IP地址不一定有域名。
- 将域名映射为IP地址的过程就称为“域名解析”。
- 域名系统采用类似目录树的等级结构。
- 每一个域都有一个域名(Domain Name),域名由点(.)分隔的标号序列表示。如www.163 .com
DNS定义了两种类型服务器:
- 主服务器(primary server)
负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。 - 辅助服务器(secondary server)
辅助域名服务器作为主域名服务器的备份,在这个区域的主服务器停止响应的情况下为客户提供域名解析服务。辅助域名服务器中的数据是从主域名服务器中复制过来的,是不可以修改的。
3、资源记录(RRs)
是指每个域所包含的与之相关的资源。例如,每个RR都包括这个域的所属(RR是从哪个域名中得到的),类型(什么样的资源存在于这个RR中)。DNS中常见的记录有以下七种:
- A记录:用来指定主机名(或域名)对应的IP地址记录
- PTR记录:指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名。
- CNAME记录:别名记录,允许将多个名字映射到一台计算机。
- NS记录:域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
- SOA记录:起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主服务器。
- MX记录:邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。
- SRV记录:服务器资源记录,作用是说明一个服务器能够提供什么样的服务。
例:资源记录MX的作用是( 定义域邮件服务器地址和优先级 ),DNS资源记录( PTR )定义了区域的反向搜索。
4、域名查询
(1)递归查询
在该模式下本地DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果本地DNS 服务器没有存储所查询DNS 信息,那么该服务器就根据它的配置向域名树中的上级服务器进行查询,如果返回的是其它服务器的IP地址,则向这些服务器进一步查询,直到查到或返回错误信息,并将返回的查询结果提交给客户机。
(2)迭代查询
本地DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果。

当用户在浏览器中输入www.163.com域名并按下回车键后:
① 浏览器检查缓存中有没有这个域名对应的解析过的IP地址,如果有,这个解析过程就将结束。域名被缓存的时间限制可以通过TTL属性来设置。
② 如果浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。在C:\Windows\System32\drivers\etc\hosts文件中。
③ 如果在本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名。在网络配置中有”DNS服务器地址”项,操作系统会把这个域名发送给这里设置的LDNS,也就是本地域名服务器。
④ 如果LDNS仍然没有命中,就直接到Root Server域名服务器请求解析。
⑤ 根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如 .com、.cn、.org等,全球只有13台。
⑥ 本地域名服务器再向上一步返回的gTLD服务器发送请求。
⑦ 接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是你注册的域名服务器。
⑧ Name Server域名服务器会查询存储的域名和IP的映射关系表,正常情况下能根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器。
⑨ 返回该域名对应的IP和TTL值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。
⑩ 把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。


例:在进行域名解析过程中,当主域名服务器查找不到IP地址时,由( 转发域名服务器 )负责域名解析。
二、Linux下的DNS服务器架设-BIND
在Linux操作系统中,用三种工具可以完成主机名到IP地址的映射:
- 文本文件
- NIS(网络信息服务器)
- DNS服务器
通过设置/etc/hosts.conf 可以设置域名解析的顺序,其格式是:“Order hosts ,NIS,DNS”,哪一个顺序在前就先使用哪个。
通常将DNS服务器的IP地址及多个DNS服务器的解析顺序存放在/etc/resolv.conf文件中。
文本文件法:在Linux中可以将经常访问的主机的名字与IP地址的对应关系放在/etc/hosts文件中。
在Linux操作系统中,常用于构架DNS服务器的软件是BIND,其守候进程是named。
三、Windows Server 2008 DNS服务器配置