DNS&BIND——DNS的子域受权和定义转发服务器


子域受权:分布式数据库数据库


  1. 定义:每一个域的名称服务器,都是经过其上级名称服务器所在的解析库进行受权:vim

    例子:服务器

    1. 根域受权tld,在根域的名称服务器上,解析库中添加资源记录:

      分布式

  • .com.            IN      NS      ns1.com.
    .com.            IN      NS      ns2.com.
    ns1.com.         IN       A      2.2.2.1
    ns2.com.         IN       A      2.2.2.2


lalala.com. 在.com的名称服务器上,解析库中添加资源记录:ide

        

  • lalala.com            IN      NS      ns1.lalala.com.
    lalala.com            IN      NS      ns2.lalala.com.
    lalala.com            IN      NS      ns3.lalala.com.
    ns1.lalala.com.       IN       A       3.3.3.1
    ns2.lalala.com.       IN       A       3.3.3.2
    ns3.lalala.com.       IN       A       3.3.3.3



正向子域受权实例:spa

                                ----    三级域名的子域受权(ops.lalala.com)orm


[root@server named]# cat lalala.com.zone
$TTL 1D
@       IN SOA   ns1.lalala.com. admin.lalala.com (
                                       2016060905; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
       NS      ns1.lalala.com.
       NS      ns2.lalala.com.
       MX  10  mx1.lalala.com.
       MX  20  mx2.lalala.com.
ns1     A       172.25.254.11
ns2     A       172.25.254.18
www     A       172.25.254.11
*       A       172.25.254.11为

#子域受权

ops     NS      ns1.ops   #没加.  则自动追加成ops.lalala.com
ops     NS      ns2.ops
ns1.ops A       172.25.254.10
ns2.ops A       172.25.254.19


                                       root                                     server

    |blog

     com 递归

    |

                        lalala                   

     /       \

(local dns) ops     www  

                                                                            |——   user


有了子域受权,父域就能轻松的找到子域啦,但是子域仍是不知道父域在什么地方==

    

  1. 假设子域(ops)为用户的本地dns服务器,用户须要访问www.lalala.com 

  2. 访问过程:

    1. user请求ops,因为ops不负责lalala.com这个域

    2. 因此ops把请求给root,由root开始,层层迭代....

  3. 出现的问题

    1. 原本是内部区域解析问题,却要麻烦root进行层层迭代,效率地下
      因此转发器应运而生,当当当党~

  4. 解决方法

    1. 当咱们服务器发现有不能解析的域时,将请求转发给指定服务器

    2. 通常指定服务器为上游服务器,也就是转发服务器~






定义转发服务器


                - 注意:被转发服务器须要可以为当前请求作递归,不然转发请求不予进行


    转发类型:

            1.所有转发:

                    -    对不是本机负责解析的区域的请求,通通转发给指定服务器

Options {
                    forward (first|only)
                    fowarders
       }

        

            2.区域转发:

                     -     仅转发对特定区域的请求至某服务器


     zone "ZONE_NAME" IN {
   type forward;
   forward (first|only)
            fowarders
   };


               3.转发的两种模式:    

        

  • first:先递归,后迭代(找根)

  • only:只递归,无结果,自我放弃



下面来看一下区域转发服务器的配置



    • 配置核心思想:

      desktop 自己不能解析lalala.com,因此将解析需求转发到能解析lalala.com的server上.



定义转发服务器前:(解析失败)

wKiom1lBSmWAJuWxAACvA_Y1_EU129.png


定义区域转发服务器:


[root@desktop named]# vim /etc/named.rfc1912.zones
zone "lalala.com" IN {
       type forward; #定义转发类型
       forward only; #只使用递归模式查找
       forwarders {172.25.254.11;}; #转发服务器为172.25.254.11

};


定义转发服务器后:(解析成功)


wKioL1lBSmXz24APAADe1FW5ICw961.png


注意:

  1. 开启转发功能时,应关闭两台服务器的dnssec校验

[root@server named]# vim /etc/named.conf
       dnssec-enable yes;
       dnssec-validation no;
       dnssec-lookaside auto;


区域转发比全局转发优先级高

相关文章
相关标签/搜索