本文转自网友新浪博客,很有参考价值
http://blog.sina.com.cn/s/articlelist_1648664527_0_3.html
按如下要求配置一台主域名服务器
①域名为linux.net,网段为192.168.10.0/24,服务器的IP为192.168.10.10,主机名为dns.linux.net
②需要解析的服务器包括:www.linux.net(192.168.10.11)
                       ftp.linux.net(192.168.10.12)
                       mail.linux.net(192.168.10.13)
******
1.设置IP
#vi /etc/sysconfig/network-scripts/ifcfg-eth0 (如果不是练习的话最好不要用ifconfig命令,要使用修改配置文件或netconfig的方式,推荐用ifconfig命令)

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.100
#service network restart(之后有效)
2.配置/etc/resolv.conf文件
nameserver 192.168.10.10(如果不指定服务器本机IP为DNS地址的话,那么默认的server就会是127.0.0.1)
search linux.net
#service named restart(之后有效)
***********
1.配置主配置文件/etc/named.conf
①配置正向区域
在任意zone与zone之间增加如下代码:

zone "linux.net" IN {             //定义一个名为linux.net的正向区域
 
       type master;              //类型为主域名服务器    
 
       file "linux.net";         //指定该区域的数据库文件为linux.net
};
②配置反向区域
zone "10.168.192.in-addr.arpa" IN { //此处的命名是固定的,即只能用这种格式。(否则的话不能进行解析!)
 
       type master;
 
       file "back-linux";        //命名任意但最好要有一定的意义

}

2.配置正向区域数据库文件
进入/var/named/chroot/var/named目录,创建并保存如下内容的linux.net文件(即与/etc/named.conf中定义的正向区域数据库文件名一致)
#cd /var/nemed/chroot/var/named
#ls
data 
             localhost.zone   named.ca         named.local  slaves
localdomain.zone 
named.broadcast  named.ip6.local  named.zero
为方便编辑内容可copy文件named.local然后再作修改
#cp named.conf linux.net
#vi linux.net
$TTL    86400
      IN      SOA     dns.linux.net. root.dns.linux.net.  (
 
                                     1997022700 ; Serial
 
                                     28800      ; Refresh
 
                                     14400      ; Retry
 
                                     3600000    ; Expire
 
                                     86400 )    ; Minimum
 
             IN      NS                dns.linux.net.
 
             IN      MX        10      mail.linux.net.  //如果有邮件服务器的话,此处一定要不要忘了优先级,这里的10就是mail.linux.net.的优先级
dns 
    IN           192.168.10.10
www 
    IN           192.168.10.11
ftp 
    IN           192.168.10.12
mail 
   IN           192.168.10.13

3.配置反向区域数据库文件
#cp named.conf back-linux
#vi back-linux
$TTL 
   86400
      IN      SOA     dns.linxu.net. root.dns.linux.net.  (
 
                                     1997022700 ; Serial
 
                                     28800      ; Refresh
 
                                     14400      ; Retry
 
                                     3600000    ; Expire
 
                                     86400 )    ; Minimum
 
               IN      NS      dns.linux.net.
10 
     IN      PTR     dns.linux.net.
11 
     IN      PTR     www.linux.net.
12 
     IN      PTR     ftp.linux.net.
13 
     IN      PTR     mail.linux.net.

4.配置本机的反向区域文件(这个文件主要是把127.0.0.1解析为localhost)
$TTL 
   86400
      IN      SOA     localhost. root.localhost.  (
 
                                     1997022700 ; Serial
 
                                     28800      ; Refresh
 
                                     14400      ; Retry
 
                                     3600000    ; Expire
 
                                     86400 )    ; Minimum
 
       IN      NS      dns.linux.net.
      IN      PTR     localhost.    //如果没有这行的话,服务器只能将localhost解析为127.0.0.1,但不能把127.0.0.1解析为localhost

注:在配置完这些文件之后必须输入如下命令才能生效
#service network restart
#service named restart  (很关键!)

5.测试DNS服务
客户端
①使用netconfig为客户端配置IP、网关、DNS,(或使用修改配置文件+修改/etc/resolv.conf即把resolv.conf中的nameserver指向192.168.10.10),建议使用netconfig命令,因为使用netconfig配置过DNS后,/etc/resolv.conf会自动修改。
②有三种命令可以测试DNS服务:nslookup、host、dig
仅以nslookup为例:
#nslookup
> dns.linux.net    //正向解析
Server:         192.168.10.10
Address:        192.168.10.10#53

Name:   dns.linux.net  //正向解析
Address: 192.168.10.10
> www.linux.net.
Server:         192.168.10.10
Address:        192.168.10.10#53

Name:   www.linux.net
Address: 192.168.10.11
> 192.168.10.10   //反向解析
Server:         192.168.10.10
Address:        192.168.10.10#53

10.10.168.192.in-addr.arpa      name = dns.linux.net.
> 192.168.10.11    //反向解析
Server:         192.168.10.10
Address:        192.168.10.10#53

11.10.168.192.in-addr.arpa      name = www.linux.net.
***********