目录 DNS原理解析DNS进化史etc/hosts –> NIS –>DNS 后期,人们采用了一种名为NIS的解决方式,实现的方法是把所有ip地址和网络域名之间的对应存放在一个服务器上,每次有主机需要进行域名解析的时候,我们就让该台主机去访问这台名为NIS的服务器,后来随着网络的扩展,互联网上的主机上百亿,这样对NIS服务器的负载极大,NIS不得不退出了历史舞台。 现在,我们使用DNS协议,来实现分布式、阶层式的系统来管理ip地址和域名之间的对应关系。 DNS结构
DNS是以树状目录分阶层的方式来处理主机名,我们知道树状结构的好处就是,父节点只关注他的子节点的内容,而不关注他的孙子节点的内容,这样就在很大程度上实现了分治,根节点只需要管理它的子节点.com .cn .edu等域名和ip地址之间的关系即可,再往下的baidu.com,qq.com域名就完全和他无关了。 DNS查询流程我们以客户端第一次查询百度为例子解释DNS的查询流程 在需要DNS解析的客户端,比如说笔记本,当我们解析www.baidu.con时我们会先进行下面的操作: 1.如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,进入windows下的命令行窗口输入ipconfig/all,即可查到你当前的DNSsever.如图 2.如果本地DNS没有该条记录,那么本地DNS就把请求发至 “根DNS服务器”,“根DNS服务器”收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。基于本例子,根服务器会发送.com服务器ip地址。(对应图中的2、3条信息记录)。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器。(对应途中4、5条信息记录),以此类推下去,直至最后本地DNS得到了www.baidu.com服务器的IP地址 3.最后一步,本地DNS把查询到的记录进行缓存并且将该条记录返回给客户端。对应图中的第10步。 我们把该过程画成流程图则如下所示: DNS服务搭建DNS相关软件的安装我们使用主流的提供DNS服务的软件,bind.下面我们先查询一下该软件的相关信息 服务器搭建规划规划自己搭建的局域网的域名为xiaomi.com。由于我们搭建的DNS是不接上互联网的,所以此处域名是可以随意取得,我就使用xiaomi的域名了。
手把手教你搭建基本DNS服务器搭建主DNS服务器第一步:安装bind软件包,修改/etc/named.conf文件,对全局配置options修改如下: 搭建从DNS服务器步骤较为简单,连正解zone文件都不需要写,你只需要写个zone文件的类似于声明一样的东西,写在主配置文件/etc/named.conf尾部。如下所示 参考文献
|
|