DNS子域授权,区域传送
dig 命令
+recurse 递归查询 默认
+norecurse 不递归查询
dig +recurse -t A www.baidu.com @127.0.0.1
dig -t axfr test.com
dig +trace -t NS test.com 显示请求过程
/etc/named.conf
options选项中
allow-recursion { 192.168.136.0/24; } 给指定网段递归
allow-query {} 定义某些人查询,不常用
allow-transfer { } 表示允许某些主机传送,也可以填写到区域内,允许某些区域允许某些主 机传送
allow-transfer { none; } 拒绝传送
masters { 192.168.136.135; } 定义 主服务器
notify yes 如果修改通从服务器知传送
forward first/only only只接受请求NS的结果,firstNS不给答案,自己请求
forwarders { } 请求转发的NS的IP 也可以填写到指定的域中,只转发指定的域
axfr完全区域传送
ixfr 增量区域传送
主服务器/etc/named.conf添加配置
zone "test.com." IN { //正向主区域文件配置
type master; //定义本机为主服务器
file "test.com.conf";
allow-transfer { 192.168.136.131; }; //允许哪台主机进行区域传送
};
zone "136.168.192.in-addr.arpa" IN { //反向区域配置
type slave; //定义本机为从服务器
masters { 192.168.136.131; }; //定义从哪个主服务器上同步数据
file "slaves/136.168.192.zone"; //区域数据文件的位置,注意:目录的权限named一定要可读。
};
另外从服务器上面的区域数据/var/named/test.com.conf 文件,要添加从服务器的NS记录
@ IN NS NS2 //添加从服务器的NS记录
ns2 IN A 192.168.136.131 //添加从服务器的A记录
从服务器/etc/named.conf配置
zone "test.com." IN { type slave; //定义为 test.com.域的从服务器 masters { 192.168.136.135; }; //定义主服务器IP file "slaves/test.com.conf"; //权限named可读,否则无法同步 }; zone "136.168.192.in-addr.arpa" IN { //定义方向区域的的主服务器 type master; file "136.168.192.zone"; allow-transfer { 192.168.136.135; }; };
配置完成后查看日志看是否配置成功/var/log/messages
Jul 22 21:43:40 localhost named[4039]: transfer of 'test.com/IN' from 192.168.136.135#53: Transfer completed: 1 messages, 12 records, 288 bytes, 0.003 secs (96000 bytes/sec) Jul 22 21:43:40 localhost named[4039]: zone test.com/IN: sending notifies (serial 2016)
注意:每次修改添加删除配置中的记录时, serial加一,方便从服务器获得数据,重新加载reload或者重启
rndc命令
rndc-confgen>/etc/rndc.conf //生成rndc配置文件
-c 指定配置文件
远程执行 RNDC需要有远程的rndc.conf配置文件
子域授权
在test.com区域内加,fin.test.com 子域
先在主NS服务器上配置/var/named/tets.com.conf添加一条NS记录和A记录
fin IN NS ns1.fin ns1.fin IN A 192.168.136.131
然后在192.168.136.131上面配置区域文件和区域数据文件
区域文件配置
zone "fin.test.com." IN { type master; file "fin.test.com"; }
配置区域数据文件/etc/named/fin/test.com
$ORIGIN . $TTL 60 ; 1 minute fin.test.com IN SOA ns1.fin.test.com. admin.fin.test.com. ( 2016 ; serial 864000 ; refresh (1 week 3 days) 432000 ; retry (5 days) 300 ; expire (5 minutes) 3600 ; minimum (1 hour) ) NS ns1.fin.test.com. $ORIGIN fin.test.com. ns1 A 192.168.136.131 www A 192.168.136.135
测试成功
[root@localhost named]# dig -t A www.fin.test.com @192.168.136.135 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.fin.test.com @192.168.136.135 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13951 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.fin.test.com. IN A ;; ANSWER SECTION: www.fin.test.com. 60 IN A 192.168.136.135
注意:selinux 防火墙 的关闭。