如何在Linux中架设一台域名服务器
摘自:www.ithov/Linux/Network/DNS/93291.shtml
 DNS是域名系统Domain Name System的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS命名用于InternetTCP/IP网络中,通过用户友好的名称查计算机和服务,当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息。下面,小编就给大家详细介绍一下如何架设一台域名服务器
  一、域名解析方法
  1、最早的域名解析方法
  最简单的主机名解析方法是,在一个文件中记录所有的主机名以及与其相对应的IP地址,并保证该文件中主机名的唯一性,通过检索文件便可以完成主机名的解析。
  2、分布式域名服务器
  在这种分布式域名服务器体系中,每一台域名服务器只负责解析属于自己这一部分的主机域
名。
  一般情况下,如果你所在公司或组织的主机并不多,一般是将域名解析工作交给自己的ISP域名服务器来完成。而如果拥有的主机比较多,我们就可以组建自己的域名服务器负责解析主机。
  二、域名服务器建立实例
  1、实例环境
  假设我们需要建立一台应用于以下情况的一个企业主域名服务器
  1)拥有一个C类网段地址,为202.101.55.0
  2)企业域名注册为company
  3)域名服务器的IP定为202.101.55.55,主机名为dnspany,它同时充当Proxy
  4)企业网通过路由器与Internet连接
  5)要解析的服务器有:
  wwwpany (202.101.55.1) Web服务器
  mailpany (202.101.55.2) E-Mail服务器
  2、安装前的准备工作
  首先要保证系统中有/f/f这两个文件。
  /f文件中内容如下所示:
  domain compay
  nameserver 202.101.55.55
  其中第一行指出对于任何希望连到它上面的主机应该搜寻的域,而第二行指出了在哪个地址可以到需要的域名服务。
  /f的内容如下所示:
  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 dbpany
  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的主域名服务器,dbpany文件中包含了所有*.my形式的域名解析数据;
  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) 最后一行指定nameddb.cache文件中获得Internet的顶层根"服务器地址,要说明的是,
这些数据文件的名称均是自行决定的;
  4、建立正向域名转换数据文件dbpany
  根据/etc/named.boot文件中的定义,我们在/etc/named目录下建立文件dbpany,并且在其中写入所有在company域内的主机节点,根据前面假定的环境,可以写入:
  @ IN SOA dnspany. root.dnspany.(
  200002011 ;文件版本号
  28800 ;刷新时间(秒)
  7200 ;重试时间(秒)如何申请域名
  3600000 ;终止时间(秒)
  86400 TTL生存时间(秒)
  IN NS dnspany
  www IN A 202.101.55.1
  email IN A 202.101.55.2
  proxy IN CNAME
  下面我们就逐句地理解这里的配置:
  SOA是主服务器设定文件中一定要设定的命令,我们通常将它放在文件的第一行。
  1)最前面的符号“@”代表目前所管辖的域;
  2)接着的“I”代表地址类别,这里就是固定使用“IN”
  3)接下来就是命令SOA
  4)接下来填入域名服务器 ,记住由于DNS数据文件的特殊格式规定,在最后一定要加上“·”,在这个例子中,我们填入域名服务器:“dnspany.”
  5)接下来是域名服务器管理员的E-MAIL地址,但要注意的是,E-Mail地址中的分隔符“@”
在这里用“·”来代替,在最后也要加上“·”,这里我们相应写入:“root.dnspany.”
  6)接下来在括号内填上各种选项:
  文件版本号:当你修改这个文件的内容时,也要修改这个版本序列号,以此来区分是否有更新。
  更新时间:指定二级服务器向主服务器拷贝数据的更新时间周期。
  重试时间:指定二级服务器在更新出现通信故障时的重试时间。
  终止时间:指定二级服务器重新执行更新动作后仍然无法完成更新任务而终止更新的时间。
  生存时间:指定当域名服务器询问某个域名和其IP地址后,在域名服务器上放置的时间。
  注:二级服务器所设定的域名服务器是主服务器的备份主机。
  在第二行中,我们用NS命令指定这个域的域名服务器,在这里我们指出这个域的域名服务器是“dnspany”
  接下来的两行我们使用A命令来指定域名与IP地址的对应关系。我们将Web 服务器的域wwwpany与其IP地址202.101.55.1对应起来;将E-Mail服务器的域名mailpany与其IP地址202.101.55.2对应起来。
  最后一行,我们使用了CNAME命令为dnspany指定了另一个域名以供使用:proxypany
5、建立反向域名转换数据文件db.127.0.0db.202.101.55
  反向域名转换数据文件用来提供IP地址查询相应的DNS主机名,每个网段分别有一个数据文件。
  1)网段127.0.0通常只有一个地址,那就是127.0.0.1 loopback地址,所以我们在db.127.0.0中写入的内容是:
  @ IN SOA dnspany. root.dnspany.(
  200002011 ;文件版本号
  28800 ;刷新时间(秒)
  7200 ;重试时间(秒)
  3600000 ;终止时间(秒)
  86400 TTL生存时间(秒)