Top
NSD SERVICES DAY03
1 案例1:搭建单区域DNS服务器
1.1 问题
本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站。测试阶段主要提供以下正向记录:
- svr7.tedu.cn —> 192.168.4.7
- pc207.tedu.cn —> 192.168.4.207
- www.tedu.cn —> 192.168.4.100
配置完成后在客户机上验证查询结果。
1.2 方案
快速构建DNS服务器的基本过程:
- 安装 bind、bind-chroot 包
- 建立主配置文件 /etc/named.conf
- 建立地址库文件 /var/named/.. ..
- 启动 named 服务
配置及使用DNS客户端的基本过程:
- 修改配置文件/etc/resolv.conf,添加nameserver=DNS服务器地址
- 使用host命令查询,提供目标域名作为参数
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置DNS服务器svr7
1)安装 bind、bind-chroot 包
[root@localhost ~]# setenforce 0 [root@localhost ~]# firewall-cmd --set-default-zone=trusted [root@svr7 ~]# yum -y install bind bind-chroot .. ..
2)建立主配置文件 /etc/named.conf
[root@svr7 ~]# mv /etc/named.conf /etc/named.conf.origin //备份默认配置 [root@svr7 ~]# vim /etc/named.conf //建立新配置 options { directory "/var/named"; //地址库默认存放位置 }; zone "tedu.cn" { //定义正向DNS区域 type master; //主区域 file "tedu.cn.zone"; //自定义地址库文件名 };
3)建立地址库文件 /var/named/tedu.cn.zone
[root@svr7 ~]# cd /var/named/ //进地址库目录 [root@svr7 named]# cp -p named.localhost tedu.cn.zone //参考范本建地址库文件 [root@svr7 named]# vim tedu.cn.zone //修订地址库记录 $TTL 1D //文件开头部分可保持不改 @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS svr7.tedu.cn. //本区域DNS服务器的FQDN svr7 A 192.168.4.7 //为NS主机提供A记录 pc207 A 192.168.4.207 //其他正向地址记录.. .. www A 192.168.4.100
4)启动 named 服务,并设置开机自启
[root@svr7 named]# systemctl restart named [root@svr7 named]# systemctl enable named Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
步骤二:配置DNS客户机pc207并测试
1)修改配置文件/etc/resolv.conf,指定默认使用哪一台DNS服务器
[root@localhost ~]# setenforce 0 [root@localhost ~]# firewall-cmd --set-default-zone=trusted [root@pc207 ~]# vim /etc/resolv.conf nameserver 192.168.4.7 .. ..
2)使用host命令查询,提供目标域名作为参数
[root@pc207 ~]# host svr7.tedu.cn svr7.tedu.cn has address 192.168.4.7 [root@pc207 ~]# host pc207.tedu.cn pc207.tedu.cn has address 192.168.4.207 [root@pc207 ~]# host www.tedu.cn www.tedu.cn has address 192.168.4.100
使用host测试DNS查询结果时,如果不方便修改/etc/resolv.conf文件,也可以采用“host 目标域名 DNS服务器地址”形式临时指定使用哪一台DNS服务器。
[root@pc207 ~]# host pc207.tedu.cn 192.168.4.7 Using domain server: Name: 192.168.4.7 Address: 192.168.4.7#53 Aliases:
pc207.tedu.cn has address 192.168.4.207
2 案例2:特殊DNS解析
2.1 问题
沿用案例1,本例要求掌握DNS轮询、泛域名解析的配置,实现的目标如下:
- 为站点 www.tedu.cn 提供DNS轮询解析,三台Web服务器节点的IP地址分别为:192.168.4.100、192.168.4.110、192.168.4.120
- 配置泛域名解析实现以下解析记录:任意名称.tedu.cn —> 119.75.217.56
-
2.2 方案
DNS轮询:FQDN —> IP地址1、IP地址2、.. ..
泛域名解析(站点名不确定):多个FQDN —> 一个IP地址
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置DNS轮询
1)修改DNS服务器上tedu.cn区域的地址库文件,在末尾添加轮询地址记录
[root@svr7 ~]# vim /var/named/tedu.cn.zone .. .. www A 192.168.4.100 www A 192.168.4.110 www A 192.168.4.120
2)重启系统服务named
[root@svr7 named]# systemctl restart named
3)在客户机pc207上测试轮询记录
针对目标www.tedu.cn执行多次查询,观察第1条结果的变化:
[root@pc207 ~]# host www.tedu.cn www.tedu.cn has address 192.168.4.100 //第1个结果为192.168.4.100 www.tedu.cn has address 192.168.4.110 www.tedu.cn has address 192.168.4.120
[root@pc207 ~]# host www.tedu.cn
www.tedu.cn has address 192.168.4.120 //第1个结果为192.168.4.120
www.tedu.cn has address 192.168.4.110
www.tedu.cn has address 192.168.4.100[root@pc207 ~]# host www.tedu.cn
www.tedu.cn has address 192.168.4.110 //第1个结果为192.168.4.110
www.tedu.cn has address 192.168.4.120
www.tedu.cn has address 192.168.4.100步骤二:配置多对一的泛域名解析
1)修改DNS服务器上指定区域的地址库文件,在末尾添加*通配地址记录
[root@svr7 ~]# vim /var/named/tedu.cn.zone
… …-
A 119.75.217.56
2)重启系统服务named
[root@svr7 named]# systemctl restart named
3)在客户机pc207上测试多对一的泛域名解析记录
当查询未知站点(地址库中没有明确记录)时,以 * 对应的IP地址反馈:
[root@pc207 ~]# host station123.tedu.cn station123.tedu.cn has address 119.75.217.56 [root@pc207 ~]# host movie.tedu.cn movie.tedu.cn has address 119.75.217.56 [root@pc207 ~]# host tts8.tedu.cn tts8.tedu.cn has address 119.75.217.56
3 案例3:配置DNS子域授权
3.1 问题
沿用案例1,本例要求为上下级两个DNS区域建立父子关联,实现客户机向父DNS也可以查询到子域内的FQDN,基本要求如下:
- 构建父DNS(tedu.cn)服务器
- 构建子DNS(bj.tedu.cn)服务器
- 在父DNS上配置子域授权
- 测试子域授权查询
3.2 方案
为一个DNS区域添加授权子域时,需要修改此区域的地址库,添加以下记录:
子域域名. IN NS 子DNS的FQDN. 子DNS的FQDN. IN A 子DNS的IP地址
3.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:构建父DNS(tedu.cn)服务器
1)将svr7配置为父DNS服务器,确认配置
主配置文件/etc/named.conf:
[root@svr7 ~]# viim /etc/named.conf options { directory "/var/named"; }; zone "tedu.cn" { type master; file "tedu.cn.zone"; }; .. ..
正向地址库文件:
[root@svr7 ~]# vim /var/named/tedu.cn.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS svr7.tedu.cn. svr7 A 192.168.4.7 pc207 A 192.168.4.207 www A 192.168.4.100 .. ..
确保服务已启用:
[root@svr7 ~]# systemctl restart named
2)测试 —— 向父DNS可成功查询到父区域中的站点
[root@pc207 ~]# host www.tedu.cn 192.168.4.7 Using domain server: Name: 192.168.4.7 Address: 192.168.4.7#53 Aliases:
www.tedu.cn has address 192.168.4.100
… …步骤二:构建子DNS(bj.tedu.cn)服务器
1)将pc207配置为子DNS服务器,确认配置
安装软件包bind、bind-chroot:
[root@pc207 ~]# yum -y install bind bind-chroot
… …
建立主配置文件/etc/named.conf:
[root@pc207 ~]# mv /etc/named.conf /etc/named.conf.origin //备份默认配置
[root@pc207 ~]# vim /etc/named.conf //建立新配置
options {
directory “/var/named”;
};
zone “bj.tedu.cn” { //定义子DNS的正向区域
type master;
file “bj.tedu.cn.zone”;
};
建立地址库配置文件:
[root@pc207 ~]# cd /var/named/ //进地址库目录
[root@pc207 named]# cp -p named.localhost tedu.cn.zone //参考范本建地址库文件
[root@pc207 named]# vim bj.tedu.cn.zone //修订地址库记录
$TTL 1D //文件开头部分可保持不改
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS pc207.bj.tedu.cn. //本区域DNS服务器的FQDN
pc207 A 192.168.4.207 //为NS主机提供A记录
www A 1.2.3.4 //添加测试记录 www.bj.tedu.cn
2)启动系统服务named,并设置开机自启
[root@pc207 named]# systemctl restart named
[root@pc207 named]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
3)测试 —— 向子DNS可成功查询到子区域中的站点
[root@pc207 ~]# host www.bj.tedu.cn 192.168.4.207
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:www.bj.tedu.cn has address 1.2.3.4
步骤三:在父DNS上配置子域授权
1)测试 —— 未配置子域授权时,向父DNS无法正确查询到子区域中的站点
若父DNS配置有 * 泛域名,则反馈的结果为对应的IP地址119.75.217.56,而不是子DNS中记录的1.2.3.4:
[root@pc207 ~]# host www.bj.tedu.cn 192.168.4.7
Using domain server:
Name: 192.168.4.7
Address: 192.168.4.7#53
Aliases:www.bj.tedu.cn has address 119.75.217.56
若父DNS未配置有 * 泛域名,则找不到解析结果(not found):
[root@pc207 ~]# host www.bj.tedu.cn 192.168.4.7
Using domain server:
Name: 192.168.4.7
Address: 192.168.4.7#53
Aliases:Host www.bj.tedu.cn not found: 3(NXDOMAIN)
2)修改父DNS区域tedu.cn的地址库,添加授权子域信息
[root@svr7 ~]# vim /var/named/tedu.cn.zone
… …
bj.tedu.cn. NS pc207.bj.tedu.cn. //子区域及子DNS主机名
pc207.bj.tedu.cn. A 192.168.4.207 //子DNS的IP地址[root@svr7 named]# systemctl restart named //重启服务
步骤四:测试子域授权查询
测试 —— 成功配置子域授权以后,向父DNS可以正确查询到子区域中的站点:
[root@pc207 ~]# host www.bj.tedu.cn 192.168.4.7
Using domain server:
Name: 192.168.4.7
Address: 192.168.4.7#53
Aliases:www.bj.tedu.cn has address 1.2.3.4
[root@pc207 ~]# systemctl enable named4)可向缓存DNS服务器pc207查询到公共域名(百度、网易等站点)
[root@pc207 ~]# host www.baidu.com 192.168.4.207 //查百度的站点IP
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 111.13.100.92
www.a.shifen.com has address 111.13.100.91[root@pc207 ~]# host www.163.com 192.168.4.207 //查网易的站点IP
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:www.163.com is an alias for www.163.com.lxdns.com.
www.163.com.lxdns.com is an alias for 163.xdwscache.ourglb0.com.
163.xdwscache.ourglb0.com has address 111.11.31.104
163.xdwscache.ourglb0.com has address 111.11.31.1144 案例4:构建主/从DNS服务器
4.1 问题
准备2台虚拟机,配置实现DNS主/从结构,相关要求如下:
- 主DNS的域名为svr7.tedu.cn,IP地址为192.168.4.7/24
-
- 从DNS的域名为pc207.tedu.cn,IP地址为192.168.4.207
- 主、从均能够解析tts7.tedu.cn –> 118.45.29.31
- 当主DNS的tts7.tedu.cn记录的IP地址变更为4.4.4.4以后,从DNS能够自动同步此更改
-
4.2 方案
使用2台虚拟机,其中一台作为主DNS服务器(192.168.4.7)、另外一台作为从DNS服务器(192.168.4.207);同时,这两台虚拟机中的任何一台都可以作为测试用的Linux客户机。
主DNS的配置关键——修改named.conf配置文件,为从DNS设置授权:
options { .. .. allow-transfer { 从DNS服务器的IP地址; }; };
从DNS的配置关键——无需手动建立解析记录,只需修改named.conf配置文件:
zone "tedu.cn" IN { type slave; //类型为slave file "slaves/tedu.cn.zone"; //下载存放位置 masters { 主DNS服务器的IP地址; }; };
4.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:主DNS授权从DNS服务器,允许其下载地址记录
1)修改named.conf配置文件,授权从DNS服务器,允许其下载地址记录
[root@svr7 ~]# vim /etc/named.conf options { directory "/var/named"; allow-transfer { 192.168.4.207; }; //授权从DNS服务器 }; zone "tedu.cn" IN { type master; file "tedu.cn.zone"; }; .. ..
2)修改区域记录文件,为从DNS添加NS记录,并设置测试A记录
[root@svr7 ~]# vim /var/named/tedu.cn.zone $TTL 86400 @ IN SOA @ root.tedu.cn. ( 2015052201 ;更新序列号 4H ;刷新时间 15M ;重试间隔 4H ;超时时间 1D ;无效记录的生存时间 ) @ IN NS svr7.tedu.cn. //指定主DNS记录 @ IN NS pc207.tedu.cn. //指定从DNS记录 svr7 IN A 192.168.4.7 //主DNS的A记录 pc207 IN A 192.168.4.207 //从DNS的 A记录 tts7 IN A 118.45.29.31 //tts7.tedu.cn解析记录 .. .. //其他A记录
3)重新加载named服务
[root@svr7 ~]# service named restart 停止 named:. [确定] 启动 named: [确定]
步骤二:建立从DNS服务器
1)使用yum安装DNS服务相关软件包
[root@pc207 ~]# yum -y install bind bind-chroot .. .. [root@pc207 ~]# rpm -q bind bind-chroot .. ..
2)建立/etc/named.conf配置文件
[root@svr7 ~]# mv /etc/named.conf /etc/named.conf.bak //备份默认配置 [root@svr7 ~]# vim /etc/named.conf //建立新配置 options { directory "/var/named"; }; zone "tedu.cn" IN { //同步区域 type slave; //类型为从区域 file "slaves/tedu.cn.zone"; //区域文件存储位置 masters { 192.168.4.7; }; //指定主DNS的IP地址 };
3)重新加载named服务
[root@svr7 ~]# service named restart 停止 named:. [确定] 启动 named: [确定]
确认区域配置文件已经自动下载,即同步成功:
[root@pc207 ~]# ls /var/named/slaves/ tedu.cn.zone
步骤三:客户机查询测试
1)向主DNS查询域名tts7.tedu.cn,反馈结果应为118.45.29.31
[root@pc207 ~]# nslookup tts7.tedu.cn 192.168.4.7 Server: 192.168.4.7 Address: 192.168.4.7#53
Name: tts7.tedu.cn
Address: 118.45.29.312)向从DNS查询域名tts7.tedu.cn,也能获得结果为118.45.29.31
[root@pc207 ~]# nslookup tts7.tedu.cn 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53Name: tts7.tedu.cn
Address: 118.45.29.313)测试解析记录的同步
在主DNS上修改A记录tts7.tedu.cn,将IP地址改为4.4.4.4,同时将序列号+1更新,保存并启用新配置:
[root@svr7 ~]# vim /var/named/tedu.cn.zone
$TTL 86400
@ IN SOA @ root.tedu.cn. (
2015052202 //修改记录后,此序号应变更
… …
)
… …
tts7 IN A 4.4.4.4 //修改tts7解析记录[root@svr7 ~]# service named restart //重启named服务
停止 named: [确定]
启动 named: [确定]然后在客户端重复测试第1)和2)步骤,反馈的解析结果都应该是4.4.4.4:
[root@pc207 ~]# nslookup tts7.tedu.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53Name: tts7.tedu.cn
Address: 4.4.4.4 //向主DNS查询的结果[root@pc207 ~]# nslookup tts7.tedu.cn 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53Name: tts7.tedu.cn //向从DNS查询的结果
Address: 4.4.4.4