网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 工具软件 > 金笛软件 > BIND&DNS内部培训教程  

BIND&DNS内部培训教程

2007-06-21  作者:s00z00y  来源:  点评 投稿 收藏

1、域名系统

网管网www.bitscn.com

域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户,服务器模式在整个网络上均可存取,通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性能。

网管u家u.bitsCN.com

 

网管论坛bbs_bitsCN_com

域名服务器包含数据库的部分段的信息,并可提供被称之为解析器的客户来访问。DNS 的数据库结构形成一个倒立的树状结构,根的名字用空字符串""来表示,但在文本中用"."来书写。树的每一个节点都表示整个分布式数据库中的一个分区(域),每个域可再进一步划分成子分区(域),每个域都有一个标签(LABEL),标明了它与父域的关系。域也有一个域名(domain name),给出它在整个分布式数据库中的位置。在DNS 中,域名全称是一个从该域到根的标签序列,以"."分隔这些标签.该标签最多可包含63 个字符。树中每一节点的完整域名为从该节点到根之间路径上的标签序列。

中国网管联盟bitsCN.com

  网管下载dl.bitscn.com

如果根域在节点的域名中出现,该名字看起来就象以点结尾(实际上是以点和空标签作结尾)。这些以点结尾的域名被称之为绝对域名(Absoulte Domain Name),不以点结尾的域名被称之为相对域名。域(Domains)即为树状域名空间中的一棵子树,域的域名同该子树根节点的域名一样。也就是说,域的名字就是该域中最高层节点的名字。举例来说,zhuhai.gd.cn 域的顶端就是名为zhuhai.gd.cn 的节点。

网管网www_bitscn_com

  网管论坛bbs_bitsCN_com

DNS 中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数量的子域并将这些子域委托给其他组织进行管理,域既能包括主机又能包括其他域(它的子域)。域名被用做DNS 数据库中的索引.子域中任何域名被认为是域的一部分。事实上,主机即为域,域名仅是DNS 数据库中的索引,"主机"可由指向相关主机信息的域名来索引,域包含所有其域名在该域的主机。 网管u家u.bitscn@com

在域名树中,叶节点的域通常代表主机,它们的域名可指向网络地址,硬件信息和邮件路由信息。在树内的节点,其域名既可命名一台主机,也可指向有关该域的子孙或子域的结构信息,在域名树中的内部域名并不受唯一性限制,它们既可表示它们所对应的域,又可代表网络中某台特定的主机。例如,sun.com 既是sun 的域,又是在sun internet 间转发信件的邮件服务器的域名。 网管联盟bitsCN_com

 

网管论坛bbs_bitsCN_com

网络上的每一台主机都有一个域名,域名给出有关主机的信息,该信息中包含IP 地址,MAIL 路由信息等等,主机也可以有一个或多个域名别名。 网管u家u.bitscn@com

  网管联盟bitsCN@com

1.1 域名

网管下载dl.bitscn.com

判断域是否为另一域的子域的简单方法是比较它们的域名、子域名以其父域名结尾。设计域名系统的一个主要目的是让管理分散化,这是通过代理来实现的。管理域的组织将该域划分成子域,每一个子域可以由其他组织代理,这意味着那些代理组织负责维护在该子域的所有数据。他们可以自由地改变数据,甚至可以将他们管理的子域再划分成更多的子域并将它们再分配。父域中仅包含指向这些子域的指针,因而引用对那里的查询。

网管论坛bbs_bitsCN_com

  网管网www_bitscn_com

1.2 域名服务器 网管u家u.bitsCN.com

存储有关域名空间信息的程序被称为域名服务器name server.通常,域名服务器拥有部分域名空间(称之为区zone)的完整信息,域名服务器可以拥有多个区的授权。

网管bitscn_com

区与域的关系: 网管网www.bitscn.com

区包含了域中除了代理给别处的子域外所含有的所有域名和数据。如果域的子域没有被代理出去,则该区包含该子域名和子域中的数据。 网管网www_bitscn_com

 

网管下载dl.bitscn.com

