1.配置DNS子域授权
题
本案例要求为Tarena公司构建父/子DNS域名解析系统。其中,父DNS服务器负责解析二级域tarea.com,而子DNS负责解析三级域bj.tedu.cn。现要求当客户机向父DNS查询子域中的域名www.bj.tedu.cn的时候也能获得正确结果,如图-1所示,需要在父DNS服务器上配置对子域的授权。
Name: www.tedu.cn
Address: 192.168.4.100 //正确获得结果
步骤二:构建子DNS(bj.tedu.cn)服务器
1)使用yum安装bind、bind-chroot软件包
[root@pc205 ~]# yum -y install bind bind-chroot
… …
2)建立配置文件named.conf
[root@pc205 ~]# mv /etc/named.conf /etc/named.conf.bak //备份默认配置
[root@pc205 ~]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “bj.tedu.cn” IN { //定义DNS子域
type master;
file “bj.tedu.cn.zone”;
};
3)建立解析记录文件
添加一条子区域内www站点的测试记录,比如将www.bj.tedu.cn对应的IP地址指向1.2.3.4:
[root@pc205 ~]# vim /var/named/bj.tedu.cn.zone
$TTL 86400
@ IN SOA @ root.tedu.cn. (
2015052201
4H
15M
4H
1D
)
@ IN NS pc205.bj.tedu.cn. ;本区域DNS服务器的FQDN
pc205 IN A 192.168.4.205 ;本区域DNS服务器的IP地址
www IN A 1.2.3.4
4)启动named服务
[root@pc205 ~]# service named restart
停止 named: [确定]
Generating /etc/rndc.key: [确定]
启动 named: [确定]
5)测试子DNS服务器,确保域名解析可用
向子DNS服务器192.168.4.205查询子域中www.bj.tedu.cn的IP地址:
[root@pc205 ~]# nslookup www.bj.tedu.cn 192.168.4.205
Server: 192.168.4.205
Address: 192.168.4.205#53
Name: www.bj.tedu.cn
Address: 1.2.3.4 //正确获得结果
步骤三:配置并测试DNS子域授权
1)未配置子域授权时,向父DNS查不到子域中的域名记录
[root@svr5 ~]# nslookup www.bj.tedu.cn 192.168.4.5
Server: 192.168.4.5
Address: 192.168.4.5#53
** server can’t find www.bj.tedu.cn.localdomain: SERVFAIL //解析失败
2)修改父DNS的解析记录,添加对子DNS的授权
[root@svr5 ~]# vim /var/named/tedu.cn.zone
… …
@ IN NS svr5.tedu.cn.
svr5 IN A 192.168.4.5
www IN A 192.168.4.100
bj.tedu.cn. IN NS pc205.bj.tedu.cn. ;子域的NS记录
pc205.bj.tedu.cn. IN A 192.168.4.205 ;子DNS的A记录
[root@svr5 ~]# service named restart //重启服务
… …
3)再次向父DNS查询子域中的域名记录,可以获得结果
[root@svr5 ~]# nslookup www.bj.tedu.cn 192.168.4.5
Server: 192.168.4.5
Address: 192.168.4.5#53
Non-authoritative answer: //非权威(本机提供)的解析结果
Name: www.bj.tedu.cn
Address: 1.2.3.4 //正确获得结果
2.子域转发父域
题
沿用练习一,与向父DNS查询子域记录相反,本案例要求进一步实现当客户机向子DNS查询父域中域名www.tedu.cn的时候也能获得正确结果。
需要完成的配置任务如下:
1)在子DNS上添加到父域tedu.cn 转发设置
2)测试父域转发查询
案
在前一个练习中,完成DNS子域授权配置以后,当客户机向父DNS服务器发起域名查询时,无论是二级域tedu.cn还是三级域bj.tedu.cn中的域名,都可以获取结果。
但要是反过来呢,当客户机向子DNS服务器发起域名查询时,按照现有的配置,查询三级域bj.tedu.cn中的域名是可以的;而如果查询二级域tedu.cn中的域名就不行了,因为对子DNS来说父域tedu.cn是未知的。
要解决这个问题,可以修改子DNS服务器的named.conf配置文件,添加一个到父域tedu.cn的转发设置。当子DNS服务器收到查询父域中的域名的请求时,会转交给父DNS服务器,然后将父DNS反馈的结果再发送给客户机。
本例中子DNS需要添加的转发域设置方法:
zone “父域名称” {
type forward;
forwarders { 父DNS的IP地址; };
};
骤
实现此案例需要按照如下步骤进行。
步骤一:未配置转发时,向子DNS无法查询父域中的域名
向子DNS服务器192.168.4.205查询父域中的域名www.tedu.cn,区域未知:
[root@svr5 ~]# nslookup www.tedu.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.tedu.cn” IN { //本地权威域
type master;
file “bj.tedu.cn.zone”;
};
zone “tedu.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.tedu.cn,成功获得转发的非权限解析记录:
[root@svr5 ~]# nslookup www.tedu.cn 192.168.4.205
Server: 192.168.4.205
Address: 192.168.4.205#53
Non-authoritative answer:
Name: www.tedu.cn
Address: 192.168.4.100 //解析记录
3.配置并验证Split分离解析
题
沿用练习一、二稍作调整,本案例要求在DNS服务器上实现差异化的域名解析,当从不同的客户机来查询指定的域名时,所获得的结果是不一样的。具体要求如下:
1)从客户机192.168.4.205、 段192.168.7.0/24来查询www.tedu.cn时,反馈的IP地址为192.168.4.100
2)从其他客户机查询www.tedu.cn时,反馈的IP地址为1.2.3.4
案
使用两台RHEL6虚拟机,其中一台作为分离解析DNS服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.205),CentOS真机和DNS服务器本机也可以作为其他测试客户机,如图-3所示。

