分享:Linux环境下构建简单实用DNS服务器

zt371 发布于 2009/05/23 12:37
阅读 203
收藏 2

  DNS是域名系统Domain Name System的缩写,是一种组织域层次结构的计算机和网络服务命名系统,当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP地址信息。今天,我就给大家介绍一下目前常见的域名解析方法以及如何在Linux系统上架设DNS服务器,希望能够给各位朋友的DNS学习带来一些帮助。

  一、域名解析的方法

  1、最早的域名解析方法

  最简单的主机名解析方法是,在一个文件中记录所有的主机名以及与其对应的IP地址,并保证该文件中主机名的唯一性,通过检索文件便可以完成主机名的解析。

  采用这种最简单的解决方法有其历史原因:在整个70年代,APRANET只是一个小规模的、由数百台主机所组成的团体。于是为了解决主机名解析问题,就将连接到ARPANET上的每台主机名和与其所对应的地址都保存在HOSTS.TXT文件中。这样每增加一台机器,就必须修改一次HOSTS.TXT文件。随着网络的不断发展,网络中的主机数量爆炸性地增加,这种域名解析方法已经无法适应新的解析需要了。

  2、分布式的域名服务器

  在这种分布式的域名服务器体系中,每一台域名服务器( DNS )只负责解析属于自己这一部分的主机域名。

  一般来说,如果你所处的公司或组织所拥有的主机并不多,一般是将域名的解析工作交给自己的ISP域名服务器来完成。而如果你所在的组织主机比较多,我们就可以组建自己的域名服务器负责解析你所在组织的主机。

  二、域名服务器建立实例

  1、 实例环境

  假设我们需要建立一台应用于以下情况的企业主域名服务器。

  1)拥有一个C类网段地址,为202.101.55.0。

  2)企业域名注册为company.com。

  3)域名服务器的IP定为202.101.55.55,主机名为dns.company.com,同时充当Proxy。

  4)企业网通过路由器与Internet连接。

  5)要解析的服务器有:

  www.company.com (202.101.55.1) Web服务器

  mail.company.com (202.101.55.2) E-Mail服务器

  2、安装前的准备工作

  首先要保证系统中有/etc/resolv.conf和/etc/hosts.conf这两个文件,/etc/resolv.conf文件中内容如下所示:

  domain compay.com

  nameserver 202.101.55.55

  其中第一行指出对于任何希望连到它上面的主机应该搜寻的域,而第二行指出了在哪个地址可以找到需要的域名服务,/etc/hosts.conf的内容如下所示:

  order hosts,bind

  multi on

  这里的设置告诉主机名称先在/etc/hosts文件中搜索,然后再查询域名服务器 。

  3、定义文件/etc/named.boot

  要使LINUX系统完成域名服务器的功能,则需要运行一个named的服务进程。这个服务进程可以在安装LINUX时选中。

  named启动时需要读取一个初始化文件--/etc/named.boot,这个文件是named的基本配置文件。它并不包含任何DNS数据,针对前面的假定环境,我们要在这个文件中写入:

  diretory /etc/named

  primary company.com db.company

  primary 0.0.127.IN-ADDR.ARPA db.127.0.0

  primary 55.101.202.IN-ADDR.ARPA db.202.101.55

  cache.db.cache

  下面我们逐行讲解这个文件中的内容:

  1) 在第一行中我们指定named从/etc/named目录下读取DNS数据文件。这个目录可以自行指定并创建,指定后将所有的DNS数据文件均存放在这个目录下;

  2) 第二行指定named作为company.com的主域名服务器,db.company文件中包含了所有*.my.com形式的域名解析数据;

  3) 第三行则指定named作为127.0.0网段(本地loopback)地址的转换主服务器。其中db.127.0.0文件中包含了所有127.0.0.*形式的地址到域名的转换数据;

  4) 第四行指定named作为202.101.55网段地址转换主服务器,db.202.101.55文件中包含了所有以202.101.55.*形式的地址到域名的转换数据;

  5) 最后一行指定named从db.cache文件中获得Internet的顶层“根”服务器地址。要说明的是,这些数据文件的名称均是自行决定的。

  4、建立正向域名转换数据文件db.company

  根据/etc/named.boot文件中的定义,我们在/etc/named目录下建立文件db.company,并且在其中写入所有在company.com域内的主机节点。根据前面假定的环境,可以写入:

  @ IN SOA dns.company.com. root.dns.company.com.(

  200002011 ;文件版本号

  28800 ;刷新时间(秒)

  7200 ;重试时间(秒)

  3600000 ;终止时间(秒)

  86400;)TTL生存时间(秒)

  IN NS dns.company.com

  www IN A 202.101.55.1

  email IN A 202.101.55.2

  proxy IN CNAME

加载中
返回顶部
顶部