DNS 定义了两类域名服务器primary Master secondary Master.PM 域名服务器。从它所运行的主机上的文件获得它所负责的区的数据,SM 域名服务器则是从其它的具有该区授权的域名服务器上获得它的区的数据,SM 域名服务器会定期查询PM 域名服务器以保证区数据为最新版本。

中国网管联盟bitsCN.com

  网管bitscn_com

一般情况下,最好设立一台PM 域名服务器和若干台SM 域名服务器,这样可以分担负载。以及确保区中所有主机都有比较靠近的域名服务器,方便访问。

网管bitscn_com

  网管u家u.bitsCN.com

1.3 解析器

网管联盟bitsCN_com

运行在主机上并需要域名空间信息的重新需要解析器(Resolver),在bind 中解析器仅仅是一组库例程,并编译进象telnet ftp 这样的程序中,它们并非独立的进程。解析器所做的工作为:汇集查询,发送查询并等待应答,未得到应答时重发查询。

网管联盟bitsCN_com

  中国网管论坛bbs.bitsCN.com

1.4 地址到域名的映射 网管网www_bitscn_com

在域名空间的数据是通过名字来进行索引的,找到一个给定域名的地址相对容易。但是要找到映射给一定地址的域名就要在树上的每一个域名空间作穷尽搜索。如果这样的话,效率将相当低,为了解决这个问题,创建一个以地址为索引的域名空间.这部分名字空间被称为in-addr.arpa 域。

网管论坛bbs_bitsCN_com

in-addr.arpa 域中的节点以Doted-octet(将32bitIP 地址表示为由"."分隔开的四个8bit 的十进制形式的方法)形式表示IP 地址。IP 地址在名字空间以相反的方向表示,因为名字是从叶读到根,例如,www.zhuhai.gd.cn IP 地址为202.105.177.100,则相应的in-addr.arpa 子域为177.105.202.in-addr.arpa,使IP 地址中的第一个字节出现在树的最高层使的管理员有能力沿着网络联接将in-addr.arpa 域代理出去,例如 网管联盟bitsCN_com

177.105.202.in-addr.arpa 可以被代理给网络177.105.202 的管理员。 网管u家u.bitscn@com

  中国网管联盟bitsCN.com

1.5 缓存与生存期 网管联盟bitsCN@com

名字服务器在处理递归查询时,可能要进行多次查询才能得到信息,在这过程中,名字服务器可以获得很多有关域名空间的信息,名字服务器将所以这些信息都缓存起来以加速以后的查询。除了加速查询外,缓存还使得我们不必再次查询根名字服务器,这样可使得我们不必过分依赖根名字服务器而大大减轻根名字服务器的负载。 中国网管联盟bitsCN.com

  中国网管论坛bbs.bitsCN.com

生存期(TTL)为所容许的名字服务器对数据缓存的时间长度,一旦生存期到了,名字服务器必须丢弃缓存数据并从授权的名字服务器中重新获取新的数据。这样可以确保域数据在整个网络上的一致性。 网管u家u.bitscn@com

2. 安装服务器软件

网管u家u.bitscn@com

2.1 取得bind 软件包(现在新的版本为8.2.2 p5 网管网www_bitscn_com

bind 的主页http//www.isc.org 上取得最新stable 版的三个文件:

网管bitscn_com

bind-contrib.tar.gz 网管u家u.bitsCN.com

bind-doc.tar.gz

网管bitscn_com

bind-src.tar.gz

网管u家u.bitscn@com

或者从http//www.redhat.com 上取得三个文件:

网管联盟bitsCN@com

bind-8.2.2-p5-9.i386.rpm

网管u家u.bitsCN.com

bind-devel-8.2.2-p5-9.i386.rpm 网管网www.bitscn.com

cache-nameserver-6.2-2.noarch.rpm

网管u家u.bitscn@com

 

网管联盟bitsCN_com

2.2 安装bind 软件包 中国网管论坛bbs.bitsCN.com

安装tar 封装的软件包: 网管论坛bbs_bitsCN_com

1)先解压软件包

中国网管联盟bitsCN.com

tar zxpf bind-contrib.tar.gz 网管网www_bitscn_com

