配置DNS

来源:互联网 发布:工程监理知面试 编辑:程序博客网 时间:2024/04/30 01:21
下载
第36章配置DNS
作者:Tim Parker
本章内容包括:
• 域名服务器
• 资源记录
• 域名解析
• 配置U N I X或L i n u x域名服务器
• Wi n d o w s与D N S
为避免记忆枯燥的网络上服务提供者主机的I P地址,用户可以在网络中设置域名服务器,
从而使用户在访问某主机时,只需敲入该主机的域名而不需敲入其I P地址。如果给域名一定
的含义,记忆域名将比记忆I P地址要容易得多。
域名系统,正如其名字所示,将整个i n t e r n e t网络分割为一组域或网络,每个域又可细分
为多个子域。第一组域被称之为顶级域,对于经常在网上浏览或上互联网的用户,顶级域名
应该不陌生。一般情况下,顶级域包含以下七部分:
• arpa—特殊互联网组织
• com—公司、企业
• edu—教育组织
• gov—政府实体
• mil—军队部门
• net—服务提供商
• org—非商业组织
除了上述顶级域外,每个国家的域名空间又都分为上述的顶级域,通常用国家的简写代
表国家的名字,如: . c a表示加拿大( c a n a d a )、. u k表示United Kingdom(英国)、. c n表示C h i n a (中
国)。在顶级域下是单个组织一级的域(如:s a m s . c o m及l i n u x . o rg )。所有的域名均在网络信息
中心( N I C )注册,每个域名都是惟一的。
36.1 域名服务器
每个域名服务器管理网络的不同区域(或整个网络,如果网络规模较小)。由一台域名服务
器管理机器的集合称为一个区( z o n e )。一台域名服务器也可以管理多个区。在一个区内,通常
都设有辅助或备份域名服务器,两个域名服务器(主控域名服务器和辅助域名服务器)不断复制
信息。同一个区的域名服务器使用区传输协议。
整个域名服务系统通过一组嵌套的区运作。每个域名服务器与其上级域名服务器通信。
每个区至少有一台域名服务器负责区内每台机器的地址信息。每个域名服务器同时知道至少
一台其他域名服务器的地址。
当某个用户的应用需要将域名解析为网域地址时,应用向解析进程发送查询信息,解析
进程再与域名服务器通信。域名服务器检查本地的表并返回与域名对应的网络地址。如果域
名服务器没有所需要的信息,它将向其他域名服务器发送请求。域名服务器及解析进程都使
用数据库的表并且缓存本地区内机器的信息,同时缓存区外最近的请求响应信息。
当域名服务器接收解析进程的查询请求时,域名服务器可执行多种类型的操作,所有这
些操作大致可分为两类:
一种是递归解析,要求名字服务器必须访问其他域名服务器获取信息;另一种是非递归
操作。在此种操作中,域名服务器返回解析请求的结果、另一个域名服务器的地址(解析进程
必须再次发送请求)或错误信息。当采用递归解析时,域名服务器在必要时请求其他域名服务
器解析用户请求。远程域名服务器将返回解析结果或失败信息。D N S规则禁止远程服务器再
向其他服务器发送解析请求。
36.2 资源记录
用来解析域名的信息由域名服务器维护为一组资源记录,它是数据库中的项。资源记录(简
称为R R )以A S C I I格式存储信息。用户可以非常方便地查到资源记录的格式,在此不做重复。
D N S使用的地址字段如地址资源记录类型,采用I N - A D D R - A R PA格式。它允许由地址到
域名的反向映射,同时也允许域名到地址的映射。为了更好地理解I N - A D D R - A R PA,我们先
从标准的资源记录格式开始。最简单的资源记录类型用于记录I P地址(类型A )。下面列出了一
个地址文件中的部分内容:
文件中的每一行表示一个资源记录。在上例中,所有的资源记录均采用最简单的格式:
主机的域名(别名)、主机的类别( I n表示I n t e r n e t ),A表示该记录为地址资源记录,最后是
I n t e r n e t地址。主机T P C I _ G AT E WAY所对应的项包含两个I P地址,因为它是连接两个网的网关。
网关在每个网中都有单独的I P地址,因此两个资源记录在同一个文件中。
这种类型的文件使域名到地址的映射变得简单。域名服务器简单查询每一行的域名,判
断是否与应用请求解析的域名一致,并返回该行末尾的地址。数据库以域名为索引,因此,
查询非常迅速。
由地址到域名的查询就不那么简单。如果资源记录文件很小,查询时间较短,但对于包
含成千上万或百万台机器的区域,时间延迟可能很大。因为数据库以名字为索引,以地址来
查询将是一个缓慢的过程。为了解决这一反向映射的问题,引入了I N - A D D R - A R PA。I N -
A D D R - A R PA采用主机地址为索引。当添加一个新的资源记录,其域名可被抽取。
I N - A D D R - A R PA采用P T R资源记录类型来指明地址所对应的域名。几乎每一个域名服务
器都维护这一类指针索引。以下列出了一种地址到域名的映射文件的内容:
400使用第九部分使用与管理T C P / I P
下载
在I N - A D D R - A R PA文件中, I n t e r n e t地址被反转,以便使用。如上例所示,没有必要写出
完整的I P地址,因为域名服务器将会提供足够的路由信息。
36.3 域名解析
就用户的应用而言,将域名解析为实际的网络地址比较简单。应用向域名解析者也称之
为解析进程发送查询请求(解析进程有时也可能在别的机器上)。域名解析者如果可以解析该域
名,将向应用返回结果。如果域名解析者不能确定网络地址,它将与域名服务器通信(域名服
务器也可能再与其他域名服务器联系)。
解析进程将会取代机器上已有的域名解析系统:如/ e t c / h o s t s文件。取代过程对用户来说
是透明的,但管理员需要知道何时使用本地域名解析系统,何时使用D N S以便正确维护域名
服务器中的表。
当解析进程从域名服务器获取了信息后,它将信息缓存在本地C a c h e中,以减少对同一个
域名的重复解析请求(这种情况在网络应用中经常出现)。解析进程缓存记录的时间根据资源记
录中Ti m e - t o - L i v e字段而定,或采用系统的缺省时间。
当域名服务器不能解析某个域名时,它向解析进程返回消息,并在消息的A u t h o r i t y字段
填入另一台域名服务器的地址。解析进程接到消息后,向另一台域名服务器发送解析请求。
解析进程也可以通过设置请求中的递归位( R D )来要求域名服务器完成查询。域名服务器可以
拒绝或接受此类请求。
解析进程可以使用U D P和T C P协议进行查询,但大部分都使用U D P协议,因为其速度快。
但对于反复查询或传输大量信息,将采用可靠性高的T C P协议。
在预装了D N S的U N I X或L i n u x操作系统中,域名解析进程有多种实现方式。其中B S D版
U N I X中的解析进程功能有限,它既不提供反复查询也不支持C a c h e。为了弥补这一局限,需
添加伯克利I n t e r n e t域名服务器( B I N D )。B I N D提供三种不同方式的缓存和反复查询:作为主
控服务器,辅助服务器或仅作缓存服务器(它不包含自己的数据库,只有C a c h e )。在B S D系统
中使用B I N D允许其他进程控制域名解析的负载,该进程可以是其他主机上的进程。
36.4 配置UNIX或Linux域名服务器(DNS)
配置域名服务器需要修改或创建大量文件和数据库。这一过程非常耗时,但幸运的是每
一台域名服务器仅需作一次。在大多数D N S服务器中,这些文件及其作用如下:
• named.hosts—定义主机名到I P地址映射的域名。
• named.rev—采用I N - A D D R - A R PA实现I P地址到主机名的映射。
• named.local—用于解析本地驱动。
• named.ca—列出域名服务器。
• named.boot—用于设置文件和数据库的位置。
通常域名服务器都采用以上文件名,但用户也可根据需要进行修改。上述文件中最重要
的是n a m e d . b o o t,它在系统启动时被读取,并且其中定义了其他文件的文件名及位置。因此,
任何文件名的变化都必须在n a m e d . b o o t中做相应的修改。为简单起见,本章使用上述约定的
文件名。每个列出的文件都是一个资源记录形式的数据库。
第3 6章配置D N S使用401
下载
36.4.1 添加资源记录
对于特定的服务器配置,必须使用标准的名字和网络格式,这样D N S将使用户非常迷惑。
但以简单的格式,将使用户更容易理解这些文件及资源记录的功能。
在n a m e d . h o s t s文件中存放S O A资源记录。分号为注解符,该资源记录采用每一行一个字
段的格式,使得记录更清晰,但这不是必须的。资源记录定义了顶层域名为t p c i . c o m ,
s e r v e r. t p c i . c o m为域中的主域名服务器, root @ merlin.tpci.com为域管理员的邮件地址,其余
行含义见注解。
tpci.com. IN SOA
s e r v e r. t p c i . c o m
root @ merlin.tpci.com (
2; 序列号
7 2 0 0;刷新时间(2小时)
3 6 0 0;重试时间( 1小时)
1 5 1 2 0 0;过期时间( 1周)
8 6 4 0 0 );最小T T L
注意,从序列号到T T L字段包含在括号之内。这是命令的语法,必须包含括号以标明参
数顺序。
除了SOA RR外,n a m e d . h o s t s还包含地址记录。这些记录用于从主机名到I P地址的映射。
以下列出了少量地址资源记录以说明格式:
主机名并未给出域名全称,因为服务器可以推断出完整的域名。如果用户想要列出完整
的域名,就必须在名称后加点号。在上例的基础上,以下给出了采用完整域名的示例:
指针( P T R )资源记录使用I N - A D D R - A R PA完成从I P地址到域名的映射。以下仅采用一个资
源记录做简单说明:
上述记录标明主机名为m e r l i n的机器I P地址为1 4 7 . 1 2 0 . 0 . 7。
域名服务器资源记录指明域名服务器对特定区的权限。名字服务器记录( N S )被用于拥有
多个子网的大型网络。其中每个子网都有其名字服务器, N S记录示例如下:
该记录标明t p c i . c o m域的D N S服务器为m e r l i n . t p c i . c o m。如果t p c i . c o m有多个子网,每个子
网都要包含NS RR。
36.4.2 完成DNS文件
如上所述, D N S使用大量文件来存放D N S所需的资源记录。第一个文件为n a m e d . h o s t s,
它包含S O A、N S和A资源记录。n a m e d . h o s t s的每一项都必须从文件的第一列开始。以下是一
402使用第九部分使用与管理T C P / I P
下载
个n a m e d . h o s t s文件的示例,注解行表明记录的含义:
文件的第一部分设置S O A记录的各项参数:生存期、过期时间、刷新时间等。设置
t p c i . c o m域的域名服务器为m e r l i n . t p c i . c o m。第二部分使用名字服务器资源记录设置t p c i . c o m域
的域名服务器为m e r l i n . t p c i . c o m (与S O A中相同)。设置t p c i的子网名为s u b n e t 1,该子网的域名
服务器为g o o f y. s u b n e t 1 . t p c i . c o m。第三部分列出了一系列地址资源记录以便由域名映射为I P地
址,域中的每一台主机在这一部分都对应一项。
n a m e d . r e v文件提供从I P地址到机器名的逆向映射功能,它由指针资源记录组成。其格式
与n a m e d . h o s t s中记录的格式基本相同(除了将域名与I P地址交换,并且将I P地址转换为I N -
A D D R - A R PA风格之外)。与n a m e d . h o s t s对应的n a m e d . r e v文件如下:
第3 6章配置D N S使用403
下载
网络中的每个区或子域都必须有独立的n a m e d . r e v文件。这些文件可以采用不同的文件名
且放在不同的目录中。如果用户仅有一个区,只需一个n a m e d . r e v文件即可。
n a m e d . l o c a l文件包含本地驱动器的入口(本地驱动器采用I P地址为1 2 7 . 0 . 0 . 0 )。文件中必须
包含I N - A D D R - A R PA映射到本地驱动的信息,及域信息(因为n a m e d . r e v文件中不包含1 2 7子
网)。n a m e d . l o c a l文件示例如下:
该文件提供从名为l o c a l h o s t的主机到I P地址1 2 7 . 0 . 0 . 1的映射。
n a m e d . c a文件用于指定系统可使用的域名服务器。在n a m e d . c a中指定的机器必须是比较稳
定、不经常变化的机器。n a m e d . c a文件示例如下:
在上述文件中,仅指定了三个D N S服务器。一个正常的n a m e d . c a文件中可能仅有一个区
或包含多个域名服务器,这依据具体的系统而定。用户可以通过匿名登录到n i c . d d n . m i l的F T P
服务器上获取/ n e t i n f o / r o o t - s e r v e r s . t x t文件,该文件包含一个完整的根域名服务器列表。
这个文件可以拷贝到n a m e d . c a文件中。n a m e d . c a中指定的服务器包含两项,一项给出根域
(周期),它放在域名服务器之后;另一项给出域名服务器I P地址。可用周期设得非常大,因为
这些服务器通常认为一直可用。
n a m e d . b o o t文件可看作用于加载D N S守护进程的触发器,它还指定网络中主控域名服务
404使用第九部分使用与管理T C P / I P
下载
器和辅助域名服务器。n a m e d . b o o t示例如下:
在文件的第一行d i r e c t o r y关键字之后输出D N S配置文件的路径。关键字p r i m a r y之后给出
D N S所需的配置信息。例如:第一行设置t p c i . c o m的主服务器的配置文件为n a m e d . h o s t s。
1 4 3 . 2 5子网的I N - A D D R - A R PA信息放在文件n a m e d . r e v中。本地信息放在n a m e d . l o c a l文件中。
最后,服务器及名字信息放在n a m e d . c a文件中。
辅助域名服务器的配置与主控域名服务器基本相同。区别在于n a m e d . b o o t文件中仅指出主
服务器的名称。
36.4.3 启动DNS守护进程
配置D N S的最后一步是确保D N S守护进程n a m e d在系统启动时被加载。通常通过r c启动脚
本完成上述工作。大多数U N I X及L i n u x版本都已将D N S加入到启动脚本中,通常以检测
n a m e d . . b o o t文件的形式加入。如果n a m e d . b o o t存在,D N S守护进程n a m e d启动。代码如下:
确切的路径名及有关属性依据不同的系统而定,但通常命令都是判断n a m e d . b o o t文件是否
存在,若存在则启动n a m e d。
36.4.4 配置客户端
配置U N I X或L i n u x机器以使其可以使用主域名服务器是非常简单的。首先修改/ e t c /
r e s o l v. c o n f文件,使其包含主域名服务器的地址,例如, r e s o l v. c o n f文件可以是如下形式:
第一行建立域名,随后是域名服务器的I P地址。上例中指定了1 4 3 . 2 5子网中的两个域名服
务器。
36.5 Windows和域名服务器
Windows NT、Windows 95和Windows 98在作D N S服务器客户方时,仅需在N e t w o r k表单
的D N S页中填写D N S服务器的I P地址即可。也可以同时指定多个域名服务器,在解析域名时,
将依照D N S页中域名服务器的顺序依次查询。D N S服务器既可以在用户网络中,也可以是用
第3 6章配置D N S使用405
下载
户I S P的域名服务器。当然, I S P的服务器不知道用户内部网的结构。
配置基于Wi n d o w s的D N S服务器必须使用额外的插件,但在纯Wi n d o w s网络中,D N S并不
像W I N S及D H C P那样容易配置和使用。在Wi n d o w s、U N I X混合的网络中,最好将D N S安装在
U N I X机器上,这不但出于性能上的考虑,而且由于操作系统体系结构上的原因。要获取建立
基于Windows NT的D N S服务器参见第2 3章。
36.6 小结
配置D N S服务器远比配置D N S客户机复杂。考虑到设置D N S服务器所带来的益处,花一
定的时间及精力安装和配置D N S服务器是非常值得的。U N I X和L i n u x非常适合于作D N S服务
器,而Wi n d o w s则适于作D N S客户机。
406使用第九部分使用与管理T C P / I P
下载 
原创粉丝点击