一、安装DNS软件

命令:yum -y install bind

安装后对DNS服务的一些简单介绍:
    named    DNS服务的系统服务名称
    /etc/named.conf   DNS服务的主配置文件
    /etc/named.rfc1912.zones    定义区域zone的文件
    /etc/rc.d/init.d/named      bind的服务脚本文件
    /etc/rndc.conf      rndc的配置文件
    /usr/sbin/named-checkconf  检测/etc/named.conf文件语法是否正确
    /usr/sbin/named-compilezone  检测zone及其zone文件配置语法是否合法
    /usr/sbin/rndc    远程DNS管理工具
    /usr/sbin/rndc-confgen   生成rndc密钥
    /var/named/named.ca   记录的是根服务器的地址
    /var/named/named.localhost   本地主机解析库
    /var/named/slaves   记录从DNS服务器设置的文件夹
二、启动DNS服务

CentOS 6:service named start
CentOS 7:systemctl start named
三、编辑bind主配置文件/etc/named.conf

[root@CentOS6 ~]# vim /etc/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; };   
            //IPv4的监听端口,可以直接注释掉,表示监听所有的本机IP,
            //也可以直接在大括号里直接写成 {any; }
        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     { any; };    //允许查询该DNS服务的主机IP
        recursion yes;   //是否允许递归查询

        dnssec-enable yes;   
        dnssec-validation yes;
        //这两处都DNS的扩展安全认证机制,一般情况下不用管他就行,
        //但是在设置主从服务器与转发服务器时需要将这两个选项都设置成 no 。

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {   //定义日志
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {   //定义根区域文件名称
        type hint;   //该类型专指根服务器类型,不能将其用作其他
        file "named.ca";   //根区域文件名,使用的是相对路径,
                           //默认存放的是/var/named/named.ca
};

include "/etc/named.rfc1912.zones";   //定义zone区域的配置文件
include "/etc/named.root.key";    //根区域的key文件,跟事务签名有关
四、自定义zone(创建自己的DNS服务)

想要创建自己定义的DNS服务,需要在/etc/named.rfc1912.zones文件中添加自己想要设置的zone(区域),
然后在/var/named/目录下添加刚刚添加的区域解析库,该解析库的文件名要与设置zone里file字段定义的文件名一致。
(1)、创建正向解析:首先在/etc/named.rfc1912.zones中添加要设置的区域名

[root@CentOS6 ~]# vim /etc/named.rfc1912.zones 
zone "qq.com" IN {   //定义域名,IN 是 Internet 的意思,也可以不写。
    type master;   //定义该DNS是主还是从级别
    file "qq.com.zone";   //该区域的解析库文件名,是相对路径,默认存放
                          //在 /var/named/ 目录下,该文件名可以随便定
                          //义,但要与下面在/var/named/ZONE_NAME.zone 文件名一致。
}; 

//然后保存退出。

//然后在/var/named/目录下创建新加的区域解析文件。
注意:创建该区域的解析库文件,该文件名必须要与 named.rfc1912.zones 里 file 字段定义的名称一致,该文件也可以通过将 /var/named/named.localhost 拷贝到该文件中,但是文件创建后必须注意修改文件的所属人、所属组和权限;建议使用 cp /var/named/named.localhost /var/named/ZONE_NAME.zone -p 指令,然后再对文件进行修改。
————————————————
版权声明:本文为CSDN博主「AhhSong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/AhhSong/article/details/78230108

[root@CentOS6 ~]# vim /var/named/qq.com.zone   //文件名要与在/etc/named.rfc1912.zones设置的zone里file字段定义的文件名一致。 
$TTL 86400   //定义缓存过期时长
$ORIGIN qq.com.  //这一行可以不写,系统会自动从别处继承;若写的话,域名后的“.”不能省略,若省略系统会自动补全,可能会出现问题,比如若不全的就会补成qq.com.qq.com.
@    IN SOA ns1 admin.163.com.( 
    //只有ns1才是定义的域名称,这里使用的是类似变量的方式替代的;
    //后面的那个163是这个DNS服务器管理员的邮箱,邮箱中的 @ 要用 . 来替代。

                2017010101; serial
                //序列号,该序列号定义后,若要在修改只能增,不能减;
                //同时从DNS服务器会根据该序列号是否变化来决定是否从
                //主DNS服务器上进行备份,此时是从服务器向主服务器拉
                //(pull)数据进行数据同步;该序列号最多有10位,
                //超出会报错。

                2H; refresh   //定义多长时间从DNS服务器会从
                              //主DNS服务器上拉(pull)数据。
                5M; retry   //定义主从DNS服务器同步数据时出现问题的话,
                            //要过多长时间再次尝试。
                7D; expire  //定义从DNS服务器多长时间内无法与主DNS服务
                            //器同步数据时,从DNS服务器上的数据会失效。
                1D; MINTTL  //DNS服务器无法返回给客户端正确回答时的
                            //否定回答要保存多久,避免客户端对同一无效
                            //请求在一段时间内发起多次访问。
                )

@  IN  NS  ns1   //定义指定DNS服务器(NS前面的那些项可以不写,
                 //不写的话就会直接从上面继承,也可以只写一个 @ ;
                 //域名写的话就要写全:qq.com.)
@  IN  NS  ns2   //域名可以指定多个域名服务器,如果存在多个的情况下,
                 //此处ns2表示从域名服务器。
ns1  IN  A  172.16.100.10   //指定ns1域名服务器的IP地址。
ns2  IN  A  172.16.100.11   //指定从域名服务器IP地址。
ns1  IN  MX 10 mail1   //定义邮件服务器,此记录也可指定多个,
                       //10表示此记录的优先级别,数字越小优先级越高。
mail1   IN  A  172.16.100.10   //指定邮件服务器IP地址。
www     IN  A  10.20.57.10    //指定该域名下的web服务器主机的IP地址。
ftp     IN  CNAME www   //将ftp主机设置为www别名。
*       IN   CNAME www    //设置泛域名解析,可以使所有符合该域名
                          //后缀的链接都访问到该IP地址,
                          //但是该域名后缀的前面不能为空。
@(也可以直接只写一个域名:qq.com.)  IN  A 172.17.111    //也是一种
                //泛域名解析,允许访问该域名后缀的链接的主机部分为空。
$GENERATE 1-100 server$ A 1.1.1$    //$为一个1-100内的数字,
                   //可以实现server1.qq.com--server100.qq.com之间
                   //100个链接的访问($GENERATE 应该为固定写法!!!)。

//保存退出。

//配置好后可以通过 named-checkzone /var/named/ZONE_NAME.zone 指令
//进行语法检查,若本身就在/var/naned目录下,就不用写绝对路径了。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值