tar zxpf bind-doc.tar.gz

网管bitscn_com

tar zxpf bind-src.tar.gz 网管bitscn_com

 

中国网管论坛bbs.bitsCN.com

2)编辑修改Makefile.set 文件,增加或修改

网管下载dl.bitscn.com

'DESTLIB=/usr/lib/bind/lib'

网管网www_bitscn_com

'DESTINC='/usr/lib/bind/include'

网管bitscn_com

  网管u家u.bitsCN.com

3)编译并安装

网管u家u.bitscn@com

make 网管网www_bitscn_com

make install

网管u家u.bitscn@com

 

网管u家u.bitscn@com

4)安装rpm 封装的软件包:

网管u家u.bitscn@com

rpm -Uhv bind-8.2.2-p5-9.i386.rpm

网管u家u.bitsCN.com

rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm

中国网管联盟bitsCN.com

rpm -Uhv cache-nameserver-6.2-2.noarch.rpm 网管论坛bbs_bitsCN_com

3.服务器跑起来---基本篇 网管网www_bitscn_com

3.1 网管网www_bitscn_com

BIND 可被配置成几种不同的运行方式,通用的BIND 配置为纯解析器系统,纯缓存服务器,主服务器,辅服务器

网管下载dl.bitscn.com

解析器是指通过域名服务器查询域信息的程序代码,在unix 系统中,它是以库例程的方式实现的,而并不是一个单独的客户程序.纯解析器系统很容易配置,只要设置一下

网管联盟bitsCN@com

/etc/resolv.conf 文件。这种方式通常用于由于某些限制不能在本地运行域名服务器软件的系统中。 网管网www_bitscn_com

例如:/etc/resolv.conf 内容类似为:

网管联盟bitsCN_com

search jmcs.net 网管论坛bbs_bitsCN_com

nameserver 202.106.0.20

网管u家u.bitsCN.com

当配置解析器库以使用BIND 名字服务进行主机查找,你也必须告知它使用哪个名字服务器。对此有一个独立的文件,称为resolv.conf。如果这个文件不存在或是空的,那么解析器就假设名字服务器在你本地的主机上。如果在你的本地主机上运行一个名字服务器,你必须单独地设置它。resolv.conf 中最重要的选项是nameserver,它给出了要使用的名字服务器IP 地址。如果你通过几次给出nameserver 选项指定了几个名字服务器,那么它们会以给出的顺序试用。因此,你应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。如果没有给出nameserver 选项,那么解析器试图连接本地主机上的名字服务器

网管网www_bitscn_com

  网管bitscn_com

其它两个选项,domain search 涉及到如果BIND 不能用第一个请求解析主机名时附加在主机名上的缺省域。search 选项指定了一个试用的域名列表。列表项是用空格或制表符分开的。 网管联盟bitsCN_com

  网管下载dl.bitscn.com

如果没有给出search 选项,就会通过使用域名本身从本地域名以及直至root 的父域中建立一个搜寻列表。本地域名可以使用domain 语句给出;如果一个也没有给出,那么解析器就通过系统调用getdomainname2)来获取。 网管u家u.bitsCN.com

3.2 其它三类配置方式是用于域名服务器的纯缓存服务器纯缓存服务器运行域名服务器软件,但并没有域名服务器数据库文件,它记录下每一个从远程域名服务器获得的数据,以回答将来对同一信息的查询。

网管网www.bitscn.com

1)纯缓存服务器所需的三个基本配置文件: 中国网管论坛bbs.bitsCN.com

/etc/named.conf

中国网管论坛bbs.bitsCN.com

/var/named/named.ca

网管bitscn_com

/var/named/named.local 网管bitscn_com

2)创建或修改/etc/named.conf 网管联盟bitsCN@com

// generated by named-bootconf.pl

网管bitscn_com

options 中国网管论坛bbs.bitsCN.com

