上一篇介绍了DNS服务器的基本概念,那么,光说不练假把式,下边我们就详细的介绍一下DNS服务器的详细构建步骤

要想搭建一个DNS服务器,首先应该安装一下DNS的软件,也就是bind

=========================================================

主服务器

1、安装bind

  yum  -y install bind

在安装bind工具的时候,通常会安装bind-utils、bind-chroot、bind-libs几个支持bind的软件包。

bind

DNS的主程序,提供DNS服务

bind-utils

提供客户端使用的工具

Binf-chroot

限制服务活动目录,可防止******

Bind-libs

为bind和bind-utils提供库文件


2、查看安装bind之后生成的文件,这里只介绍几个主要的配置文件

[root@localhost named]# rpm -qc bind
/etc/named.conf                 //定义主配置文件
/etc/named.root.key             //实现事务签名的密钥文件
/etc/named.rfc1912.zones         //定义区域配置文件
/var/named/named.ca            //用于根域的解析,

3、在安装过bind之后,修改下主配置文件/etc/named.conf注释掉以下三行

//      listen-on port 53 { 127.0.0.1; };//这里默认监听的地址是本机,所以要改成外部地址或注释不要。
//      listen-on-v6 port 53 { ::1; };//这里是IPV6的监听地址也可注释
//      allow-query     { localhost; };//定义只允许本地查询,所以可以注释不要。
[root@station1 ~]# vim /etc/named.conf
options {
        directory       "/var/named";
        forward only;
        forwarders { 172.16.0.1; };         //指定由哪个DNS做转发器
        bindkeys-file "/etc/named.iscdlv.key";
};
[root@station1 ~]# named-checkconf
[root@station1 ~]# rndc reload

注:这里设置的内容对全局都有效,所以确定之后再在该目录效进行操作

注:这里启动named服务之后,就成为一个缓存服务器

4、修改主配置文件之后,我们需要在区域配置文件/etc/named.rfc1912.zones里边,为我们的服务器定义一个新区域,

在文件的末端添加:

zone "magelinux.org" IN {       //定义正向解析
        type master;                //定义服务器的类型:  l  
        file "magelinux.org.zone";     //定义区域文件的名称
};
zone "6.16.172.in-addr.arpa" IN {   //定义反向解析
        type master;                //定义服务器的类型:  l  
        file "172.16.6.zone";     //定义反向解析文件的名称
};


注:服务器的类型是可以指定的

        master:表示定义的主域名服务器

        slave:表示定义的是辅助域名服务器

        hint:表示是互联网中的根域名服务器

        forward:表示定义的是一个转发服务器

     在修改过区域配置文件之后,需要检测下语法是否有错误,利用named-checkconf检测,之后没有输出内容就说明区域配置文件,没有问题

5、定义区域解析文件

[root@localhost named]# cd

[root@localhost ~]# cd /var/named        //必须在/var/named目录下编辑区域文件

[root@localhost named]# vim magelinux.org.zone  //编辑正向解析文件,这里区域文件的名称必须与区域配置文件里边定义的一致,否则不能解析

区域解析文件内容:

    正向解析:

$TTL  86400            #一天的时间秒钟计算,看你的需求你需要多少写多少
@        IN       SOA     dns.magelinux.org.    admin.magelinux.org. (
                               2013081401   //序列号(serial number),若此服务器有从服务器,则在修改文件之后必须加1,否则,从服务器不能同步数据
                               2H       //刷新时间(refresh time), 通知(notify): 只通知给本区域解析库文件中定义NS记录的所有主机;
                               10M      //重试时间( retry time)
                               7D         // 过期时间(expire time)
                               6H )      //否定答案的ttl
         IN       NS      dns   #若不写全会自动同步名称,若不写全不能以”.”结尾
         IN       MX  10  mail
dns      IN       A       172.16.6.11
mail     IN       A       172.16.6.2
www      IN       A       172.16.6.6
www      IN       A       172.16.6.7  #若一个主机名两个地址可以实现“负载均衡“
ftp      IN       CNAME   www       //一个主机可以有多个名字,即定义别名

  反向解析文件:


[root@localhost named]# vim 172.16.6.zone                   //编辑反向区域文件
$TTL  86400
@        IN       SOA     dns.magelinux.org.    admin.magelinux.org. (
                               2013081401
                               2H
                               10M
                               7D
                               6H )
         IN       NS      dns.magelinux.org.  //这里必须写全,不然会默认成dns.6.16.172
11      IN       PTR     dns.magelinux.org.
2        IN       PTR     mail.magelinux.org.
6        IN       PTR     www.magelinux.org.
7        IN       PTR     www.magedu.com.

注:必须将正反向解析文件权限属组更改成系统默认设定权限,这个授权很重要,要不然DNS无法正常工作。

[root@localhost named]# chmod 640 magelinux.org.zone
[root@localhost named]# chmod 640 172.16.6.zone
[root@localhost named]# chown :named magelinux.org.zone
[root@localhost named]# chown :named 172.16.6.zone

6、检测区域文件语法是否错误

[root@localhost named]# named-checkzone "magelinux.org"         //检查zone语法错误与否
zone magelinux.org/IN: loaded serial 2013081401
OK           //显示文件语法无误
[root@localhostnamed]# named-checkzone "6.16.172.in-addr.arpa"
zone 6.16.172.in-addr.arpa/IN: loaded serial 2013081401
OK     //显示反向解析文件语法无误     

7、启动服务

[root@localhost etc]# service named start             //启动服务
Generating /etc/rndc.key:                                  [  OK  ] 
Starting named:                                            [  OK  ]

8、验证是否能解析成功

        linux下

193342537.png

Windos下

193502216.png

===========================================================

从服务器

从服务器的构建跟主服务器的构建步骤一致,只不过是配置文件不同,

注:从服务器不需要解析文件,只需要在主服务器里边为从服务器添加NS记录,及与之对应的A记录即可

194430278.png

编辑从服务器的区域配置文件

200052487.png

然后启动服务,用dig命令测试即可,方法与主服务器测试方法相同

这样从服务器就创建完成了

==========================================================

子域创建及授权

其实子域授权就是在父域的解析文件里边为要创建的子域添加一条NS记录,及与之对应的A记录保存而已


202109882.png

编辑文完成后保存,即完成了对子域的划分与授权

注:编辑完成后注意序列号要+1,用来给从服务器同步数据,然后使用rndc reload 同步下数据

为子域编辑区域解析文件

202615571.png

注:父域能解析子域,子域不能解析父域