1.dns服务器的工作原理:

DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名和域名....

如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。

如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程,如下图所示。

    

为了使 DNS 服务器正确执行,首先需要在DNS 域名空间内存放其他DNS服务器的一些有用的联系信息。该信息以根线索的形式提供,它是记录初步资源的一个列表,可用来定位一些 DNS 服务器,这些服务器对 DNS 域名空间树的根具有绝对控制权。根服务器对 DNS 域名空间树中的根域和顶级域具有绝对控制权。DNS 服务器可通过使用根线索搜索根服务器来完成递归过程。

例如,当客户机查询单个DNS服务器时,考虑使用递归过程来定位名称 host.example.microsoft.com。此过程在 DNS 服务器和客户机首次启动,并且没有可帮助解析名称查询的当地缓存信息时进行。

首先,首选服务器分析全名并确定对于顶级域com具有绝对控制权的服务器的位置。随后,对com DNS 服务器使用迭代查询,以获取microsoft.com服务器的参考信息。然后参考性应答从microsoft.com服务器传送到example.microsoft.com的 DNS 服务器。最后,与服务器 example.microsoft.com 联系上。因为该服务器包括作为其配置区域一部分的查询名称,所以,它向启动递归的源服务器作出权威性的应答。当源服务器接收到表明已获得对请求查询的权威性应答的响应时,它将此应答转发给发出请求的客户机,这样,递归查询过程就完成了。

2.先了解几个目录:

/var/named/chroot   (dns根目录)

/var/named/chroot/etc/  (dns服务器的配置文件)
/var/named/chroot/var/named/ (区域文件)

3.要做的准备工作:

先安装dns服务组件

cd /mnt/cdrom/Server
rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm

cd   /var/named/chroot/etc

cp -p  named.caching-nameserver.conf  named.conf
vim named.conf

启动服务 :service  named  start

4. 案例:

有一家公司,拥有两家子公司,一个是北京公司,一个是上海公司,总公司和北京公司由同一个dns服务器管理,由于上海离总公司比较远,需要另外一台dns服务器。看以下拓扑图:

 5.配置:

(1)编辑 vim /var/named/chroot/etc/named.rfc1912.zones ,在里面加上总公司这个父域b.com,还有北京公司这个子域bj.b.com.

(2)接着产生两个数据库:一个是总公司的b.com.db,还一个就是北京公司的bj.b.com.db

     cd  /var/named/chroot/var/named/

     cp –p  localhost.zone  b.com.db

     vim b.com.db

  

cp  -p  b.com.db   bj.b.com.db

vim  bj.b.com.db

(3)下面来完成对上海子公司的授权问题:

  vim b.com.db

执行rndc  reload 重新启动一下。

(4)下面在上海子公司创建一个dns域。

 

(5)下面用一台pc机检测是否能查到各公司域名:

完成解析。