DNS的subdomain-forward-view


 一、子域授权和转发
 如果一个公司申请下一个luowei.com的域名,但是考虑到公司的部门
 太多,需要在单独的部们内建立以个单独的域名,如我们现在有
 www.luowei.com,
 bbs.luowei.com,
 tech.luowei.com,
 我们现在想把tech.luowei.com单独独立出来,做一个子域,里面同样
 也有www.tech.luowei.com
     bbs.tech.luowei.com ....
 根据DNS解析的工作原理,父域知道子域,而子域不知道上一级的父域,
 这个时候如果想找到父域,需要先找到根,然后从根一步一步的向下找
 子域授权需要在父域上来实现,glue records连接记录
 正向的授权:
 在父域上添加如下记录
 tech.luowei.com.     IN   NS ns1.tech.luowei.com.
 ns1.tech.luowei.com.  IN   A   192.168.1.104
 如果我以192.168.1.103作为父域服务器,192.168.1.107作为子域服务器
 192.168.1.100作为测试用的
 接下来主要做的配置如下
 在192.168.1.103的主配置文件如下:
#vim /etc/named.conf
options {
 directory "/var/named";
};
zone "." IN {
 type hint;
 file "named.ca";
};
zone "localhost" IN {
 type master;
 file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
 type master;
 file "named.local";
};
zone "luowei.com" IN {
 type master;
 file "luowei.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
 type master;
 file "192.168.zone";
};
两个主要的数据配置文件/var/named/luowei.com和/var/named/192.168.zone
#vim /var/named/luowei.com.zone
 $TTL 86400
@ 600 IN SOA ns.luowei.com. admin.luowei.com. (
     2011082701
     1H
     10M
     7D
     1D )
  IN NS ns.luowei.com.
ns.luowei.com. IN A 192.168.1.103
www.luowei.com. IN A 192.168.1.103
tech.luowei.com.  IN NS ns1.tech.luowei.com.
ns1.tech.luowei.com. IN A 192.168.1.107
#vim /var/named/192.168.zone
$TTL 86400
@ 600 IN SOA ns.luowei.com. admin.luowei.com. (
     2011082701
     1H
     10M
     7D
     1D )
  IN NS ns.luowei.com.
103  IN PTR ns.luowei.com.
103  IN PTR www.luowei.com.
由于我做的是正向子域授权,所以就没有写反向的
在192.168.1.107上的主要配置文件/etc/named.conf
#vim /etc/named.conf
options {
 directory "/var/named";
};
zone "." IN {
 type hint;
 file "named.ca";
};
zone "localhost" IN {
 type master;
 file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
 type master;
 file "named.local";
};
zone "tech.luowei.com" IN {
 type master;
 file "tech.luowei.com.zone";
};
子域在/var/named/下的主要的数据配置文件如下:
#vim /var/named/tech.luowei.com.zone
$TTL 86400
@ 600 IN SOA ns.tech.luowei.com. admin.tech.luowei.com. (
     2011082701
     1H
     10M
     7D
     1D )
  IN NS ns1.tech.luowei.com.
ns1.tech.luowei.com. IN A 192.168.1.107
www.tech.luowei.com. IN A 192.168.1.107
其他的配置均是正常的DNS的配置
接下来我们使用192.168.1.100来测试
#dig -t A www.tech.luowei.com @192.168.1.107  可以解析出来
#dig -t A www.luowei.com @192.168.1.107 解析不出来
#dig -t A www.luowei.com @192.168.1.103 可以解析出来
#dig -t A www.tech.luowei.com @192.168.1.103 可以解析出来
由此我们可以在父域上解析出子域,而子域却解析不出来父域。
这个时候解决方法是在转发
转发的配置:
 完全转发:
  options {
  forward only|first;//only解析不了就转发给指定的主机,直到主机回应
                      first到指定主机递归一下,如果没有回应,直接到根找结果
  forwarders { ip; };
  };
 部分转发:
  zone "xxx" IN {
  type forward;
  forwarders { ip; };
  };
 
 
 接着上面的实验:
 我们在子域名服务器的主配置文件上进行配置
 方法一:
 #vim /etc/named.conf
 options {
  directory "/var/named";
  forward first;
  forwarders { 192.168.1.103; };
 };
 方法二:
 zone "luowei.com" IN {
   type forward;
   forwarders { 192.168.1.103; };
 };
 以上两种方法都行,方法一是全局设置,方法二是部分设置,然后再在
 192.168.1.107上测试,就可以了
 #dig -t A www.luowei.com @192.168.1.107
 能解析出来。
 
 二、视图
   在视图之前先说一下dns的acl
   格式如下:
    acl myclients {
    192.168.1.0/24;
    172.16.1.0/24;
    };
   而视图就是在原有的DNS的基础之上,来实现自能DNS的,根据设定的
   acl给出不同的解析结果
   格式如下:
      view  NAME {
      match-clients {};
      zone1
      zone2
      ...
     
      };
      view NAME {
      match-clients {};
      zone1
      zone2
      ...     
      };  
      接下来我就用一个例子来简单的验证一下这个实验
#vim /etc/named.conf
acl nei {
 192.168.0.0/24;
 127.0.0.0/8;
};   //定义内网的acl列表
acl wai {
 172.16.0.0/24;
};  //定义外网的acl列表
options {
        directory "/var/named";
};
view nei {
 match-clients { nei; };
 recursion yes;
 zone "." IN {
 type hint;
 file "named.ca";
 };
 zone "a.org" IN {
  type master;
  file "a.org.nei";
 };
};  //内网视图及对应的区域
view wai {
 match-clients { wai; };
 recursion no;
 zone "." IN {
 type hint;
 file "named.ca";
 };
 zone "a.org" IN {
  type master;
  file "a.org.wai";
 };
};   //外网视图及对应的区域
然后分别到/var/named/下建立对应的数据文件就行了
分别用不同网段的地址进行测试,可以查看解析的地址分别
是数据文件中指定的DNS所对应的地址。
 
本文出自 “IT梦-齐-分享” 博客

相关内容

    暂无相关文章