一,主从配置


1.DNS.正向配置

1.主配置文件:

/etc/named.conf

可包含其他文件

主配置文件配置之后便有缓存功能

配置主配置文件:

主配置文件:

/etc/named.conf

可包含其他文件


options {

        listen-on port 53 { 10.1.45.70; };#监听本机端口

        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;#关闭

        dnssec-validation no;#关闭

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

2.定义区域文件配置

定义区域:主配置文件或主配置辅助文件实现

格式:

zone “ZONE_NAME IN {

type {master|slave|hint|forward};

file "ZONE_NAME";

}”

例:

#vim /etc/named.rfc1912.zones

zone "liaoxz.com" IN {

        type master;

        file "liaoxz.com.zone";

};



3.建立区域数据文件/var/named目录下建立区域数据文件

注:必须文件名与定义区域文件写的一样

区域数据文件格式定义:

name [TTL]  IN  RR_TYPE    value

SOA:

NAME:当前区域名字;例如“liaoxz.com.” 

value:由多部分组成

1)当前区域区域名称(也可以使用主DNS名称);

2)当前区域管理员邮箱地址(不能使用@符号,使用.替代)

3)主从服务协调属性定义以及否定答案TTL

例如:liaoxz.com.  86400  IN  SOA  liaoxz.com. admin.liaoxz.com.  (

2017010801;(不能超过10位)序列号

2H;(刷新时间)

10M;(重试时间)

1W;(过期时间)

1D;(否定答案TTL值)


)


NS:

name :当前区域名称

value:当前区域的某DNS服务器的名字。一个区域可以有多个ns记录

 

 liaoxz.com. 864000 IN NS  ns1.laioxz.com

 

 MX

 

 name;当前区域名称

 value:当前区域某邮件交换器的主机名,每个记录的value之前应该有一个数字便是优先级。

 

 A


name 某FQDN 

value ipv4地址

 

PTR 

name:IP地址,有特定的格式,ip反过来写。而且后面为特定后缀,

value FQDN

例如 10.1.45.10 写成  10.45.1.in-addr-arpa.

10.45.1.in-addr-arpa   IN  PTR  www.magedu.com



CNAME 

name:别名 FQDN别名

value:FQDN格式正式名字

例如:

web.liaoxz.com. IN CNAME www.liaoxz.com.

注意:

1)ttl值可以继承全局

2)@表示当前区域名称

3)相邻的两条记录与name相同时,后面可以省略

4)MAX ,NS 等类型的记录类型的value为FQDN,次FQDN应该有一个A记录。


例:

$ORIGIN liaoxz.com.

@       IN      SOA     ns1.liaoxz.com. liao.liaoxz.com. (

                                        2017101505

                                        1H

                                        10M

                                        10D

                                        1D )

                IN      NS              ns1

                IN      NS              ns2

                IN      MX              10 mx

ns2             IN      A               10.1.45.60

web             IN      A               10.1.45.66

www             IN      A               10.1.45.70

abb             IN      A               10.1.45.70

ns1             IN      A               10.1.45.70

mx              IN      A               10.1.45.60

ll              IN      A               10.1.45.78

5iwc            IN      A               10.1.45.99

ops             IN      NS              ns1.ops

ns1.ops         IN      A               10.1.45.61

bbs             IN      A               10.3.4.5

bbs1            IN      A               10.1.5.6


2.DNS.反向配置

1)定义区域:主配置文件或主配置辅助文件实现


zone “ZONE_NAME IN {

type {master|slave|hint|forward};

file "ZONE_NAME";

}”


注意:反向区域名字

反写的网段地址,in-addr.arpa

45.1.10.in-addr-arpa

2)定义区域解析库文件(主要记录为PTR)

$TTL 3600

$ORIGIN 45.1.10.in-addr.arpa.

@       IN      SOA     ns1.liaoxz.com. liao.liaoxz.com. (

                                2017101401

                                1H

                                10M

                                3D

                                12H )

        IN      NS      ns1.liaoxz.com.

11      IN      PTR     ns1.liaoxz.com.

66      IN      PTR     web.liaoxz.com.

11      IN      PTR     www.liaoxz.com.

99      IN      PTR     max.liaoxz.com.

111     IN      PTR     mx2.liaoxz.com.


3.DNS.主从赋值

1)在从服务器上定义区域

定义为从区域

zone "ZONE_NAME" IN {

type slave;

file "slaves/ZONE_NAME";

masters {master_ip};

};



zone "liaoxz.com" IN {

        type slave;

        file "slaves/liaoxz.com.zone";

        masters { 10.1.45.70; };

};


zone    "45.1.10.in-addr.arpa" IN {

        type slave;

        file    "slaves/10.1.45.zone";

        masters { 10.1.45.70; };


};


