如果你以前使用过, 你只是忘记了,那么请你从后往前看.
新人的话一点点看把.

1 BIND 软件安装目录,以及sample文件
安装  
# yum install bind
# cd /usr/share/doc/bind-9.7.0/sample            // 系统安装bind软件的默认目录中的实例文件
# cd /usr/share/doc/bind-9.7.0/sample/var    // 对应实际的配置相应的解析文件
# cd /usr/share/doc/bind-9.7.0/sample/etc    // 对应实际的配置服务named.conf文件

2 配置单机DNS需要2个配置目录
# /etc/named.conf                                    //配置服务named.conf文件,可以在上面的sample里找到
# /var/named/chroot/var/named/        //配置相应的解析文件,可以在上面的sample里找到
PS: 配置文件目录会根据你采用的系统不同而变化.

正式配置之前, 先让我们确定你的网卡地址. 即你的DNSserver地址.
我们这里配置的是 192.168.10.15

 

3 配置服务文件 named.conf

#vim /etc/named.conf                            //进入named.conf下配置. (如下:)
//
 // named.conf
 //
 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
 // server as a caching only nameserver (as a localhost DNS resolver only).
 //
 // See /usr/share/doc/bind*/sample/ for example named configuration files.
 //options {
         listen-on port 53 { 127.0.0.1; any; };                ///注意, 加上any, 意为, 对任何主机在53端口监听, 不加只提供给本机.端口53
         listen-on-v6 port 53 { ::1; };                                ///支持IPV6
         directory       "/var/named";                                    ///定义域名解析文件目录
         dump-file       "/var/named/data/cache_dump.db";                        ///定义数据库目录
         statistics-file "/var/named/data/named_stats.txt";                    ///状态目录
         memstatistics-file "/var/named/data/named_mem_stats.txt";        ///~~~
         allow-query     { localhost; any; };                    ///注意, 加上any, 对本地,所有主机提供解析服务
         recursion yes;        dnssec-enable yes;                                                        ///如果有请保持默认, 非必须文件
         dnssec-validation yes;                                                ///如果有请保持默认, 非必须文件
         dnssec-lookaside auto;                                                ///如果有请保持默认, 非必须文件        /* Path to ISC DLV key */
         bindkeys-file "/etc/named.iscdlv.key";                ///如果有请保持默认, 非必须文件
 };logging {                                                                                            ///定义log文件地址
         channel default_debug {
                 file "data/named.run";                                /// log哦! 好东西 默认的date路径在/var/named/chroot/var/named/
                 severity dynamic;
         };
 };zone "." IN {                                                                                    ///默认保留
         type hint;
         file "named.ca";
 };zone "qwest.com" IN {                                                                    ///自己添加的域名正向解析,可以以此为例  此名字实际是一个文件, 对应/var/named/chroot/var/named/相同文件
         type master;
         file "qwest.com.zone";                                                ///与步骤4中名字相同. 再别的操作系统中, 可以直接放入路径 例如/etc/xxx.con.zone
 };zone "10.168.192.in-addr.arpa" IN {                                        ///反向解析, 要配对. 地址为192.168.10.x 注意顺序是反的
         type master;
         file "10.168.192.in-addr.arpa";                                ///与步骤4中名字相同
 };include "/etc/named.rfc1912.zones";                                        ///保持默认即可

 

4 配置域名文件详细信息的文档  在 /var/named/chroot/var/named/ 下面, 一个文件就是一个域名解析的地址列表
来看看我的机器里有些什么

[root@localhost named]# ls
 10.168.192.in-addr.arpa      eran.com.zone      named.ca     named.localhost  qwest.com.zone
 10.168.192.in-addr.arpa.bak  eran.com.zone.bak  named.empty  named.loopback

其中, 以下四个文件有时候会没有, 没有是不能正常启动的.
如果没有, 请回到步骤1 中 cd /usr/share/doc/bind-9.7.0/sample/var 下找到相应的文件 cp到/var/named/chroot/var/named/ 目录
named.ca
named.localhost
named.empty
named.loopback

我在步骤3举了个例子, qwest.com, 下面就是它的解析文件以及反向解析文件
先看 qwest.com.zone

[root@localhost named]# vim qwest.com.zone                                 ///建立正向解析文件 注意字段后面多了一个.
$TTL 86400                        
 @ IN SOA ns.qwest.com. root.qwest.com. (
                                                      20101103 ; serial (d. adams)
                                                      3H         ; refresh
                                                      15M        ; retry
                                                      1W         ; expiry
                                                      1D )       ; minimum default_ttl@          IN NS ns.qwest.com.
ns        IN A 192.168.10.15                                                            /// 二级域名, 看的明白.  ns.qwest.com = 192.168.10.15
 ldap       IN A 192.168.10.3                                                            /// 以下都同上了, 呵呵
 ad         IN A 192.168.10.4
 krb        IN A 192.168.10.5
 www        IN A 192.168.10.15
 download   IN A 192.168.10.15 [root@localhost named]# vim 10.168.192.in-addr.arpa                ///建立反向地址解析文件, 注意IN 前面的数字即为你反解地址.
$TTL 86400
 @ IN SOA ns.qwest.com. root.qwest.com. (
                                                    20101103   ; serial (d. adams)
                                                    3H         ; refresh
                                                    15M        ; retry
                                                    1W         ; expiry
                                                    1D )       ; minimum default_ttl@   IN NS dns.qwest.com.
15  IN PTR ns.qwest.com.                                                                    /// 得到反解结果 15.10.168.192 = ns.qwest.com 看懂没?
 3   IN PTR ldap.qwest.com.                                                                /// 同上   3.10.168.192 = ldap.qwest.com
 4   IN PTR ad.qwest.com.                                                                    ///  下面的自己看把, 不多写了
 5   IN PTR krb.qwest.com.
 15  IN PTR www.qwest.com.
 15  IN PTR download.qwest.com.

ok, 你按照这个模板重写即可, 注意, 需要在域名后加.zone/ 在域名后面 root.qwest.com.  注意最后的.
结尾的 ns IN A 192.168.10.15 是你做解析的本地网卡的地址 必写
其他的例如 www IN A 就是指你解析出来的地址了.

5 启动/停止/重启 DNSserver

# /etc/init.d/named start
 # /etc/init.d/named stop
 # /etc/init.d/named restart

最后我们总结下思路:
A 修改name.conf文件, 添加正反解析的文件的文件名 (10.168.192.in-addr.arpa 和 qwest.com.zone)
B 这里面要留神添加 any;  否则你只能再server上解析, 别的电脑无法使用这个server.
C 在 /var/named/chroot/var/named/ 建立 你的正反解析文件, 对应第一步的 10.168.192.in-addr.arpa 和 qwest.com.zone
D 反解和正解文件按格式复制即可, 但是小心多余的. 和其他ns 啊 zone等多出来的单词.
E    正常启动即可.
PS 其debug目录默认再 /var/log/message里面, 即系统log.
   你还可以进入 /var/named/chroot/var/named/中的data/named.run 查看