Linux
以我的主机名称是server,所要建立的DNS域为yanchun.com.本人的网段为192.168.31.0/24.DNS服务器地址为192.168.31.1/24为例.
1.准备工作.
/etc/sysconfig/network            //修改本机的主机名
/etc/host.conf                    //设置本机DNS域名解析的顺序.bind为DNS解析.host为本机hosts
                                    文件解析
/etc/hosts                        //查看本机的host文件.清除不必要的选项,以防在进行DNS测试时出
                                    现错误
/etc/sysconfig/network-scripts/ifcfg-*   //设置本机的IP地址.
在完成以上的工作后,还要查看本机是否已经安装了DNS服务相关的rpm包.
在RHEL4中,与dns服务相关的rpm包共有3个,分别是:
bind-libs-9.2.4-2.i386.rpm          //实现域名解析功能必备的库文件
bind-utils-1.17.2-3.i386.rpm        //提供了对DNS进行测试的工具程序
bind-9.2.4-2.i386.rpm               //BIND服务器软件包
在正确安装了以上的rpm包后,还要安装
caching-nameserver-7.3-3.noarch.rpm这个包,该包安装完成后,会对DNS的主配置程序文件named.conf进行更改.我们只需要在此基础上稍做修改就可以正确的运行DNS服务了
2.修改DNS服务主配置文件/etc/named.conf
该文件中含有options 和 controls 等全局配置语句.还有zone区域配置语句.
全局配置语句我们在非必要的时候不要动它,只需要利用zone区域配置语句增加一个我们自己的DNS域即可.
以我自己的DNS服务器为例,我增加的zone区域配置语句如下:
    zone   "yanchun.com"   IN   {                     //指明要增加的DNS域的名称,并且为正向
                                                         查找区域.注意书写格式
                type  master;                         //指明增加的为DNS的主要区域
                file "yanchun.com.zone";              //设置该主要区域的区域配置文件名.该文件
                                                        的默认存储路径为/var/named.在DNS的全局
                                                        配置中进行的设置.
                allow update {"none";};                //设置该DNS不允许动态更新
      };
 
   zone    "31.168.192-in.addr.arpa"   IN   {         //指明该区域为反向查找区域.
                 type master;                         //指明该反向查找区域为主要区域
                 file  "192.168.31.zone";             //设置该反向查找区域的区域配置文件名.该
                                                        文件的默认存储路径同正向查找区域.
                 allow update {"none";};              //设置该DNS不允许动态更新.
     };
   更该完成后,保存退出.
3.配置DNS服务的区域配置文件.
在/etc/named目录下,有正向查找区域的配置文件模板文件(localhost.zone)和反向查找区域的配置文件模板文件(named.local).我们可以利用这两个文件生成我们自己的正向查找区域的配置文件(yanchun.com.zone)和反向查找区域的配置文件(192.168.31.zone).
  cp localhost.zone  yanchun.com.zone
  cp named.local     192.168.31.zone
复制完成后,注意这两个文件的权限,DNS会自己在系统中创建一个用户和组,名称均为named,要保证named用户对此两个文件最低权限为读取.
  修改正向查找区域配置文件,在此文件中添家自己的资源记录.
  格式如下:
 
@           IN       SOA        server.yanchun.com.        root.server.yanchun.com. (
           //@表示当前的DNS域.  注意文件中的FQDN最后都有一个"."
                                 20080726    ;        serial   //序列号,要小于10位,一般我们定
                                                                 义为日期
                                 28800       ;        refresh  //更新时间,单位为秒
                                 14400       ;        retry    //更新失败重试时间
                                 3600000     ;        expriy   //过期时间
                                 86400   )   ;        minimum  //设置记录的缓存时间
            IN        NS         server.yanchun.com.           //注意FQDN末尾的"."
server      IN        A          192.168.31.1                  //一条主机记录
www         IN        A          192.168.31.1
mail        IN        A          192.168.31.1
bbs         IN        A          192.168.31.200
mail        IN      CNAME        host1                          //一条别名记录
   @        IN       MX   5      mail.yanchun.com.              //添加一条邮件交换记录.5为该
                                                                 邮件服务器的优先级别,值越小,
                                                                 优先级越高,在多台邮件SERVER时
                                                                 有意义.@表示为当前域.
 
修改反想查找区域的配置文件.格式如下:

@           IN        SOA        server.yanchun.com.         root.server.yanchun.com  (
                                     20080726         ;         serial
                                     28800            ;         refresh
                                     14400            ;          retry
                                     3600000          ;          expriy
                                     86400   )        ;          minimum
            IN         NS         server.yanchun.com.
 
1           IN         PTR        server.yanchun.com.
1           IN         PTR        mail.yanchun.com.
1           IN         PTR        [url]www.yanchun.com[/url].
200         IN         PTR        bbs.yanchun.com.
 
修改完毕后,保存退出.
 
4.运行下面两条命令,检查所做的修改.
named-checkconf    //检查主配置文件是否有错误
named-checkzone   yanchun.com   /var/named/yanchun.com.zone
                   //检查正向查找区域的配置文件是否有错误
named-checkzone   yanchun.com   /var/named/192.168.31.zone
                   //检查反向查找区域的配置文件是否有错误
 
5.启动DNS服务.
 
6.运行下面的命令让DNS的区域配置文件在修改后,不需要重新启动DNS服务即可生效.
 rndc  reload
到这里,就可以运行测试工具nslookup或者dig进行测试了.
 
有的朋友可能还想配置DNS的根提示和转发器.下面就再简单介绍一下,根提示和转发器的配置.
 
1.根提示:
根提示的配置很简单,只需要修改一下根提示配置文件,增加一条记录即可.
根提示的配置文件为/etc/named/named.ca
增加一条记录,以我自己的服务器为例来说,格式为:
 
.                     3600000    IN    NS      SERVER.YANCHUN.COM.   //注意大写啊!
SERVER.YANCHUN.COM.   3600000           A      192.168.31.1
修改完毕后,保存退出.这样根提示就设置好了.
 
2.转发器.
转发器的配置也很简单,只需要在DNS的主配置文件中增加下面的内容即可:
在named.conf的options全局声明中加入如下内容:
options          {
          forward   first或only  ;          //设置转发模式.只在forwarders选项值非空时才有效.
                                              first模式表示,DNS服务器在接到查询时,会首先向
                                              转发器查询,当没有结果时,该DNS服务器会尝试自己
                                              查询.only模式,则是该DNS服务器只向转发器查询.
          forwarders {202.96.68.38;};
                  };
修改完成后,转发器就配置成功了.
 
3.转发区域的配置.
在域的环境下,我们用到转发区域的配置的可能性还是比较大的,下面就简单介绍下转发区域的配置.
在DNS的主要配置文件中增加以下区域,内容及格式如下:
zone   "yanchun.com"  IN  {            //设置需要转发查询的区域
        tpye forward;
        forward  first或only;
        forwarders {192.168.31.1;};
                           }
这样,一个转发区域就配置成功了.
 
提示:在RHEL5中,配置DNS与RHEL4稍微有点不同.
在RHEL5中,DNS默认根目录是/var/named/chroot.
所以,我们在做设置时,只需要从该目录下找相应的配置文件即可.
稍微有一点不同的是:DNS的主配置文件,在RHEL5中,安装完相应的软件包后,并没有生成named.conf这个配置文件,而是有named.caching-nameserver.conf和named.rfc1912.zones两个配置文件.
其实,这两个文件的作用和RHEL4中的DNS主配置文件的作用是一样的.
named.caching-nameserver.conf用来存放各声明选项.
named.rfc1912.zones文件用来存放各个区域的信息.