一个子域net.a.com
配置很简单只需要在父域的区域配置文件中添加一条
net.a.com IN NS ns1.net.a.com
ns1.net.a.com IN A 1.1.1.1
设置允许进行DNS查询的主机
1、直接定义
在主配置文件中allow-query { 192.168.1.0/24; }; 定义允许192.168.1.0这个网段的主机进行DNS查询
2、使用acl
在options上面定义一个acl
acl clients {172.16.0.0/16;192.168.1.0/24;};
allow-query { clients; }; 这样就可以了同时允许这两个网段进行查询
智能DNS(DNS View):
我们知道网通和电信之间进行访问速度比较慢,现在架设服务器一般都是双线的,我们经过DNS的设置,让DNS自
动识别客户端IP是网通的还是电信的,网通就访问网通的服务器电信就访问电信的服务器.
这里我们假设网通属于192.168.1.0/24这个网段,电信属于172.16.0.0/16这个网段的
定义访问控制
acl telecom { 172.16.0.0/24; };
acl unicom { 192.168.0.0/24; };
接下来针对两种不同的客户IP范围定义两个DNS视图
view TELNET {
match-clients { telecom; };
match-destinations { any; };
recursion no;
include "/etc/named.telecom.zones";
};
view UNINET {
match-clients { unicom; };
match-destinations { any; };
recursion no;
include "/etc/named.unicom.zones";
};
这里假设我的DNS域为test.com,以下配置文件分别为:
vi named.telecom.zones(此文件由named.rfc1912.zones复制而来,以下是在原文件基础之上添加,)
zone "test.com" IN {
type master;
file "test.com.zone.tele";
allow-update { none; };
};
zone "0.16.172.in-addr.arpa" IN {
type master;
file "172.16.0.rev";
allow-update { none; };
};
vi named.unicom.zones(此文件同上,如果手动新建务必保证文件中有根域以及localhost域)
zone "test.com" IN {
type master;
file "test.com.zone.uni";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.rev";
allow-update { none; };
};
具体正反解文件内容不再列出,参考我博客里面之前介绍的DNS建立的过程建立,两个正反解文件除了IP之外保持完全一致
做完之后进行语法检查named-checkconf,named-checkzone
重启测试(我本机配置两个IP 192.168.0.162和172.16.0.162)
dig -t A www.test.com @172.16.0.162使用172.16.0.162作为DNS服务器来解析
dig -t A www.test.com @192.168.0.162使用192.168.0.162作为DNS服务器来解析
|