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就是将用户分类,然后不同的类别使用不同的数据文件,享用不同的结果。
转载于:https://blog.51cto.com/leggo/1033579