一、 DNS解析过程
以解析www.baidu.com域名为例。当系统需要调用www.baidu.com的主机的资料时,发送一个查询www.baidu.com的域名的指令。
(1) 系统存在一个hosts文件,可以用来解析域名。在系统中,可以定义查找域名的顺序:先查找hosts文件,还是先查找DNS服务器。一般设置先查找hosts文件,如果在hosts文件中发现www.baidu.com的记录,则直接返回结果。
(2) 如果hosts文件中没有发现记录,则把查询指令转发到系统中指定的域名服务器,进行DNS查询。
(3) 域名服务器在自己的缓存中查找相应的域名记录,如果存在该记录,则返回结果;否则,把这个查询指令转发到根域名服务器。
(4) 在根域名服务器的记录中,根据递归查询的规则,只能返回顶级域名com,并且把能够解析com的域名服务器的地址告诉客户机。
(5) 客户机根据返回的信息,继续向com域名服务器发送递归请求,收到请求的、能够正确返回baidu.com域名信息的域名服务器,在把相关的信息返回给客户机。
(6) 客户机再次向baidu.com的域名服务器发送递归请求,收到请求的服务器再次进行解析;该服务器已经能够把www.baidu.com域名完全解析到一个IP地址,并把这个IP地址返回。
二、 Linux下DNS服务器的配置
Linux系统上通用的域名解析软件是BIND,除此之外,Linux系统中还有两个与DNS解析相关的文件。
(1) 两个与DNS解析相关的文件(./etc/resolv.conf 和./etc/host.conf)
./etc/reolv.conf该文件指定系统中DNS服务器的IP地址和一些相关信息。格式一般如下:
Search www.baidu.com
nameserver 192.168.1.1
nameserver 192.168.1.154
第一行指定位置该计算机的域时,默认属于指定的域。
第二行和第三行指定系统用于查找域名的域名服务器的IP地址。可以为系统指定多个域名服务器。当系统进行域名查询时,首先查找第一台域名服务器,如果第一台域名服务器没有响应,则查找第二台域名服务器,以此类推。
./etc/host.conf该文件进行域名解析时查找host文件和DNS服务器的顺序。一般格式如下:
orderhost,bind
(2) bind配置: 请参考其他配置说明
bind中存在两个与域名解析相关的文件在/var/named目录下(named.ca 、named.local等)
注意:
记得配置dnsserver服务器中的DNS服务