在Redhat 5 上手动创建DNS服务器步骤:

1、首先创建主服务器

#yum list all bind*    查看要安装的软件包

#yum install bind      安装软件包

创建配置文件:

#vim /etc/named.conf
  options {
    directory "/var/named";
   
};
zone "." IN {
       type hint;(提示域)
       file "(相对于工作目录而言 即“/var/named”)named.ca"
};
zone "localhost" IN {
    type master;
    file "localhost.zone";
};   注:这是正向解析
zone "0.0.127.in-addr.arpa" IN {
         type master;
    file "name.local";
};  注:这是反向解析

#cd /etc/named
#dig -t NS . > named.ca
注 :这是获得根DNS的名称

添加两个文件 localhost.zone和 named.local

#vim localhost.zone
  $TTL 600
 @       IN      SOA     localhost.      admin.localhost. (
                        2012030701
                        1H
                        10M
                        1W
                        1D )
        IN      NS      localhost.
localhost.      IN      A       127.0.0.1

#cp localhost.zone named.local
#vim named.local
$TTL 600
@       IN      SOA     localhost.      admin.localhost. (
                        2012030701
                        1H
                        10M
                        1W
                        1D )
        IN      NS      localhost.
1       IN      PTR     localhost.
改变文件权限:
#chown :named /etc/named.conf ./*

下面来检测一下:

#named-checkconf (专门用于检查/etc/named.conf语法)
#named-checkzone "zone_name" PATH  用于检查区域文件
一次性检查:# service named configtest
下面来启动服务:
#service named start
用:#netstat -tunlp | grep ":53\>"
来检测一下,如果能显示出53端口的信息就 说明成功完成dns的创建。
此时dns服务就创建成功
下面来创建正向区域:
#vim /etc/named.conf
添加:
zone "magedu.com" IN {
        type master;
        file "magedu.com.zone";
};
zone "16.172.in-addr.arpa" IN {
        type master;
        file "172.16.zone";
};
添加两个文件magedu.com.zone和172.16.zone
#vim magedu.com.zone
$TTL 600
$ORIGIN magedu.com.
@       IN      SOA     dns.magedu.com.         admin.magedu.com (
                                2012030701
                                1H
                                10M
                                7D
                                1D )
                IN      NS      dns
                IN      NS      ns2
                IN      MX  10  mail
dns             IN      A       172.16.35.1
ns2             IN      A       172.16.35.2
mail            IN      A       172.16.35.3
www             IN      A       172.16.0.1
www             IN      A       172.16.35.1
pop             IN      A       172.16.50.1
#vim 172.16.zone
$TTL 600
@       IN      SOA     dns.magedu.com.         admin.magedu.com (
                                2012030701
                                1H
                                10M
                                7D
                                1D )
                IN      NS      dns.magedu.com.
                IN      NS      ns2.magedu.com.
1.35            IN      PTR     dns.magedu.com.
2.35            IN      PTR     ns2.magedu.com.
3.35            IN      PTR     mail.magedu.com.
1.0             IN      PTR     www.magedu.com.
1.50            IN      PTR     pop.magedu.com.
#sevice named configtest 检测一下是否有语法错误
#dig -t A www.magedu.com
#dig -t axfr magedu.com 完全区域查看
#dig -t axfr 16.172.in-addr.arpa
添加rndc的控制功能

#rndc-confgen生成主配置文件

rndc-confgen > /etc/rndc.conf 生成主配置文件并保存在一个文件中
打开这配置文件
#vim /rndc.conf
把下面这段写入 /etc/named.conf中
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndckey" {
#     algorithm hmac-md5;
#     secret "6h8JNfMk5UuUsFj4SNSY3A==";
# };
#
# controls {
#     inet 127.0.0.1 port 953
#         allow { 127.0.0.1; } keys { "rndckey"; };
# };
# End of named.conf
编辑配置文件
#vim /etc/named.conf
# key "rndckey" {
#     algorithm hmac-md5;
#     secret "6h8JNfMk5UuUsFj4SNSY3A==";
# };
#
# controls {
#     inet 127.0.0.1 port 953
#         allow { 127.0.0.1; } keys { "rndckey"; };
# };
这些行的#号去掉
注:
rndc 的命令用法 :
reload 重新载入配置文件和区域文件
reload zone 重新载入某区域文件
freeze zone 冻结区域
reconfig:重新载入主配置文件和发生过更新的区域文件
stop停止服务
flush 清空缓存
status 显示服务状态
listen-on 设置只监听的端口
下面来创建一个从服务器作冗余用
一个从服务器的创建

在另一台机器上:

安装bind软件
#yum install bind
编辑配置文件:
#vim /etc/named.conf
options {
        directory "/var/named";
        listen-on port 53 { 127.0.0.1; 172.16.35.2; };
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "localhost" IN {
        type master;
        file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
};
到主服务器上拷贝文件:
#scp 172.16.35.1:/var/named/{name.ca,localhost.zone,named.local}
#rndc-confgen > /etc/rndc.conf
#vim /rndc.conf
把这段写入 /etc/named.conf中
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndckey" {
#     algorithm hmac-md5;
#     secret "6h8JNfMk5UuUsFj4SNSY3A==";
# };
#
# controls {
#     inet 127.0.0.1 port 953
#         allow { 127.0.0.1; } keys { "rndckey"; };
# };
# End of named.conf
vim /etc/named.conf
# key "rndckey" {
#     algorithm hmac-md5;
#     secret "6h8JNfMk5UuUsFj4SNSY3A==";
# };
#
# controls {
#     inet 127.0.0.1 port 953
#         allow { 127.0.0.1; } keys { "rndckey"; };
# };
这些行的#号去掉
在/var/named目录中
#chown :named /etc/named.conf ./  改变文件的权限

指出主服务器:

#vim /etc/named.conf
添加:
zone "magedu.com" IN {
        type slave;
        masters { 172.16.35.1; };
        file "slaves/magedu.com.zone";
};
#rndc reconfig
这时magedu.com.zone 就同步到 /var/named/slaves/目录中
以上是“正向的从”
下面是“反向的从”
#vim /etc/named.conf
添加:
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
};
rndc reconfig
这时named.local文件就同步到/var/named/slaves/目录中了。
这样之后一个从服务器就完成了。

以上是手动创建一个简易的DNS服务器。