{ 网管论坛bbs_bitsCN_com

directory "/var/named"; 网管联盟bitsCN@com

/* 网管下载dl.bitscn.com

* If there is a firewall between you and nameservers you want

网管下载dl.bitscn.com

* to talk to you might need to uncomment the query-source 网管网www.bitscn.com

* directive below. Previous versions of BIND always asked 中国网管论坛bbs.bitsCN.com

* questions using port 53 but BIND 8.1 uses an unprivileged

网管联盟bitsCN_com

* port by default.

中国网管论坛bbs.bitsCN.com

*/ 网管联盟bitsCN_com

// query-source address * port 53;

网管下载dl.bitscn.com

forwarders {202.99.8.1;202.106.0.20;}; 网管网www.bitscn.com

};

网管u家u.bitscn@com

//

中国网管联盟bitsCN.com

// a caching only nameserver config 中国网管论坛bbs.bitsCN.com

//

中国网管论坛bbs.bitsCN.com

zone '.'

网管联盟bitsCN_com

{

网管下载dl.bitscn.com

type hint;

网管联盟bitsCN@com

file "named.ca"; 网管下载dl.bitscn.com

};

网管网www.bitscn.com

zone '0.0.127.in-addr.arpa'

网管联盟bitsCN_com

{

网管下载dl.bitscn.com

type master; 网管网www.bitscn.com

file "named.local"; 网管下载dl.bitscn.com

};

网管联盟bitsCN@com

3)在文件中'forwarders {202.106.0.20;202.99.8.1;};'其中的IP 地址是你网络中主服 网管论坛bbs_bitsCN_com

务器和辅服务器IP 地址。

网管联盟bitsCN@com

4)创建或修改/var/named/named.local

网管联盟bitsCN_com

@ IN SOA localhost. root.localhost.

网管bitscn_com

1997022700 ; Serial

中国网管论坛bbs.bitsCN.com

28800 ; Refresh

网管下载dl.bitscn.com

14400 ; Retry

网管网www.bitscn.com

3600000 ; Expire

网管联盟bitsCN_com

86400 ; Minimum 网管网www.bitscn.com

IN NS localhost.

网管论坛bbs_bitsCN_com

1 IN PTR localhost. 网管论坛bbs_bitsCN_com

5)创建或修改/var/named/named.ca 网管bitscn_com

至于/var/named/named.ca 就要从redhat linux 光碟获得了.也用命令从互联网上获得: 中国网管联盟bitsCN.com

dig @a.root-servers.net > /var/named/named.ca

网管网www_bitscn_com

如果是用rpm 封装的软件包安装的话,这三个文件会自动生成,我们只需要修改 中国网管联盟bitsCN.com

/etc/named.conf 。其中/var/named.ca 一般是不用修改的. 网管论坛bbs_bitsCN_com

6)主服务器 中国网管联盟bitsCN.com

服务器是给定域的所有信息的授权来源。它所装载的域信息来自于由域管理员所创建 网管下载dl.bitscn.com

并在本地维护的磁盘文件。 网管联盟bitsCN_com

我们用"test.com"作为例子,我们需要五个基本配置文件:

网管bitscn_com

/etc/named.conf 网管网www_bitscn_com

/var/named/named.ca 网管联盟bitsCN_com

/var/named/named.local

网管bitscn_com

/var/named/named.test.com

网管联盟bitsCN_com

/var/named/named.172.16.0

网管网www.bitscn.com

6.1)创建或修改/etc/named.conf

网管u家u.bitscn@com

// generated by named-bootconf.pl 网管下载dl.bitscn.com

options {

网管u家u.bitscn@com

directory "/var/named";

网管论坛bbs_bitsCN_com

/*

网管u家u.bitsCN.com

* If there is a firewall between you and nameservers you want

网管联盟bitsCN@com

* to talk to you might need to uncomment the query-source

网管联盟bitsCN@com

* directive below. Previous versions of BIND always asked 中国网管联盟bitsCN.com

* questions using port 53 but BIND 8.1 uses an unprivileged

网管网www.bitscn.com

* port by default.

网管bitscn_com

*/

网管论坛bbs_bitsCN_com

// query-source address * port 53; 网管联盟bitsCN_com

}; 网管u家u.bitscn@com

//

网管联盟bitsCN_com

// a PM nameserver config 网管论坛bbs_bitsCN_com

