实验环境:centos 7

程序版本:bind-9.9.4-29.el7.x86_64

安装方法:yum install -y bind (base仓库):

端口:

    TCP53:负责主从服务器的数据复制传输

    UDP53:负责解析

主配置文件:/etc/named.conf

区域配置文件存放目录:/var/named/

从服务器的区域配置文件存放目录:/var/named/slaves

主服务器:192.168.1.12

从服务器:192.168.1.13



主从配置

~]# cp -p /etc/named.conf /etc/named.conf.bak

~]# vi /etc/named.conf

options {
      listen-on port 53 { localhost; };     #哪些主机可以访问解析
      listen-on-v6 port 53 { ::1; };
      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; };  #允许哪些主机请求查询
        
      recursion yes;                  #递归查找
       
      dnssec-enable no;        #DNS加密
      dnssec-validation no;    #DNS加密高级算法
       
       
      zone "wwe.com" IN {        #正向区域
       type master;   #主(master),从(slave),转发(forward),根(hint)
       file "wwe.com.zone";  #区域文件名称
       allow-transfer { 192.168.1.13; };   #定义传输白名单
      };
      zone "1.168.192.in-addr.arpa" IN {   #反向区域
       type master;
       file "arpa-wwe.zone";
       allow-transfer { 192.168.1.13; };   #定义传输白名单
      };

正向解析区域文件

SOA:起始授权机构,定义DNS区域中的权威服务器

NS:定义DNS区域正在提供DNS服务的主机

A记录:主机记录(正向区域)

MX:邮件交换记录。如果有多个,在MX记录后应有一个0-99的值,表示此服务器的优先级,值越小优先级越高

*:泛域名

CNAME:别名

~]# cp /var/named/named.localhost /var/named/wwe.com.zone

~]# vi /var/named/wwe.com.zone

$TTL 1D
@       IN SOA  s1.wwe.com. admin.wwe.com. (   SOA后写主DNS服务器名字
                       2017001 ; serial  序列号,最大10位
                        1D      ; refresh 刷新时间
                       1H      ; retry    重试时间
                       1W      ; expire   过期时间
                       3H )    ; minimum  否定答案的TTL值
        NS      s1.wwe.com.
        NS      s2.wwe.com.
s1      A       192.168.1.12
s2      A       192.168.1.13
www     A       192.168.1.12
@       MX 10   mx1
        MX 20   mx2
mx1     A       192.168.1.14
mx2     A       192.168.1.15
ftp     CNAME   www
*       A       192.168.1.12

检查]# named-checkzone wwe.com.zone /var/named/wwe.com.zone  #文件名 文件路径

注意:com后面都有点

注意:修改区域文件的属主和主组为named

admin后面的点是@的意思,因@有特殊含义,故用点代替

D(day)

H(hour)

W(week)

M(minute)

/etc/resolv.conf

反向解析区域文件:

]# vi /var/named/arpa-wwe.zone

$TTL 1D
@       IN SOA  s1.wwe.com. admin.wwe.com. (
                                 2017001 ; serial
                                 1D      ; refresh
                                 1H      ; retry
                                 1W      ; expire
                                 3H )    ; minimum
        NS      s1.wwe.com.
        NS      s2.wwe.com.
12      PTR     s1
13      PTR     s2
12      PTR     www
14      MX 10   mx1
15      MX 20   mx2

启动服务

从服务器配置

zone "wwe.com" IN {
        type slave;        #类型:从服务器
        masters { 192.168.1.12; };    #定义主服务器地址,括号内前后空一格
        masterfile-format text;    #不写可能会出现乱码问题
        file "slaves/wwe.com.zone";    #文件存放位置,文件名要与主服务器一样
};
zone "1.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.1.12; };
         masterfile-format text;
        file "slaves/arpa-wwe.zone";
};

启动服务

查看/var/named/slaves/目录下有没有生成区域配置文件

安装bind-utils程序包,使用dig命令可检查服务是否可用

~]# dig ftp.wwe.com @192.168.1.12

注意:在使用的客户端上修改文件 /etc/resolv.conf

添加DNS服务器,也就是我们上面设置的DNS主服务器

nameserver 192.168.1.12



子域授权和转发


    为了方便公司部门管理运营,每个部门需要独立的域名服务器,这就要在父域下分配子域,比如,运维部的子域ops.wwe.com,而子域需要父域授权

父域:主机192.168.1.12      wwe.com

子域:主机10.1.12.100     ops.wwe.com


编辑父域的区域文件

~]# vi /var/named/wwe.com.zone  添加俩条记录

        NS      son.ops.wwe.com.
son.ops A       10.1.12.100


配置子域的DNS:

]# vi /etc/named.conf

zone "ops.wwe.com" IN {
        type master;
        file "ops.wwe.com.zone";
};

zone "wwe.com" IN {
        type forward;
        forward only;
        forwarders { 192.168.1.12; };
};

生成区域文件:

]# vi /var/named/ops.wwe.com.zone

$TTL 86400      ; 1 day
@       IN SOA  son.ops.wwe.com. admin.ops.wwe.com. (
                         2011002    ; serial
                         86400      ; refresh (1 day)
                         3600       ; retry (1 hour)
                         604800     ; expire (1 week)
                         10800      ; minimum (3 hours)
                                )
@               NS      son.ops.wwe.com.
son             A       10.1.12.100
www             A       10.1.12.12




DNS智能解析(基于视图)


~]# vi /etc/named.conf

acl innet { 192.168.1.0/24; };        #来源IP指定
acl another { ! 192.168.1.0/24; };       #反选,上面指定的IP网段外的IP

view "lan" {                            #定义内网的名字 
        match-client { "innet"; };      #匹配这个IP网段才使用下面的zone
zone "." IN {
        type hint;
        file "named.ca";
};
zone "wwe.com" IN {
        type master;
        file "wwe.com.zone";
        allow-transfer { 192.168.1.13; };
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "arpa-wwe.zone";
        allow-transfer { 192.168.1.13; };
};
};

view "wan" {                             #定义外网的名字
        match-client { "another"; };     #同上,匹配acl定义的这个网段
zone "." IN {
        type hint;
        file "named.ca";
};
zone "wwe.com" IN {
        type master;
        file "wwe.com.zone.new";           #区域文件要与上面不一样
        allow-transfer { 192.168.1.13; };
};
};

配置view "wan"中定义的区域配置文件wwe.com.zone.new文件

]# vi /var/named/wwe.com.zone.new

$TTL 1D
@       IN SOA  s1.wwe.com. admin.wwe.com. (
                               2011002 ; serial
                               1D      ; refresh
                               1H      ; retry
                               1W      ; expire
                               3H )    ; minimum
        NS      s1.wwe.com.
        NS      s2.wwe.com.
        NS      son.ops.wwe.com.
s1      A       192.168.100.12
s2      A       192.168.100.13
son.ops A       10.1.12.100
www     A       192.168.100.12
@       MX 10   mx1
        MX 20   mx2
mx1     A       192.168.100.14
mx2     A       192.168.100.15
web     CNAME   www
*       A       192.168.100.15