zoukankan      html  css  js  c++  java
  • 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 ~                                                                   

     

  • 相关阅读:
    设计模式之工厂方法模式
    设计模式之简单工厂模式
    ASM之ClassVisitor类设计
    多条件拦截链如何实现?
    ElasticSearch三种Java客户端
    Netty源码解析之EventLoopGroup
    Netty源码解析之编解码
    Netty源码解析之Channel+Channelhandler
    线程之ExecutorService
    网络上传文件功能实现步骤总结
  • 原文地址:https://www.cnblogs.com/hero799/p/6210662.html
Copyright © 2011-2022 走看看