骤
实现此案例需要按照如下步骤进行。
步骤一:配置转发式缓存DNS
1)确保缓存DNS本机可访问互联 (请参考物理 的设置)
[root@svr5 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:2D:B8:1D
inet addr:10.1.1.171 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe2d:b81d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:67 errors:0 dropped:0 overruns:0 frame:0
TX packets:73 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7181 (7.0 KiB) TX bytes:7709 (7.5 KiB)
[root@svr5 ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125: icmp_seq=1 ttl=56 time=4.78 ms
64 bytes from 61.135.169.125: icmp_seq=1 ttl=56 time=4.25 ms
… …
2)修改named.conf配置文件,添加全局转发配置
添加forwarders全局设置,删除其他zone区域定义:
[root@svr5 ~]# vim /etc/named.conf
options {
directory “/var/named”;
forwarders { //配置全局转发,指向公共DNS
202.106.0.20;
8.8.8.8;
};
};
3)重启named服务:
[root@svr5 ~]# service named restart
停止 named: [确定]
启动 named: [确定]
4)测试缓存DNS服务器
从客户机192.168.4.205上向缓存DNS查询互联 中的域名,比如www.baidu.com或者www.qq.com等等:
[root@pc205 ~]# nslookup www.baidu.com 192.168.4.5
Server: 192.168.4.5
Address: 192.168.4.5#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 61.135.169.121
Name: www.a.shifen.com
Address: 61.135.169.125
[root@pc205 ~]# nslookup www.qq.com 192.168.4.5
Server: 192.168.4.5
Address: 192.168.4.5#53
Non-authoritative answer:
Name: www.qq.com
Address: 61.135.157.156
步骤二:配置根域迭代式缓存
1)修改named.conf配置文件,定义根域
选用根域迭代时,暂时去掉全局转发设置,添加一个hint类型的根区域即可:
[root@svr5 ~]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “.” { //定义根区域
type hint; //类型标记为hint
file “named.ca”;
};
2)建立根区域数据文件
此文件的内容为互联 中所有DNS服务器共用,安装bind包的时候默认已经提供,或者也可以从ftp://ftp.internic.org/domain/named.root下载::
[root@svr5 ~]# less /var/named/named.ca
… …
A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4
… …
M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33
3)重启named服务:
[root@svr5 ~]# service named restart
停止 named: [确定]
启动 named: [确定]
4)测试缓存DNS服务器
从客户机192.168.4.205上向缓存DNS查询互联 中的域名,比如www.baidu.com或者www.qq.com等等,效果与根域迭代相同。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!