电脑与信息技术
主办单位:湖南省经济与信息化委员会
国际刊号:1005-1228
国内刊号:43-1202/TP
学术数据库优秀期刊 《中文科技期刊数据库》来源期刊
       首 页   |   期刊介绍   |   新闻公告   |   征稿要求   |   期刊订阅   |   留言板   |   联系我们   
  本站业务
  在线期刊
      最新录用
      期刊简明目录
      本刊论文精选
      过刊浏览
      论文下载排行
      论文点击排行
      
 

访问统计

访问总数:34477 人次
 
    本刊论文
DNS服务器初探与研究

  [摘要] DNS作为网络的基础服务,担负着网络名称转换成IP地址的重任。如果用户不能访问Web站点、不能交换文件或者不能发送邮件,DNS通常是导致这一系列问题的罪魁祸首。作为一名信息技术教师都应该尽可那的掌握DNS知识。本文就DNS的框架结构、查询原理、实际应用、安全等几方面做初步探讨。

  [关键字] 互联网; 域名; 域名服务器 ;DNS BIND

  Abstract:The DNS is the foundation service of the network, carrying the heavy responsibility that the network name conversion becomes the address of IP.If the customer can't visit the Web station to order, the inconvertibility document or can't send out the mail, DNS usually is cause this a series of problem of chief criminal.Being an information technique teachers should may well that control DNS knowledge.This text DNS frame structure, the search principle, actual application, safety etc. several aspects do the initial study.

  Key word::Internet; Area; A server of area; DNS BIND

  一、DNS 服务器的起源与背景

  上世纪70年代末,ARPAnet 是一个拥有几百台主机的很小很友好的网络,仅需要一个名为HOSTS.TXT的文件就能容纳所有需要了解的主机信息:它包含了所有连接到ARPAnet的主机名字到地址的映射(name-to-address mapping)。HOSTS.TXT由网络信息中心(NIC)负责维护,由NIC邮件通知各用户FTP到NIC的服务器上下载。但随着网络规模的不断扩大,由此产生了2个问题:

  1.由于下载HOSTS文件给NIC所带来的流量和服务器的负载;

  2.难以维持名字的一致性;

  因此ARPAnet的管理者提出新的管理规范以取代HOSTS文件。DNS(Domain Name System)由此而生。1984 年,Paul Mockapetris 发布了DNS 的管理规范。使用DNS,存储在数据库中的主机名数据分布在不同的服务器上,减少了对任何一台服务器的负载,并且提供了一区域为基础的对主机名系统的分布式管理的能力。DNS支持名字继承,而且除了在HOSTS文件中的主机名到IP地址的映射数据外,DNS还能注册其他不同类型的数据。由于是分布式的数据库,它的大小是无限的,而且他的性能不会因为增加更多的服务器而受到丝毫影响。当然现在的HOSTS文件还做保留(无论UNIX或WINDOWS),用来做本地解析,一般HOSTS文件的优先级比DNS高。

  目前Internet上主要有两套DNS系统:为BSD 4.3 UNIX操作系统开发的Berkeley Internet Name Domain (BIND),现在BIND也能运行在WINDOWS系统上;微软的Windows NT Server 4.0上的DNS Server成为NT服务器的标准配置,它遵循的标准是RFCs 1034和1035。最新的Windows 2003服务器则包括了一个DNS的新版本。由于BIND是使用最多的DNS服务器,所以本文将以BIND 9.3 为基础做探讨。

  二、DNS 框架结构

  DNS是许多分层式和分布式的数据库组成的系统,这些数据库中有许多不同类型的数据,包括主机名,域名等等。DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。如图所示树的最大深度不得超过127 层,树中每个节点都有一个可以长达63 个字符的文本标号。

  2.1 域名

  整个网络可以划分成一个域的分层结构。整个的域名空间可以根据组织划分或管理分类,组织成一个树状结构。树上的每个节点叫做domain,就是一个标示。一个domain 的名字就是从root 开始,到当前节点的所有domain 标志的集合。从书写的结构上看,就是从右到左依次用"."来区分开。这样域名的标志才能够唯一。例如,cisco.com,公司一台主机的域名是:support.cisco.com。com 就是 support.cisco.com 的顶级域cisco 是com 的子域,support 是主机名。有关域名服务器的定义可以在RFC1034、RFC1035 和RFC974 中找到。

  2.2 DNS和Internet

  互联网络域名系统是由互联网络上的域名注册机构来管理的,他们负责管理向组织和国家开放的顶级域名,这些域名遵循ISO-3166国际标准下表列出了现有的组织顶级域名和国家顶级域名的缩写。

  DNS顶级域名 组织类型

  com 商业公司

  edu 美国大学或学院

  org 非赢利机构

  net 大的网络中心

  gov 美国非军事联邦政府组织

  mil 美国军事机构

  num 电话号码簿

  arpa 反向DNS

  arpa 两个字母的国家代码

  2.3 DNS 域服务器类型

  1.主域服务器

  primary master server 是一个domain 信息的最根本的来源。它是所有辅域名服务器进行域传输的源。

  2.辅域名服务器

  就是slave server,或叫作secondary server。次级服务器使用一个叫做域转输的复制过程,调入其它服务器中域的内容……辅域名服务器可以提供必需的冗余服务。所有的辅域名服务器都应该写在这个域的NS 记录中。

  3.高速缓存域名服务器

  缓存服务器可以将它收到的信息存储下来,并再将其提供给其它的用户进行查询,直到这些信息过期。它的配置中没有任何本地的授权域的配置信息。它可以响应用户的请求,并询问其它授权的域名服务器,从而得到回答用户请求的信息。

  4.转发服务器

  一台缓存名服务器本身不能进行完全的递归查询。相反,它能从缓存向其它的缓存服务器转发一部分或是所有不能满足的查询,一般被称作转发服务器。

  3.分布式数据库:区域文件和委派关系

  一个DNS数据库能被分为多个区域,一个"区域"是包含有与临近的名字空间的域名等资源纪录的DNS数据库的一部分。

  一个域里的名字可以委派给其他的域,委派是将DNS名字空间的一部分的解析指定为其他不相干的项目。委派是由NS纪录来表示的,纪录中有委派的区域和那个区域的授权服务器的DNS名称。其实,跨区域委派是设计DNS的初衷之一。下面是DNS名字空间为什么要有委派关系的几个主要原因:

  · 可以把对DNS域的管理委派给组织里的下级组织或部门

  · 可以把一个巨大的DNS数据库的负债分布在多个名字服务器上,来提高名字解析的性能,同时创造了一个DNS的容错环境

  · 通过把服务器放在相应的区域里,可以实现服务器的组织从属关系NS纪录通过为每个区域指定DNS服务器来实现委派,它们出现在所有转向和反向查询域中。

  上面所说的可能过于理论化,下面以一个实例来讲解。

  域名:example.com

  该域名的注册机构为cnnic 也就是。com 根域名的管理者。

  COM->EXAMPLE

  域名注册商在其。COM根服务器下建二级子域EXAMPLE,这时有3个记录是要注意的。

  1. SOA 记录是授权记录,它记录了该域(EXAPMLE.COM)授权服务器的域名,这里一般指根服务器的域名(针对根服务器)、管理员邮件地址、以及5项和域传输有关的数字信息。

  2. NS记录,实际也就是域授权和委派的记录(我们也叫域服务器记录)。我们知道DNS是一个分布式的数据库,它不可那在根服务器上做完整的域名解析,根服务器有时只作授权服务器,它仅包括SOA记录、NS记录及NS记录的A记录。其他要靠NS记录的委派到相应的服务器上进行查询。具体实现请见 三、域名的查询机制。

  3.NS记录的A记录,指明域名查找程序进行迭代时的IP地址。

  4.DNS数据库之间的复制

  可能会有多个区域表示同一个名字空间,在这些区域中有两种类型:

  我们将一个区域文件复制到多个服务器上的过程叫做"区域传输"。他是通过从主服务器上将区域文件的信息复制到次要服务器来实现的。主服务器指得是区域传输的来源服务器,他既可以是主要区域,又可以是次要区域。

  如果主服务器是主要区域,区域传输直接从主要区域取得区域文件;如果主服务器是次要区域,区域传输仅仅传输区域文件的一个只读拷贝。

  区域传输通过下面几种方法

  1、主服务器向次激发:要服务器发出一个更新通知(RFC 1996)

  2、当次要服务器的DNS服务启动时,或者次要服务器的刷新间隔(在SOA RR中默认的是15分钟)过期时,他会向主服务器主动请求更新。

  DNS区域复制是为了保证主,从数据库的一致,而区域的复制又能实现DNS服务器本身的负载均衡,同时要保证DNS服务的冗余。如果域的NS记录(委派)有多个大家就可以看到如果进行迭代模式,DNS服务器给客户端时NS记录是均衡变化的。

  五、DNS服务器的安全

  过去一段时间曾经发生过DNS服务器安全问题,如02年根服务器遭DDOS攻击。DNS服务器作为网络的基础服务,关键服务,其安全是不容忽视的。

  5.1 以非特权方式运行BIND

  不要以ROOT启动BIND,使用一个普通用户来运行BIND,只要在运行named时加上参数-u xxx,就能以xxx运行BIND,同时设置BIND目录中的相关权限,及文件宿主。就算BIND 程序出现安全性方面的问题也能把系统的最高权限限制在USER级。

  5.2 CHROOT 环境

  为了使得chroot()环境在一个特定的目录(例如/var/named)中正常地运行,需要建立一个包含所有BIND 运行必需内容的环境。从BIND 的角度来看,/var/named 是文件系统的根。根据需要调整directory 和pid-file 的用户权限。这样启动BIND的用户就被限制在Chroot中。

  在BIND中使用 -t 来设置chroot。如:named -u bind -t /var/named,在/var/named chroot环境中,以BIND 用户运行named。

  [参考文献]

  [1]Paul Albitz and Cricket Liu, DNS and BIND , Fourth Edition 2001

  [2]BIND 9 AdministratorReference Manual by Internet Software Consortium

  RFCS 974 1034 1035 2136 2845

特别说明:本站仅协助已授权的杂志社进行在线杂志订阅,非《电脑与信息技术》杂志官网,直投的朋友请联系杂志社。
版权所有 © 2009-2024《电脑与信息技术》编辑部  (权威发表网)   苏ICP备20026650号-8