BIND 8.2.3安装说明
#tar -zxvf bind-src.tar.gz
包括以下几个目录:bin(全部BIND二进制源代码,包括named),include(BIND代码引用的包含文件的COPY),lib(BIND使用的库的源代码),port(BIND用为为不同的操作系统定制编译设置和编译选项的信息).
编译:
#make stdlinks
#make clean
#make depend
#make all
#make install
BIND9.1.0安装说明
#tar zxvf bind-9.1.0.tar.gz
包括以下子目录:bin(全部BIND二进制源代码,包括named),contrib(一些工具)
,doc(BIND的文档,包括资源手册),lib(BIND使用的库的源代码),make(makefile文件).
运行配置和编译
#./configure
(如果你不想使用线程,使用下面命令:
#./configure
disable-threads)
编译BIND,输入:
#make all
安装BIND
#make install
RPM安装(我个人比较喜欢这个,简单)
rpm -ivh bind-****.rpm
安装BIND的RPM包。
rpm -ql bind|More
列出该软件包的所有文件和位置。
配置文件一般在/etc/named.conf
数据库文件一般在/var/named下
概念:
域(domain)就是域名空间中的一棵子树。看好了是子树,也就是树的分枝。域的名字也就是这棵子树的顶端节点的域名。
[img:ebc6221fd9]http://www.analysys.com.cn/images/fcp/dns2-1.jpg[/img:ebc6221fd9]
[img:ebc6221fd9]http://www.analysys.com.cn/images/fcp/dns2-2.jpg[/img:ebc6221fd9]
[img:ebc6221fd9]http://www.analysys.com.cn/images/fcp/dns2-3.jpg[/img:ebc6221fd9]
授权:
(图3)以second.gogo.com域为例,他交由用户BBB来管理,而gogo.com域由用户AAA来管理, second.gogo.com域管理员BBB必须向AAA申请,而父域gogo.com域到时候只保留指向second域的指针,到时候有解析 second.gogo.com域下的主机时,将查询者指向second.gogo.com那里。如果没有得到申请,既使你建立好second域的所有配置文件,但因为上一级域控制器(gogo.com)没有指向你的指针,到时候的查询到gogo.com时就结束返回没有查到主机名。
名字服务器(name server)
存储关于域名空间的信息的程序叫估名字服务器。名字服务器通常含有域名空间中某一部分的完整信息,我们称为区(zone).区的内容是从文件或其他名字服务器中加载而来的。这时我们称名字服务器(name server)对这个区(zone)具有权威(authority)。一个名字服务器也可以同时对多个区具有权威。
所有的顶级域名,以及许多二级域名和更低级别的域名,通过授权被分成了更小也更好管理的单元,这些单元称为区(zone)
myhome.com域被分成许多区
有first,second的授权子域。每个子域又被授权给一组名字服务器。
一个区和一个域可以共享同一个域名,却含有不同的节点。特别地,区不含有任何在已经被授权出去的子域中的节点,也就是说他只含有未被授出去的子域中的节点。(呵呵,有点象绕口令。)
例图3
域myhome.com不仅包括myhome.com中的所有数据,还包括first,second中的数据,而区com只包括com中的数据,这些数据可能主要是指向授权子域的指针,因为myhome.com已经被授权给AAA了,所以区com不含有该域中的任何结点,但只含有指向 myhome.com域的指针而已.
如果域中某个子域没有被授权,那么区就包含这个子域中的域名和数据。
授权子域:
授权就是将你的一部分域的责任分配给另一个人或组织。实际操作是将你子域的权威分配给其他一些名字服务器。
区数据文件:
主名字服务器从本机中加载数据的文件叫区数据文件(zone data file),常称为数据文件或数据库文件。辅名字服务器常常被配置为:将主名字服务器传送过来的区数据备份到本机的数据文件当中。
解析器:
解析器就是访问名字服务器的客户端程序。
根名字服务器:
根名字服务器所有顶级区的权威名字服务器在哪。
递归:
是如果被查询的名称服务器不是所请求的数据的权威,它将不得不向其他名字服务器发出查询以获得答案。它可以向其他名字服务器发送递归查询,从而要求它们找到答案并返回。
反复:
反复中名字服务器只用将它已知的最合适的答案返回给查询者。它本身不需要再有任何其他查询。被查询的名字服务器在它的本地数据中寻找所需数据。如果没有找到答案,它就在本地数据中找出与所要查询的名字服务器最接近的名字服务器的名字和地址,并作为指示返回给查询者,帮助它把解析过程进行下去。
在DNS目前的实现中,采用的是后者,将不断地依照指示进行查询,直到找到结果
缓存:
处理递归查询的名字服务器可能需要要发送好几个查询才能找到结果。不过在这个过程中。它也了解到域名空间的许多信息。每次它得到一些名字服务器列表的指示,它就知道这些名字服务器是哪些区的权威,也就知道这些服务器的地址。当解析过程结束时,它最终找到原来查询所请的数据后,还可以把这些数据保存起来,以备后用。也就是再有查找相同域名的时候,此时名字服务器已将结果放在缓存中,只需要向解析器返回这个结果就行了(IP地址),不用再进行查询。
生存期:
就是名字服务器允许数据在缓存中存放的时间(time to live)TTL。生存期一过,名字服务器必须丢弃缓存中的数据,并从权威名字服务器上获取新的数据。它和缓存的是密切相关的。