北京蓝色先锋软件有限公司版权所有违者必究 网管网www_bitscn_com

地址:北京市北京站东街甲10 号华安商务楼6 网管网www.bitscn.com

网址: www.bluepioneer.com.cn 邮编:100005 8 页共14

网管联盟bitsCN_com

电话:( 010 ) 65594026 传真:( 010 ) 65594064

中国网管联盟bitsCN.com

//

中国网管联盟bitsCN.com

zone '.' {

中国网管论坛bbs.bitsCN.com

type hint;

网管u家u.bitsCN.com

file "named.ca"; 中国网管论坛bbs.bitsCN.com

}; 中国网管联盟bitsCN.com

zone '0.0.127.in-addr.arpa' {

网管bitscn_com

type master;

网管bitscn_com

file "named.local";

网管u家u.bitsCN.com

}; 网管bitscn_com

//there are our primary zone files 网管联盟bitsCN@com

zone "test.com" { 网管下载dl.bitscn.com

type master;

网管网www.bitscn.com

file "named.test.com"; 网管网www.bitscn.com

}; 网管u家u.bitscn@com

zone '0.16.172.in-addr.arpa' {

网管bitscn_com

type master; 网管bitscn_com

file 'named.172.16.0';

网管联盟bitsCN_com

}; 网管u家u.bitscn@com

文件中的zone 'test.com'段是声明这是用于test.com 域的主服务器,用于该域的数据

网管下载dl.bitscn.com

/var/named/named.test.com 文件中装载。

网管u家u.bitscn@com

文件中的zone '0.16.172.in-addr.arpa'段是指向映射IP 地址172.16.0.* 到主机名的 中国网管论坛bbs.bitsCN.com

文件。用于该域的数据从/var/named/named.172.16.0 文件中装载。

网管联盟bitsCN_com

6.2)创建或修改/var/named/named.local 网管联盟bitsCN@com

@ IN SOA ns.test.com. root.ns.test.com. 中国网管联盟bitsCN.com

2000051500 ; Serial

网管u家u.bitscn@com

28800 ; Refresh 网管网www_bitscn_com

14400 ; Retry

网管下载dl.bitscn.com

3600000 ; Expire

网管联盟bitsCN@com

86400 ; Minimum 中国网管论坛bbs.bitsCN.com

IN NS ns.test.com. 网管下载dl.bitscn.com

1 IN PTR localhost.

中国网管论坛bbs.bitsCN.com

注意:在修改named.*文件时每次存盘时要注意增加Serial 值,如使用绝对域名时千万别忘了后面带的'.'

网管u家u.bitsCN.com

资源记录中的@字符转变为当前的域test.comIN 表示资源记录使用TCP/IP 地址,SOA 表示管辖开始记录.ns.test.com. 是这个域的主DNS 服务器的标准名称,在之后是联系的 网管bitscn_com

EMAIL 地址,其中@字符必须用'.'代替。

中国网管论坛bbs.bitsCN.com

 

中国网管联盟bitsCN.com

6.3)创建或修改/var/named/named.test.com

中国网管论坛bbs.bitsCN.com

@ IN SOA ns.test.com. root.ns.test.com. 网管网www_bitscn_com

2000051500 ; Serial 网管bitscn_com

28800 ; Refresh 网管网www.bitscn.com

14400 ; Retry 网管bitscn_com

3600000 ; Expire 中国网管论坛bbs.bitsCN.com

86400 ; Minimum 网管u家u.bitscn@com

IN NS ns.test.com.

网管联盟bitsCN_com

ns A 172.16.0.1

网管联盟bitsCN@com

ns2 A 172.16.0.11 网管论坛bbs_bitsCN_com

www A 172.16.0.2 网管联盟bitsCN@com

ftp CNAME www.test.com. 网管下载dl.bitscn.com

mail A 172.16.0.3

网管u家u.bitscn@com

MX 10 mail.test.com.

网管联盟bitsCN@com

6.4)创建或修改/var/named/named.172.16.0 网管联盟bitsCN_com

@ IN SOA ns.test.com. root.ns.test.com.

