请参考配置子域授权
问题
继续进行本次操作,与向父DNS查询子域记录相反,本案例要求进一步实现当客户机向子DNS查询父域中域名www.asd.cn的时候也能获得正确结果。
需要完成的配置任务如下:
1)在子DNS上添加到父域asd.cn 转发设置
2)测试父域转发查询
方案
我们完成DNS子域授权配置以后,当客户机向父DNS服务器发起域名查询时,无论是二级域asd.cn还是三级域bj.asd.cn中的域名,都可以获取结果。
但要是反过来呢,当客户机向子DNS服务器发起域名查询时,按照现有的配置,查询三级域bj.asd.cn中的域名是可以的;而如果查询二级域asd.cn中的域名就不行了,因为对子DNS来说父域asd.cn是未知的。
要解决这个问题,可以修改子DNS服务器的named.conf配置文件,添加一个到父域asd.cn的转发设置。当子DNS服务器收到查询父域中的域名的请求时,会转交给父DNS服务器,然后将父DNS反馈的结果再发送给客户机。
本例中子DNS需要添加的转发域设置方法:
zone “父域名称” {
type forward;
forwarders { 父DNS的IP地址; };
};
步骤
实现此案例需要按照如下步骤进行。
步骤一:未配置转发时,向子DNS无法查询父域中的域名
向子DNS服务器192.168.4.205查询父域中的域名www.asd.cn,区域未知:
[root@svr5 ~]# nslookup www.asd.cn 192.168.4.205
Server: 192.168.4.5
Address: 192.168.4.5#53
server can't find abc.com: NXDOMAIN
步骤二:修改子DNS的服务配置,添加转发父域
[root@pc205 ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "bj.asd.cn" IN { //本地权威域
type master;
file "bj.asd.cn.zone";
};
zone "asd.cn" IN { //转发给其他DNS的域
type forward; //类型标记为转发
forwarders { 192.168.4.5; }; //指定目标DNS服务器
};
[root@pc205 etc]# service named restart //重启服务
停止 named: [确定]
启动 named: [确定]
步骤三:再次向子DNS查询父域中的域名,可以获得结果
向子DNS服务器192.168.4.205查询父域中的域名www.asd.cn,成功获得转发的非权限解析记录:
[root@svr5 ~]# nslookup www.asd.cn 192.168.4.205
Server: 192.168.4.205
Address: 192.168.4.205#53
Non-authoritative answer:
Name: www.asd.cn
Address: 192.168.4.100 //解析记录