linux下DNS服务器视图view及日志系统详解

  1. DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用

    ACL格式:

    acl ACL名称 { 

        IP地址1或子网段1;

        IP地址2或子网段2;

    };

    例如:将内网172.17.0.0/16及192.168.1.0/24,127.0.0.0/8写成ACL

    acl intra { 

    172.17.0.0/16;

         192.168.1/0/24;

    127.0.0.0/8;

};

  引用ACL:

    allow-recursion { intra; };

2.视图view:如果在named.conf文件中定义视图,所有的zone区域都必须定义在视图中

 视图格式:

view 视图名称 {


};

 例如:将1.1.1.0/24及192.168.1.0/24,127.0.0.0/8这些IP地址来请求DNS解析,都解析成电信的IP,

     其他所有来源IP都解析成联通IP

  2.1.vim /etc/named.conf

acl intra {

           1.1.1.0/24;

           192.168.1.0/24;

           127.0.0.0/8;

};


options {

        directory "/var/named";

       allow-recursion { intra; };

};


view  telecom {

       match-clients { intra; };

       zone willow.com IN  {

                   type master;

                   file "telecom.willow.com.zone";

        };

};

view  unicom  {

       match-clients { any; };

       zone willow.com IN  {

                   type master;

                   file "unicom.willow.com.zone";

        };

};


  2.2.vim /var/named/telecom.willow.com.zone


$TTL 600

@       IN  SOA     ns1.willow.com.  admin.willow.com.  (

                               20160518

                               1H

                               5M

                               2D

                               1D )

@             IN     NS         ns1

             IN     MX  10     mail

ns1           IN      A          1.1.1.18

mail           IN     A          1.1.1.100

www            IN     A          1.1.1.200

www            IN     A          1.1.1.201

  2.3.vim /var/named/unicom.willow.com.zone

$TTL 600

@       IN  SOA     ns1.willow.com.  admin.willow.com.  (

                               20160518

                               1H

                               5M

                               2D

                               1D )

@            IN     NS         ns1

             IN     MX  10     mail

ns1           IN      A         1.1.1.18

mail          IN      A         2.2.2.100

www          IN      A          2.2.2.200

www          IN      A          2.2.2.201

~                                            


3.DNS日志系统,请对比syslog日志学习

catagory: 自定义日志来源 

v15种日志来源:

default  Defines default channel for categoriesü

general  Catch-all category for unclassified messagesü

client  客户端请求问题相关的

üconfig  配置文件问题相关的ü

dispatch  Dispatch of inbound packets to internal server modules

üdnssec  DNSSEC and TSIGü

lame-servers  远程服务器丢失配置问题相关的

ünetwork  网络相关的ü

notify  通知相关的

üqueries  查询相关的ü

resolver 递归查询相关的

üsecurity  安全相关的ü

update  动态更新相关的

üxfer-in  从服务器接收区域传送相关的ü

xfer-out  主服务器发送相关的


channel: 自定义日志保存位置,即存放位置有以下两种:

 syslog:可将日志转交给syslog进行记录

 file: 自定义保存日志信息的文件

针对channel日志级别有critical  error  warning  notice  info  debug [level]   dynamic

DNS日志系统格式如下:

logging{ 

   channel my_file名字 { file "日志文件位置" versions 3 size 10k

                                             severity dynamic;

                 print-category yes;

                 print-time yes;

                 print-severity yes;

  }; 

 channel my_syslog名字 { syslog mail;

                                               severity info;

    };

 category xfer-in  { my_file名字;};

 category update  { my_syslog名字; };

};


例如:自定义DNS查询日志:

  vim /etc/named.conf

logging {

        channel query_log {

          file "/var/log/bind/bind_query.log" versions 3 size 5M;

          severity  dynamic;

           print-category yes;

           print-time yes;

           print-severity yes;

         };

         category queries { query_log;};

};

mkdir /var/log/bind

chown named.named /var/log/bind

chmod 770 /var/log/bind

显示结果如下:

wKioL1c8E4-gtHRjAADoWWZSNTc252.jpg

DNS测试工具:

queryperf : 压力测试,bind源码包中自带

     queryperf -d 文件名 -s server名

dnstop:监控DNS服务器性能

     dnstop -4 -Q -R eht0