BIND的进阶二:视图,日志,转发,子域的授权

实验分为4部分组成:

 1:DNS的转发   2:DNS日志     3:子域的授权

 4:智能DNS的简单配置根据网段来分配不同的ip地址

 

一:DNS的转发: 转发方式有两种:only (直接把客户端请求的内容通通的发送给转发主机,自己做任何事情) first (先转发,要是没有自己再去解析)

  vim  /etc/named.conf       \\\\ 在从服务做转发,转发可以定义在全局或者自己定义的区域  

1 options { 2 directory "/var/named"; 3 forward first; \\转发的方式,先转发给192.168.50.128 4 forwarders {192.168.50.128; }; \\要是请求的内容没有对方也没有的话,再自己一层一层的迭代 5 }; 6 7 zone "." IN { 8 type hint; 9 file "named.ca"; 10 }; 11 12 zone "iccso.com" IN { 13 type slave; 14 file "slaves/iccso.com.zone"; 15 masters {192.168.50.128; }; 16 allow-transfer {none; }; 17 }; 18 19 zone "50.168.192.in-addr.arpa" IN { 20 type slave; 21 file "slaves/192.168.50.zone"; 22 masters {192.168.50.128; }; 23 allow-transfer {none; }; 24 }; 25 26 27

二:DNS的日志

 在讲述 logging 语句的语法之前,先要熟悉一些常用术语术语 含义

channel(通道) 日志输出方式,如:syslog、文本文件、标准错误输出或 /dev/null
category(类别) 日志的消息类别,如:查询消息或动态更新消息等
module(模块) 产生消息的来源模块名称
facility(设备) syslog 设备名
severity(严重性) 消息的严重性等级

channel:定义日志的格式有2种方式

           一种是由系统的syslog来帮忙继续 保存文件为/var/log/message

           一种是自定义的file来记录

                        [print-time boolean;]            // 是否在消息中添加时间前缀,仅用于 file 日志
                        [print-severity boolean;]        // 是否在消息中添加消息严重性前缀
                       [print-category boolean;]        // 是否在消息中添加消息类别名前缀

category :规定了日志的来源有是什么,还有保存的文件名字叫什么

  client 处理客户端请求。
config 配置文件分析和处理。
database 同BIND内部数据库相关的消息,用来存储区数据和缓存记录。
default 匹配所有未明确指定通道的类别。
dnssec 处理 DNSSEC 签名的响应。
general 包括所有未明确分类的 BIND 消息。
lame-servers 发现错误授权,即残缺服务器。
network 网络操作。
notify 区更新通知消息。
queries 查询日志
resolver 名字解析,包括对来自解析器的递归查询信息。
security 批准/非批准的请求。
update 动态更新事件。
xfer-in 从远程名字服务器到本地名字服务器的区传送。
xfer-out 从本地名字服务器到远程名字服务器的区传送。

severity 语句用于指定消息的严重性等级, log_severity 的取值为(按照严重性递减的顺序):

critical
error
warning
notice
info
debug [ level ]
dynamic 是一个特殊的值,它匹配服务器当前的调试级别

配置主配置文件:

 

   vim /etc/named.conf  

1 2 options { 3 directory "/var/named"; 4 notify yes; 5 querylog yes; \\要是单独只有这个选项的话会把日志自动记录在 /var/log/message 6 }; 7 8 logging { 9 channel querylog { 10 file "/var/log/named/query.log" versions 5 size 10M; 11 severity dynamic; 12 print-time yes; 13 print-severity yes;}; 14 15 category queries {querylog;}; 16 }; 17 18 zone "." IN { 19 type hint; 20 file "named.ca"; 21 }; 22 23 zone "iccso.com" IN { 24 type master; 25 file "iccso.com.zone"; 26 allow-transfer {192.168.50.228; }; 27 }; 28 29 zone "50.168.192.in-addr.arpa" IN { 30 type master; 31 file "192.168.50.zone"; 32 allow-transfer {192.168.50.228; }; 33 }; 34

 

 1 [root@localhost ~]# dig -t A mail.iccso.com
 2 
 3 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> -t A mail.iccso.com
 4 ;; global options: +cmd
 5 ;; Got answer:
 6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9591
 7 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
 8 
 9 ;; QUESTION SECTION:
10 ;mail.iccso.com.            IN    A
11 
12 ;; ANSWER SECTION:
13 mail.iccso.com.        6400    IN    A    192.168.50.129
14 
15 ;; AUTHORITY SECTION:
16 iccso.com.        6400    IN    NS    ns1.iccso.com.
17 iccso.com.        6400    IN    NS    ns2.iccso.com.
18 
19 ;; ADDITIONAL SECTION:
20 ns1.iccso.com.        6400    IN    A    192.168.50.128
21 ns2.iccso.com.        6400    IN    A    192.168.50.228
22 
23 ;; Query time: 0 msec
24 ;; SERVER: 192.168.50.128#53(192.168.50.128)
25 ;; WHEN: Wed Dec 21 22:22:56 2016
26 ;; MSG SIZE  rcvd: 116
27 
28 [root@localhost ~]# tail /var/log/named/query.log 
29 21-Dec-2016 22:14:54.917 info: client 192.168.50.128#38518: query: 128.50.168.192.in-addr.arpa IN PTR + (192.168.50.128)
30 21-Dec-2016 22:16:53.055 info: client 192.168.50.128#39116: query: 128.50.168.192.in-addr.arpa IN PTR + (192.168.50.128)
31 21-Dec-2016 22:22:56.917 info: client 192.168.50.128#59190: query: mail.iccso.com IN A + (192.168.50.128)
32 [root@localhost ~]# 

三、子域的授权 

   所谓的子域就是在我们申请域名下再建立一个域名 申请:iccso.com.   我们在申请的域名下:再弄出两个子域名 fin.iccso.com.   mark.iccso.com.

 

 

分两个部分完成;1:先在iccso.com的数据文件 建立两条NS记录和A记录

                       2:在另外一台主机安装BIND并配置对应的文件

 1 vim /var/named/iccso.com
 2 
 3 $TTL  6400 
 4 @            IN         SOA        ns1      admin (
 5                                        2016122103 ;serial 
 6                                             2H    ;refresh  
 7                                             5M    ;retry  
 8                                             1W    ;expire
 9                                             3H  )  ;minimum
10              IN         NS        ns1.iccso.com.    
11 fin          IN         NS        ns1.fin.iccso.com.             \\添加NS和A记录
12 mark         IN         NS        ns1.fin.iccso.com.
13              IN         NS        ns2.iccso.com.
14              IN         MX   10   mail.iccso.com.
15 ns1.fin      IN         A         192.168.50.3
16 ns1.mark     IN         A         192.168.50.4
17 ns1          IN         A         192.168.50.128
18 ns2          IN         A         192.168.50.228
19 mail         IN         A         192.168.50.129
20 www          IN         A         192.168.50.128
21 ~                                                

 

 1 vim /etc/named.conf
 2 
 3 options {
 4         directory       "/var/named";
 5         notify  yes; 
 6         querylog yes;
 7         allow-query {any; };         \\是否允许查询,默认是开始的,在{}里面我们可以自己定义,可以允许可以查询的网段 
 8         recursion yes;                            \\eg:allow-query {172.16.10.0/24; }; 
 9 };                                    \\recursion 是否允许给客户端递归,定义和allow-query一样
10 
11 logging  {
12        channel querylog {
13        file "/var/log/named/query.log" versions 5  size 10M;
14        severity dynamic;
15        print-time yes;
16        print-severity yes;};
17     
18       category queries {querylog;};
19 };
20 
21 zone "." IN {
22         type hint;
23         file "named.ca";
24 };
25 
26 zone "iccso.com" IN {
27        type master;
28        file "iccso.com.zone";
29        allow-transfer {192.168.50.228; };
30 };

 

 在子域配置如下:子域ip:192.168.50.3            

 1 vim /var/named.conf
 2 
 3 options {
 4         directory       "/var/named";
 5         forward   first;                   //设置转发 这样我们就可以解析iccso.com域里面的数据了 
 6         forwarders {192.168.50.128; };
 7 };
 8 
 9 zone "." IN {
10         type hint;
11         file "named.ca";
12 };
13 
14 zone "fin.iccso.com" IN {
15        type master;
16        file "fin.iccso.com.zone";
17 }; 
 1 vim /var/named/fin.iccso.com
 2 
 3 $TTL  6400 
 4 @            IN         SOA        ns1      admin (
 5                                             0 ;serial 
 6                                             2H    ;refresh  
 7                                             5M    ;retry  
 8                                             1W    ;expire
 9                                             3H  )  ;minimum
10              IN         NS        ns1.fin.iccso.com.    
11 ns1          IN         A         192.168.50.3
12 www          IN         A         192.168.50.3
13 ~                                              

 


