第三章 场景一的配置方案
3.1 场景1的解析

在Server01上配置DNS服务器
• 安装DNS服务相关软件包;• 建立sdskills.cn域,为所有除Internet区域的主机或服务器建立正\反的域名解析;• 当出现无法解析的域名时,向域skills.cn申请更高层次的解析。
在Server04上配置DNS服务器
安装DNS相关服务软件包; 为域skills.cn提供必要的域名解析 当非skills.cn域的解析时,统一解析到Rserver连接Internet网段的IP地址或Rserver.skills.cn
在上述拓扑中,Server01和Server04分别代表内网和外网的DNS服务器。
- 首先在Server01和Server04上分别安装bind软件。
- 在server01上建立sdskills.cn域的正向和反向查询区域,并添加相应的主机解析记录。 *.sdskills.cn
- 在Server01上建立转发器,将不能解析的域名查询转发给Server04。
- 在Server04上建立skills.cn域的正向查找区域,并添加相应的主机解析记录。 *.skills.cn
- 在Server04上创建根区域(也就是说,要将Server04配置成根域名服务器),并建立泛域名查询记录,统一将非skills.cn域名解析到Rserver链接到Internet网段的地址(192.168.10.2)。 *(任意域名)解析到到192.168.10.2
3.2 场景1的配置过程
0.开始配置之前的准备工作
Rserver上的路由功能要开启,确保网络是通的
每台机器的IP参数要配置正确
为了减少干扰,关闭每台机器的上防火墙和Selinux
1.在Server01上安装bind软件
[root@srever01 ~]# yum -y install bind bind-utils[root@srever01 ~]# systemctl start named[root@srever01 ~]# systemctl enable named
在UOS20中,bind程序的服务名为named。
安装完成后,可以使用如下命令检查bind是否正常运行,如下:
RHEL系的Linux中,bind程序的配置文件位置如下:
/etc/named.conf 主配置文件/etc/named.rfc1912.zones 区域定义文件/var/named 目录中存放区域的配置数据文件
2.在Server01上创建sdskills.cn的正向查找区域
修改/etc/named.conf配置文件,修改监听DNS服务的IP 地址为Server01的IP地址,修改域名请求为any,如下:
修改/etc/named.rfc1912.zones配置文件
[root@srever01 etc]# vi named.rfc1912.zones
添加如下内容,然后保存
zone "sdskills.cn" IN {type master;file "sdskills.cn.zone";allow-update { none; };};
在/var/named中创建sdskills.cn.zone配置文件(实际操作时,可以将named.localhost配置文件复制成sdskills.cn.zone配置文件,然后修改其中内容。注意复制是要使用-a 选项,让区域配置文件具有相同的文件权限)
[root@srever01 named]# cp -a /var/named/named.localhost sdskills.cn.zone
应该确保named用户账户的对区域配置文件有读取权限

