十四、Bind软件的子域授权

全球网络的DNS服务器都是由多级所构成的,每一台主机通过域名服务找到所要访问的主机IP地址都是通过一层层DNS服务器找到的。而这样的结构就决定了,上级域名服务器必须具备找到子域的能力,例如tianxia.com.这个域名,在顶级域com.下就必须要找到tianxia.com.这个子域。所以上级域名服务器就必要在解析库文件中定义子域。

定义子域的方法,就是在域名解析库文件中定义一个子域的NS记录,然后再给这条NS记录定义一条A记录即可。例如在tianxia.com.这个域名下定义一个zg.tianxia.com.这个子域。

exp:

            $TTL 1D            
            $ORIGIN tianxia.com.
            @       IN      SOA     @       admin.tianxia.com. (
                            2017101601
                            2H
                            10M
                            1D
                            1W
                    )
                    IN      NS      ns1
                    IN      NS      ns2
            zg      IN      NS      ns1.zg    //子域定义
            zg      IN      NS      ns2.zg    //子域定义
            ns1.zg  IN      A       2.2.2.2    //子域定义
            ns2.zg  IN      A       2.2.2.3    //子域定义
            ns1     IN      A       1.1.1.1
            ns2     IN      A       1.1.1.2
            www     IN      A       1.1.1.3
            web     IN      CNAME   www

当任何主机申请解析zg.tianxia.com.这个域时,当前域名服务器就会返回zg.tianxia.com.域的域名服务器IP地址。


十五、域名服务器转发定义

正常情况下,当域名服务器无法在本地解析域名时,会向根域名服务器申请迭代查询。如果希望在本地没有查询到,而转向指定服务器进行查询时,就必须定义域名服务器的转发。需要注意的是被转发的域名服务器必须允许为当前服务器做递归。

域名服务器定义转发规则还分为两种转发,第一种为区域转发,第二种为全局转发。

◆区域转发

区域转发实际上就是转发对某特定区域的解析请求,例如在子域zg.tianxia.com.这个子域下配置对tianxia.com.域名的解析全部转发到tianxia.com.域名服务器中

exp:

        zone "tianxia.com."    IN    {        
            type    forward;
            forward    { first };
            forwarders    { 192.168.5.130; };
        };

配种中,type类型必须定义为forward;forward类型可定义为first或者only,first表示首先转发,当转发的服务器不响应时,自行去迭代查询,only表示仅转发;forwarders类型定义需要转发到的域名服务器IP地址。

◆全局转发

全局转发主要针对除本地没有通过zone定义的区域查询请求,全部转发给某服务器。实际上这是对域名服务器的一个全局定义,所以应该配置在/etc/named.conf中。格式为

exp:

        options {        
                ...
                forward  {first|only};
                forwarders  { SERVER_IP; };
                ...    
        }


十六、访问控制列表配置

bind软件中为了进行相关的安全配置,设置了访问控制列表,由acl关键字来定义。acl访问控制列表实际上就是将一个或多个地址归并一个命名的集合,随后通过此名称即可对此集合内的所有主机实现统一调用。访问控制列表的定义规则:

acl    acl_name{

        ip1;

        net/prelen;

        ...

exp:

        acl    tianxia_net{        
                192.168.5.121;
                1.2.3.0/24;
        };

在bind软件中默认有四个内置的访问控制列表,分别是none、any、local、localnet,分别表示没有主机、所有主机、本机、本机所在的网络。

常用的使用访问控制列表的指令有:

allow-query {};定义用于查询的主机

allow-transfer {};定义允许向哪些主机做区域传送

allow-recursion {};定义允许哪些主机向当前DNS服务器发起递归查询请求

allow-update {};定义允许动态更新区域数据库文件中的内容