|
服务器三台
master:
ip: 192.168.1.10
主域:angrybeans.com
子域的master:由master授权
ip : 192.168.1.9
主域:ops.angrybeans.com
子域的slave从服务器:
ip: 192.168.1.11
master配置:
1./etc/named.conf
listen-on port 53 { 192.168.1.10; };
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;
2. /var/named/angrybeans.zone
$TTL 3600
$ORIGIN angrybeans.com.
@ IN SOAns1
admin ( 2017012606 4H 2H 12H 1D
);
IN NSns1
IN NSns2 IN MX 10m1 IN MX 20m2
ops IN
NS ns1.ops //授权子域NS记录
ops IN
A 192.168.1.10 //授权子域A记录
ns1 IN
A 192.168.1.10
ns2 IN
A 192.168.1.9
a IN A192.168.1.2
b IN A192.168.1.3
子域的matser设置:
1./etc/named.conf
listen-on port 53 { 192.168.1.9; };
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;
2. /var/named/ops.angrybeans.com
$TTL 3600
$ORIGIN ops.angrybeans.com.
@ IN SOAns1
admin(
2016012601 3H 1H 4H 6H
)
IN NSns1 IN NSns2
ns1 IN
A 192.168.1.23
ns2 IN
A 192.168.1.24
子域的slave设置:
1./etc/named.conf
listen-on port 53 { 192.168.1.11; };
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;
2./etc/named.rfc1912.zones
zone "ops.angrybeans.com" IN { type slave; file "slaves/ops.angrybeans.com"; masters { 192.168.1.9; };
};
上面子域授权中slave只能解析出属于子域内管辖的域,比如不能正向解析出ns1.angrybeans.com,因为从子域的master同步过来的记录里面没有ns1.angrybeans.com的A记录,因此,要想正向解析出非子域内的地址的话,需要转发,我们将转发的服务器指定可以解析 ns1.angrybeans.com就可以了,这里指定为master(192.168.1.10),以为192.168.1.10当然可以转发它自己了。下面配置192.168.1.11以192.168.1.10作为转发器。
1.被转发的服务器(192.168.1.10)需要配置
vim /etc/named.conf
用//注释掉只允许本机查询这个选项,如下
//allow-query { localhost; };
2.配置192.168.1.11
vim /etc/named.rfc1912.zones
//添加以下内容:
zone "angrybeans.com" IN { type forward; forward only; forwarders { 192.168.1.10; };
};
将服务都重启以下
3.检查语法
named-chkconf
4.测试,在192.168.1.11上面测试,只要属于ns1.angrybeans.com解析的都可以解析出来,比如像在转发器里面有记录的flower.angrybeans.com
[root@localhost ~]# dig -t A flower.angrybeans.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> -t A flower.angrybeans.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38321
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;flower.angrybeans.com. INA
;; ANSWER SECTION:
flower.angrybeans.com. 3305IN
A 192.168.1.4
;; AUTHORITY SECTION:
angrybeans.com. 3162IN
NS ns1.angrybeans.com.
angrybeans.com. 3162IN
NS ns2.angrybeans.com.
;; ADDITIONAL SECTION:
ns2.angrybeans.com. 3162IN
A 192.168.1.9
ns1.angrybeans.com. 3162IN
A 192.168.1.10
;; Query time: 0 msec
;; SERVER: 192.168.1.11#53(192.168.1.11)
;; WHEN: Tue Jan 26 19:01:22 2016
;; MSG SIZE rcvd: 123
说明:DNS的查询分为:递归查询和迭代查询,
acl的访问控制方式为在/etc/named.conf里面设置访问列表,列表名可以自定义,而定义好后在/etc/named.rfc1912.zones里面通过访问控制指令
allow-query 是否允许哪些地址查询
allow-transfer 是否允许向哪些地址传送
allow-recursion 是否允许递归查询,默认在/etc/named.conf 里面设置的recursion yes 是允许递归的
allow-update 是否允许动态更新dns记录,危险动作
而访问控制指令则有内建的四个命令:
none 都不允许
any 都允许
local 只允许本机
localnet 本机所在的网络
示例:
1.vim /etc/named.conf
//最最前面添加,因为是一个全局配置,小范围配置要放在前面
acl slaves {
192.168.1.11;
127.0.0.1;
};
2.vim /etc/named.rfc1912.zones
zone "angrybeans.com" IN {
type master;
file "angrybeans.zone";
allow-transfer { none; } ;
};
不过用 dig -t axfr angrybeans.com @192.168.1.9测试失败了,恼人。。。
子域授权 |