bind也是支持ACL功能的

acl "ACL_NAME" {

  10.10.0.0/8;

  172.16.16.0/24;

};

 

例如我们定义一个ACL

 

acl "enterprisenet" {

172.16.0.0/16;

10.0.0.0/8;

};

allow-query { ecterprisenet; }; 【这个可以放到option里面也可以放到区域里面】

 

acl当中的元素可以是:   IP

CIDR网络地址:172.16.0.0/16

 TSIG key(一般很少定义)

bind内置的有四个acl: none any localhost localnets(本地之间IP地址计算的子网)

acl是先定义后使用,所以acl 要放到最上方,放到option上面,不属于option

 

我们希望给互联网所有的主机都提供,magedu.com域名的解析。同时我们的内部的人员还有通过这台服务器进行递归查询怎么实现?

 

我们查询的时候显示有 qr aa rd ra 这些东东,这个rd就表示的是发起的是递归查询

 

dns支持view 意味着可以将一个域划分多个不同的数据文件

每个数据文件都想相应一类特定用户的请求
view "VIEW_NAME" {
match-cliens { 172.16.0.0/16; };
zone "magedu.com" IN {
};
};
view "VIEW_NAME"{
match-clients { any; };
zone "magedu.com" IN{
};
}
当客户发出请求时候,先要检查用户的IP然后在看
只有定义了一个view,所有的zone都只能定义在view当中
 
dns如果要给本地客户端做递归查询
根区域只是需要声明在允许递归查询的客户端列表所在view中即可
localhost声明在匹配127/8网络客户端view中即可
 
举例子:
我们希望172.16.100.1所在网络的所有的客户端都解析成本地地
 
acl "innernet" {
127/8;
127.16/16;
};
options {
directory "/var/named";
};
view "intranet" {
match-clients { innernet; };
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 "127.0.0.zone"
};
zone "magedu.com" IN {
type master;
file "magedu.com.intranet";
};
};
view "internet" {
match-clients { any; };
zone "magedu.com" IN {
                type master;
                file "magedu.com.internet";
};
};
 
chmod 640 /etc/named.conf
chown :named /etc/named.conf
智能DNS:实现分网解析
提供免费解析的两个网站
dnspod.cn
dns.la
 
总结:view就是将用户分类,然后不同的类别使用不同的数据文件,享用不同的结果。