网管论坛bbs_bitsCN_com

2000051500 ; Serial

网管u家u.bitsCN.com

28800 ; Refresh

中国网管联盟bitsCN.com

14400 ; Retry

中国网管联盟bitsCN.com

3600000 ; Expire 网管联盟bitsCN_com

86400 ; Minimum

网管论坛bbs_bitsCN_com

IN NS ns.test.com. 网管网www.bitscn.com

1 IN PTR ns.test.com. 网管u家u.bitsCN.com

11 IN PTR ns1.test.com.

网管bitscn_com

2 IN PTR www.test.com.

网管u家u.bitscn@com

3 IN PTR mail.test.com. 中国网管联盟bitsCN.com

7)辅服务器 网管联盟bitsCN_com

服务器从主服务器上获取域信息的完整拷贝.也能以授权方式回答有关域的查询。我们用'test.com'作为例子,我们需要五个基本配置文件: 网管bitscn_com

/etc/named.conf 网管论坛bbs_bitsCN_com

/var/named/named.ca 网管联盟bitsCN@com

/var/named/named.local 网管联盟bitsCN_com

7.1)创建或修改/etc/named.conf 网管联盟bitsCN@com

// generated by named-bootconf.pl 网管联盟bitsCN_com

options {

网管网www.bitscn.com

directory "/var/named";

网管u家u.bitscn@com

/*

网管联盟bitsCN@com

* If there is a firewall between you and nameservers you want 网管u家u.bitsCN.com

* to talk to you might need to uncomment the query-source 网管论坛bbs_bitsCN_com

* directive below. Previous versions of BIND always asked

中国网管联盟bitsCN.com

* questions using port 53 but BIND 8.1 uses an unprivileged 中国网管论坛bbs.bitsCN.com

* port by default.

网管bitscn_com

*/

网管u家u.bitsCN.com

// query-source address * port 53; 网管u家u.bitscn@com

}; 网管u家u.bitscn@com

// 中国网管论坛bbs.bitsCN.com

// a SM nameserver config

网管bitscn_com

// 网管网www_bitscn_com

zone '.' {

网管联盟bitsCN@com

type hint;

网管bitscn_com

file "named.ca";

中国网管联盟bitsCN.com

};

网管bitscn_com

zone '0.0.127.in-addr.arpa' { 网管联盟bitsCN_com

type master; 网管网www.bitscn.com

file "named.local"; 网管u家u.bitscn@com

}; 网管bitscn_com

//there are our slave zone files

网管下载dl.bitscn.com

zone "test.com" {

网管网www_bitscn_com

type slave; 网管u家u.bitsCN.com

file "named.test.com";

网管u家u.bitsCN.com

masters {172.16.0.1;};

网管联盟bitsCN_com

};

网管下载dl.bitscn.com

zone '0.16.172.in-addr.arpa' {

网管u家u.bitsCN.com

type slave; 中国网管论坛bbs.bitsCN.com

file 'named.172.16.0';

中国网管联盟bitsCN.com

masters {172.16.0.1;}; 中国网管联盟bitsCN.com

};

网管联盟bitsCN@com

  网管u家u.bitsCN.com

在文件中'masters {172.16.0.1;};'其中的IP 地址是你网络中主服务器IP 地址。从主服务器上拷贝/var/named/named.ca /var/named/named.local 这两个文件。实际运行的服务器可以是以上其中一种配置,也能同时包含多种配置,但所有的系统都应该运行解析器。 中国网管联盟bitsCN.com

4.标准资源记录

网管u家u.bitscn@com

---------------------------------------------------------------------

中国网管论坛bbs.bitsCN.com

资源记录文本名意义记录类型功能

网管u家u.bitsCN.com

---------------------------------------------------------------------

中国网管联盟bitsCN.com

Start of Authority 授权开始SOA 标记区数据的开始,定义影响整个区的参数Name Server 名字服务器

网管联盟bitsCN_com

NS 标明域的名字服务器

网管联盟bitsCN@com

Address 地址 网管u家u.bitscn@com

A 转换主机名到地址 网管u家u.bitscn@com