BIND&DNS内部培训教程1

1、域名系统

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

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

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

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

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

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

1.1 域名

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

1.2 域名服务器

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

区与域的关系:

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

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

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

1.3 解析器

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

1.4 地址到域名的映射

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

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 域代理出去,例如

177.105.202.in-addr.arpa 可以被代理给网络177.105.202 的管理员。

1.5 缓存与生存期

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

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

2. 安装服务器软件

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

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

bind-contrib.tar.gz

bind-doc.tar.gz

bind-src.tar.gz

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

bind-8.2.2-p5-9.i386.rpm

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

cache-nameserver-6.2-2.noarch.rpm

2.2 安装bind 软件包

安装tar 封装的软件包:

(1)先解压软件包

tar zxpf bind-contrib.tar.gz

tar zxpf bind-doc.tar.gz

tar zxpf bind-src.tar.gz

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

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

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

(3)编译并安装

make

make install

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

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

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

rpm -Uhv cache-nameserver-6.2-2.noarch.rpm

3.让服务器跑起来---基本篇

3.1

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

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

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

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

search jmcs.net

nameserver 202.106.0.20

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

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

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

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

(1)纯缓存服务器所需的三个基本配置文件:

/etc/named.conf

/var/named/named.ca

/var/named/named.local

(2)创建或修改/etc/named.conf:

// generated by named-bootconf.pl

options

{

directory "/var/named";

/*

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

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

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

forwarders {202.99.8.1;202.106.0.20;};

};

//

// a caching only nameserver config

//

zone '.'

{

type hint;

file "named.ca";

};

zone '0.0.127.in-addr.arpa'

{

type master;

file "named.local";

};

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

务器和辅服务器的IP 地址。

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

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS localhost.

1 IN PTR localhost.

(5)创建或修改/var/named/named.ca:

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

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

如果是用rpm 封装的软件包安装的话,这三个文件会自动生成,我们只需要修改

/etc/named.conf 。其中/var/named.ca 一般是不用修改的.

文章录入:csh    责任编辑:csh

(0)

相关推荐

  • BIND&DNS内部培训教程1

    1.域名系统 域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户,服务器模式在整个网络上均可存取,通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性能. 域名服务器包含数据库的部分段的信息,并可提供被称之为解析器的客户来访问.DNS 的数据库结构形成一个倒立的树状结构,根的名字用空字符串""来表示,但在文本中用"."来书写.树的每一个节点都表示整个分布式数据库中的一个分区(域),每个域可再进一步划分成子分区(

  • BIND&DNS内部培训教程2

    (6)主服务器: 主服务器是给定域的所有信息的授权来源.它所装载的域信息来自于由域管理员所创建 并在本地维护的磁盘文件. 我们用"test.com"作为例子,我们需要五个基本配置文件: /etc/named.conf /var/named/named.ca /var/named/named.local /var/named/named.test.com /var/named/named.172.16.0 (6.1)创建或修改/etc/named.conf: // generated b

  • BIND&DNS内部培训教程3

    Start of Authority 授权开始SOA 标记区数据的开始,定义影响整个区的参数Name Server 名字服务器 NS 标明域的名字服务器 Address 地址 A 转换主机名到地址 Pointer 指针PTR 转换地址到主机名 Mail Exchange 邮件交换MX 标明发往给定域名的邮件应传送到的位置 Canonical Name 正规名CNAME 定义主机名别名 HOST information 主机信息HINFO 描绘主机硬件和操作系统的信息 Wellknown Serv

  • Centos7搭建主从DNS服务器的教程

    1.准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind.bind-chroot.bind-utils yum -y install bind bind-utils bind-chroot # 如果防火墙开启,配置防火墙,添加服务(防火墙已禁用则忽略) firewall-cmd --permanent --add-service=dns firewall-cmd --reload 2.主DNS服务

  • 教你搭建dns服务器(图文教程)

    目录 1环境准备 2DNS服务的安装 3配置DNS服务器 3.1配置正向查找域 3.2配置主机和域名 3.3反向查找也配置上 4应用环节 5问题扩展 1 环境准备 操作系统:win server 2012先打开远程连接方便本地连接 启用远程桌面 下面这个不要勾 2DNS服务的安装 点击管理,添加角色或功能 基于角色 可以看到已经安装完毕 3 配置DNS服务器 点击工具选择DNS管理器 3.1 配置正向查找域 所谓正向查找域,个人理解就是由域名解析到主机ip,那么反向查找域就是由ip解析到域名.

  • win2003服务器搭建DNS服务器配置图解教程(比较详细)

    一.安装DNS 1.安装DNS:开始-控制面板-添加或删除程序-添加或删除windows组件,出现下面的窗口: 2.滚动条往下拖,用鼠标点击"网络服务",在单击"详细信息":出现下面的窗口: 3.勾选上"域名系统(DNS)",点击"确定" 4.然后回到"第一幅"图片,点击"下一步"开始安装: 二.配置DNS 1.选择开始-程序-管理工具-DNS,打开DNS服务器配置窗口:先新建正向查找区

  • windows server 2008 r2 DNS服务器配置图文教程

    DNS服务器 DNS服务器用来负责将ip地址和域名进行互相解析. DNS服务器的作用 简单来说,DNS服务器的作用就是帮助用户使用简单好记的域名来访问网络上的主机和网络服务. DNS服务器中的记录类型 A地址:用于为特定域名制定对应的IP地址.CNAME: 用于为特定域名指定对应的的别名,用户可以通过别名访问这个域名,也可以为特定域名指定多个别名.MX:用于为特定域名指定负责接收电子邮件的邮件服务器的信息.NS:用于为当前DNS区域指定权威对的名称服务器. 1.安装DNS服务器 (1) 打开"添

  • 使用 bind 设置 DNS 服务器的方法

    DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器. 域名系统Domain Name System,我们更通常称为 DNS 的系统,可以将域名翻译或转换为与该域关联的 IP 地址.DNS 是能够让你通过名称找到自己喜欢的网站而不是在浏览器中输入 IP 地址的原因.本指南将向你展示如何配置一个主 DNS 系统以及客户端. 以下是本文示例中使用的系统细节: dns01.fedora.local (

  • 搜索引擎优化《SEO教程2007版》下载

    SEO培训教程由通王科技总裁王通根据自己多年的实战经验亲自编写,它不仅教你如何快速学习SEO技术,而且还教你如何利用SEO技术去实实在在赚钱.王通认为:学习技术很重要,学习利用技术赚钱的本领更重要! SEO教程为你提供的三种赢利模式 采用第一种赢利模式:你可以在三个月内轻松获得最少10倍以上的回报,让你快速的通过本书的方法受益: 采用第二种赢利模式:你可以努力工作半年后,获得财务自由,工作的时间会越来越少,赚的钱越来越多,生活越来越轻松; 采用第三种赢利模式:你可以结合自己现实中的资源,低成本无

  • C#中对象状态模式教程示例

    目录 真实的故事 定义枚举表示教程进度 定义角色类 定义教程类 测试代码 状态模式出场 定义 代码重构 创建状态基类 重构教程类 创建各个子状态 添加状态容器 结语 真实的故事 当老胡还是小胡的时候,跟随团队一起开发一款游戏.这款游戏是一款末日生存类游戏,玩家可以 收集资源,两种,一种金子,一种铁. 升级自身 击杀敌人 用资源合成装备 项目开发的很顺利,我那时得到一个任务,是为游戏做一个新手教程,在这个教程里面,通过一系列步骤,引导新手玩家熟悉这个游戏.游戏设计给出的教程包含以下步骤 收集金子

随机推荐