1
[root@localhost redhat]# dig -t NS iccso.com \\\在我们进行测试的时候可能在日志可以看见查询请求,但是就是没有显示出来 2 \\有可能是防火墙挡住 关闭防火墙:server iptables stop 3 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> -t NS iccso.com 4 ;; global options: +cmd 5 ;; Got answer: 6 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50595 7 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 8 9 ;; QUESTION SECTION: 10 ;iccso.com. IN NS 11 12 ;; ANSWER SECTION: 13 iccso.com. 5391 IN NS ns1.iccso.com. 14 15 ;; ADDITIONAL SECTION: 16 ns1.iccso.com. 5391 IN A 192.168.50.128 17 18 ;; Query time: 0 msec 19 ;; SERVER: 192.168.50.3#53(192.168.50.3) 20 ;; WHEN: Wed Dec 21 23:26:40 2016 21 ;; MSG SIZE rcvd: 61 22 23 [root@localhost redhat]# dig -t A www.fin.iccso.com 24 25 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> -t A www.fin.iccso.com 26 ;; global options: +cmd 27 ;; Got answer: 28 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37550 29 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 30 31 ;; QUESTION SECTION: 32 ;www.fin.iccso.com. IN A 33 34 ;; ANSWER SECTION: 35 www.fin.iccso.com. 6400 IN A 192.168.50.3 36 37 ;; AUTHORITY SECTION: 38 fin.iccso.com. 6400 IN NS ns1.fin.iccso.com. 39 40 ;; ADDITIONAL SECTION: 41 ns1.fin.iccso.com. 6400 IN A 192.168.50.3 42 43 ;; Query time: 0 msec 44 ;; SERVER: 192.168.50.3#53(192.168.50.3) 45 ;; WHEN: Wed Dec 21 23:27:01 2016 46 ;; MSG SIZE rcvd: 85

四 、智能的DNS-->eg:我们在访问淘宝的时候,淘宝的服务会自动的判断我们对应的区域,而分配一个离我们最近的服务ip地址,不同的ip地址

  指向同一个域名主机:www.taobao.com

 我们引入了视 1 vim /etc/named.conf  3 options {

 4         directory       "/var/named";
 5         querylog yes;
 6         allow-query {any; };
 7         recursion yes;
 8 };
 9 
10 View  "192.168.50-segment" {
11   match-clients {192.168.50.0/24; };        \\在192.168.50网络时是接入时自动给对应的数据文件
12   zone "." IN {
13        type hint;
14        file "named.ca";
15       };  
16 
17 zone "iccso.com" IN {
18        type master;
19        file "50.iccso.com.zone";                  \\数据文件位置 
20        allow-transfer {192.168.50.228
21 }; 22 }; 23 24 view "192.168.156-segment" { 25 match-clients {192.168.156.0/24; }; 26 zone "." IN { 27 type hint; 28 file "named.ca"; 29 }; 30 31 zone "iccso.com" IN { 32 type master; 33 file "iccso.com.zone"; 34 allow-transfer {192.168.50.228; }; 35 }; 36 };

 

 1 vim /var/named/50.iccso.com.zone
 2 
 3 $TTL  6400 
 4 @            IN         SOA        ns1      admin (
 5                                        2016122103 ;serial 
 6                                             2H    ;refresh  
 7                                             5M    ;retry  
 8                                             1W    ;expire
 9                                             3H  )  ;minimum
10              IN         NS        ns1.iccso.com.    
11 fin          IN         NS        ns1.fin.iccso.com.
12 mark         IN         NS        ns1.fin.iccso.com.
13              IN         NS        ns2.iccso.com.
14              IN         MX   10   mail.iccso.com.
15 ns1.fin      IN         A         192.168.50.3
16 ns1.mark     IN         A         192.168.50.4
17 ns1          IN         A         192.168.50.128
18 ns2          IN         A         192.168.50.228
19 mail         IN         A         192.168.50.129
20 www          IN         A         192.168.50.128
21 ~                                                                                                                                                                      
22 ~                                                                                                                                                                      
23 ~                                                      
 1 vim /var/named/iccso.com.zone 
 2 
 3 $TTL  6400 
 4 @            IN         SOA        ns1      admin (
 5                                        2016122103 ;serial 
 6                                             2H    ;refresh  
 7                                             5M    ;retry  
 8                                             1W    ;expire
 9                                             3H  )  ;minimum
10              IN         NS        ns1.iccso.com.    
11 fin          IN         NS        ns1.fin.iccso.com.
12 mark         IN         NS        ns1.fin.iccso.com.
13              IN         NS        ns2.iccso.com.
14              IN         MX   10   mail.iccso.com.
15 ns1.fin      IN         A         192.168.50.3
16 ns1.mark     IN         A         192.168.50.4
17 ns1          IN         A         192.168.50.128
18 ns2          IN         A         192.168.50.228
19 mail         IN         A         192.168.50.129
20 www          IN         A         192.168.156.128 
21 ~                                                                                                                                                                      
22 ~                                                                                                                                                                      
23 ~                                                                   

 

 

 

posted @ 2016-12-22 16:21  你是我的神奇  阅读(1051)  评论(0编辑  收藏  举报