然后,在配置文件sdskills.cn.zone配置如下内容。
$TTL 1D@ IN SOA sdskills.cn root.sdskills.cn (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ IN NS nsns IN A 172.16.100.201www IN A 172.16.100.201Server01 IN A 172.16.100.201Server02 IN A 172.16.100.202Rserver IN A 172.16.100.254* IN A 172.16.100.254@ IN MX 10 mail.sdskills.cn.mail IN A 172.168.100.202ns2 IN A 192.168.10.4
修改完成后,保存,然后运行如下命令检查sdskills.cn.zone配置文件是否正确。
[root@srever01 named]# named-checkzone sdskills.cn sdskills.cn.zonezone sdskills.cn/IN: loaded serial 0OK[root@srever01 named]# named-checkconf
4.在client 验证 Server01上正向查找区域sdskills.cn配置
(1)将Client的DNS服务器指向Server01,同时确保Client能ping通172.16.100.201
(2)如果client上没有安装dns客户端工具,则需要先安装bind-utils。
[root@client ~]# yum -y install bind-utils
(3)在Client上使用nslookup进行sdskills.cn域的域名解析查询,检查域名解析是否正确。
[root@client ~]# nslookup> www.sdskills.cnServer: 172.16.100.201Address: 172.16.100.201#53Name: www.sdskills.cnAddress: 172.16.100.201> server02.sdskills.cnServer: 172.16.100.201Address: 172.16.100.201#53Name: Server02.sdskills.cnAddress: 172.16.100.202
5.在Server-01上配置反向查询区域
修改/etc/named.rfc1912.zones配置文件
[root@srever01 etc]# vi named.rfc1912.zones
添加172.16.100.0反向查询区域的配置文件信息,内容如下,然后保存
zone "100.16.172.in-addr.arpa" IN {type master;file "sdskills.cn.zone.loopback";allow-update { none; };};
在/var/named中创建sdskills.cn.zone.loopback配置文件(实际操作时,可以将named.loopback配置文件复制成sdskills.cn.zone配置文件,然后修改其中内容。注意复制是要使用-a 选项,让区域配置文件具有相同的文件权限)
[root@srever01 named]# cp -a named.loopback sdskills.cn.zone.loopback[root@srever01 named]# ls -l sdskills.cn.zone.loopback-rw-r-----. 1 root named 168 12月 15 2009 sdskills.cn.zone.loopback
修改sdskills.cn.zone.loopback配置文件,内容如下:201i
$TTL 1D@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ IN NS nsns IN A 172.16.100.201201 IN PTR ns.sdskills.cn201 IN PTR www.sdskills.cn201 IN PTR Server01.sdskills.cn202 IN PTR Server02.sdskills.cn254 IN PTR Rserver.sdskills.cn
修改完成后,使用配置文件检测命令,验证配置文件正确性。
[root@srever01 named]# named-checkzone 100.16.172.in-addr.arpa sdskills.cn.zone.loopbackzone 100.16.172.in-addr.arpa/IN: loaded serial 0OK
6.在Server04上安装bind9软件
在Server04上安装bind软件
[root@localhost ~]# yum -y install bind[root@localhost named]# yum -y install bind-utils[root@localhost ~]# systemctl start named[root@localhost ~]# systemctl enable named
修改/etc/named.conf配置文件
listen-on port 53 { 192.168.10.4; };allow-query { any; };
7.在Server04上创建正向查找区域skills.cn
在 /etc/name.rfc1912.zones配置文件中添加如下区域
zone "skills.cn" IN {type master;file "skills.cn.zone";allow-update { none; };};
在/var/named创建skills.cn.zone配置文件,并添加如下配置内容:
[root@localhost named]# touch skills.cn.zone[root@localhost named]# chown root:named skills.cn.zone
在skills.cn.zone配置文件中添加如下内容:
$TTL 1D@ IN SOA skills.cn root.skills.cn. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ IN NS nsns IN A 192.168.10.4Server03 IN A 192.168.10.3Server04 IN A 192.168.10.4Rserver IN A 192.168.10.2* IN A 192.168.10.2
然后,检查配置文件的正确性
[root@localhost named]# named-checkzone skills.cn skills.cn.zonezone skills.cn/IN: loaded serial 0OK
8.将Server04配置成根域服务器和泛域名解析
修改/etc/named.conf配置文件中的根域信息,

将上述部分修改成如下:
zone "." IN {type master;file "root.zone";};
在/var/named目录下创建root.zone区域配置文件。
[root@localhost named]# cp -a named.localhost root.zone
修改root.zone的内容如下,然后保存。
$TTL 1D@ IN SOA . root. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum. IN NS nsns IN A 192.168.10.4* IN A 192.168.10.2
修改完成后,使用named-checkzone命令检查配置文件
[root@localhost named]# named-checkzone . root.zonezone ./IN: loaded serial 0OK[root@srever04 ~]# systemctl restart named[root@Server04 named]# systemctl stop firewalld[root@Server04 named]# systemctl disable firewalld
9.在Server01上配置转发器
修改/etc/named.conf配置文件,设置如下内容:
allow-query { any; };recursion yes;forwarders { 192.168.10.4; };dnssec-enable no;dnssec-validation no;
说明:
(1)allow-query { any; }; 允许任意主机查询
(2)recursion yes; 允许递归查询
(3)forwarders { 192.168.10.4; }; 设置Server04为转发器,将所有Server01不能解析的域名转发到Server04
(4)dnssec-enable no; dnssec-validation no; 因为Server04不是公网有效根服务器,其上的”.”域不是公网可用根域,是自建私有根域,所以需要关闭bind的安全验证和有效性验证功能。
重启named服务器
[root@srever01 ~]# systemctl restart named
10.在Client上进行DNS解析测试
[root@client ~]# nslookup> www.sdskills.cnServer: 172.16.100.201Address: 172.16.100.201#53Name: www.sdskills.cnAddress: 172.16.100.201> server01.sdskills.cnServer: 172.16.100.201Address: 172.16.100.201#53Name: Server01.sdskills.cnAddress: 172.16.100.201> ftp.sdskills.cnServer: 172.16.100.201Address: 172.16.100.201#53Name: ftp.sdskills.cnAddress: 172.16.100.254> server03.skills.cnServer: 172.16.100.201Address: 172.16.100.201#53Non-authoritative answer:Name: Server03.skills.cnAddress: 192.168.10.3> server04.skills.cnServer: 172.16.100.201Address: 172.16.100.201#53Non-authoritative answer:Name: Server04.skills.cnAddress: 192.168.10.4> www.skills.cnServer: 172.16.100.201Address: 172.16.100.201#53Non-authoritative answer:Name: www.skills.cnAddress: 192.168.10.2> www.sina.com.cnServer: 172.16.100.201Address: 172.16.100.201#53Non-authoritative answer:Name: www.sina.com.cnAddress: 192.168.10.2
