1.ACL—访问控控制列表
例如:allow-transfer {IP1; IP2; IP3;.....};
allow-query {
IP1; IP2; IP3;.....};
allow-recursion{
IP1; IP2; IP3;.....};
等有多个项而且IP(段)又多时,添加IP会很麻烦,效率不高,看起来不整洁,又不易管理,这时可以用ACL
用法: acl acl_name {
IP1;
IP2;
IP3;
........
};
那么就可以直接使用allow-query {acl_name;};这种方式了,还可以根据ip的某些特点定义几个acl来使用
注意:ACl在使用前必须先定义,最好在options前定义;
2.DNS视图
2.1
视图原理:
在主
配置文件中,可以指定多个视图,如果DNS
客户端所提交的查询满足第一个视图所定义的条件时,就会使用第一个视图来进行解析,否则就判断一下视图,然后再进行解析。如果所有的视图都不满足条件时,BIND将返回Query refuset的消息。设置多个视图的作用在于可以根据不同的DNS
客户端返回不同的解析结果;
典型的例子就是:为192.168.0.0/24网段定义一个视图其内主机作为网通用户,为172.16.0.0网段和除此之外的定义一个视图其内主机作为电信用户,根据客户端的IP来判断用户类型并返回给相对应的服务器来解析;
2.2 在服务器上配置主配置文件
定义了视图后所有的区域都必须在视图中
配置文件内容为:
[root@localhost named]# cat /etc/named.conf
acl innet_acl { #定义192.168.85.0/24为内网网段
192.168.85.0/24;
};
acl outnet_acl { #定义122.210.207.0/16为外网网段
122.207.210.0/16;
};
options {
directory "/var/named";
allow-recursion { innet_acl; }; #定义允许为内网主机递归
};
view innet { #定义innet视图,该网段内的主机发送解析mageedu.com请求时用的是
innet.mageedu.com.zone的记录
match-clients { innet_acl; };
zone "mageedu.com" IN {
type master;
file "innet.mageedu.com.zone";
};
};
view outnet { #
定义outnet视图,该网段内的主机发送解析mageedu.com请求时用的是outnet.mageedu.com.zone的记录
match-clients { outnet_acl; };
zone "mageedu.com" IN {
type master;
file "outnet.mageedu.com.zone";
};
};
对应的区域数据文件内容(测试时只正向解析不测试反向解析):
[root@localhost named]# cat innet.mageedu.com.zone
$TTL 600
@ IN SOA ns1.mageedu.com. admin.mageedu.com. (
2015080401
1H
5M
2D
6H )
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.85.128
mail IN A 192.168.85.129
www In A 192.168.85.133
[root@localhost named]# cat outnet.mageedu.com.zone
$TTL 600
@ IN SOA ns1.mageedu.com. admin.mageedu.com. (
2015080401
1H
5M
2D
6H )
IN NS ns1
ns1 IN A 192.168.85.128
www In A 122.207.210.12
2.3 重启服务后测试
2.3.1 用一个在内网网段的主机上测试:
[root@localhost ~]# ifconfig
eth1 Link encap:Ethernet HWaddr 00:0C:29:77:4A:3E
inet addr:192.168.85.133 Bcast:192.168.85.255 Mask:255.255.255.0
[root@localhost ~]# dig -t A @192.168.85.128
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A @192.168.85.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43433
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 600 IN A 192.168.85.133
;; AUTHORITY SECTION:
mageedu.com. 600 IN NS ns1.mageedu.com.
;; ADDITIONAL SECTION:
ns1.mageedu.com. 600 IN A 192.168.85.128
;; Query time: 6 msec
;; SERVER: 192.168.85.128#53(192.168.85.128)
;; WHEN: Tue Aug 4 03:01:35 2015
;; MSG SIZE rcvd: 83
2.3.2 在一个外网网段内的主机上测试:(无论是内网还是外网,和服务器必须能相互通信)
[root@localhost ~]# dig -t A @192.168.85.128
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A @192.168.85.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43433
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 600 IN A 122.207.210.12
;; AUTHORITY SECTION:
mageedu.com. 600 IN NS ns1.mageedu.com.
;; ADDITIONAL SECTION:
ns1.mageedu.com. 600 IN A 192.168.85.128
;; Query time: 6 msec
;; SERVER: 192.168.85.128#53(192.168.85.128)
;; WHEN: Tue Aug 4 03:01:35 2015
;; MSG SIZE rcvd: 83
3.因为域都要写入view中,但是如果只想让某一类用户解析的话,可以将它的域信息写入这顶的view中,那么就只有这个view才能解析,
其他的则不能
阅读(1528) | 评论(0) | 转发(0) |