从服务器主配置文件修改:

options {

        listen-on port 53 { 127.0.0.1; 10.1.45.60; };

        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;

        dnssec-validation no;


4.测试及工具

dig 命令

dig [-tRR_TYPE] name @SERVER(哪一个服务器测试)[query options]

用于测试DNS系统,因此其不会查询hosts文件;

查询选项:

+[no]trace:跟踪解析过程;

+[no]recurse:进行递归查询;



反向解析

dig -x ipaddress

注意:

1:时间要同步

2:更改主服务器中的正反向解析条目后要更改序列号,

二,子域、区域转发配置、及智能bind


什么是子域?

例如我的域名是liaoxz.com.

子域就是在我现在有的二级域后在添加一个三级域



子域授权:

正向解析区域授权自域的方法

ops.liaoxz.com. INNSns1.ops.liaoxz.com.

ops.liaoxz.com. IN     NSns2.ops.liaoxz.com.

ns1.ops.liaoxz.com. IN A   IPADDR

1)在主服务器上添加子域服务器的NS 和A 记录

ops             IN      NS              ns1.ops

ns1.ops         IN      A               10.1.45.61

注意:如果有从服务器,将序列号也更改一下

2)更改子域服务器的主配置文件

vim /etc/named.conf

更改以下几项

options {

        listen-on port 53 { 127.0.0.1; 10.1.45.61; };

recursion yes;

        dnssec-enable no;

        dnssec-validation no;

启动服务

配置区域文件

vim /etc/named.rfc1912.zones

zone "ops.liaoxz.com" IN {

        type master;

        file "ops.liaoxz.com.zone";


};


配置正向区域

vim /var/named/ops.liaoxz.com.zone 

$TTL 3600

$ORIGIN ops.liaoxz.com.

@        IN     SOA     ns1.ops.liaoxz.com. liao.ops.liaoxz.com. (

                2017010801

                1H

                10M

                1D

                2H )

        IN      NS      ns1

ns1      IN     A       10.1.45.61

KK       IN     A       10.1.45.79

~                                                                  

定义转发区域:(DNS解析不再直接去妆发给.根服务器)

注意:被转发的服务器必须允许为当前服务做递归

1)区域转发:金转发对某特定区域的解析请求

zone "ZONE_NAME"IN {

type foward;

foward {frist|only}

fowarders {SERVER_IP;}

};


first:首先转发,转发不成功是转发给根

only:只装发,等待

zone "liaoxz.com" IN {

        type forward;

        forward only;

        forwarders { 10.1.45.60; 10.1.45.70; };

};


2)全局转发(凡是本地没有通过zone定义的区域查询请求通通转发给指定DNS)

option{

forward {only|frist}};

forwarders {SERVER_IP;};

};


options {

        listen-on port 53 { 127.0.0.1; 10.1.45.61; };

        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;

forward only;

forwarders { 10.1.45.70; };

        dnssec-enable no;

        dnssec-validation no;


安全相关配置

acl :访问控制列表;把一个或多个地址归并一个集合,随后通过此名称对此集合内的所有主机实现统一调度;

acl acl_name {

ip;

net/prelen;

};

示例:

acl mynet {

10.1.0.0/16;

127.0.0.0/8;

};




bind有四个内置ACL

none :没有一个主机

any:任意主机

local:本机

localnet;本机所在的IP所属的网络


访问控制指令:

1. allow-query {};允许查询的主机;白名单;

2. allow-transfer {};允许向那些主机传送,默认所有都可以传送;(可以对所有进行控制,配置在主配置文件就可以,也可以对其中某一个区域进行配置,在区域配置文件里增加;建议从服务器设置从none,不允许传送)

例如:

1.首定义一个acl

vim /etc/named.conf

acl slave {

10.1.45.61;

127.0.0.1;

};

2.进行区域转发配置

zone "liaoxz.com" IN {

        allow-transfer { slave; };

        type master;

        file "liaoxz.com.zone";

};


3.allow-recursion {}; 允许哪些主机向当前DNS服务器发送递归查询请求;默认是yes开启,也可以使用acl进行控制。


4.allow-update {};DDNS,允许动态更新区域数据库文件中的内容;

建议设置成{ none }


智能DNS 区别不同流量将请求转发道不同流量通道,联通走联通,电信走电信。

view VIEW_NAME {

zone

zone

zone

};


将联通的所有ip地址统计到acl中,将电信所有的ip地址统计到电信的acl中,


view yidon {

match-clients { yidonacl };

type master;

file liaoxz.com/yidon

};


view lianton {

match-clients { liantonaclacl };

type master;

file "liaoxz.com/lianton";

};