第三章 场景一的配置方案

3.1 场景1的解析

DNS服务器配置场景一 - 图1

在Server01上配置DNS服务器

  1. 安装DNS服务相关软件包;
  2. 建立sdskills.cn域,为所有除Internet区域的主机或服务器建立正\反的域名解析;
  3. 当出现无法解析的域名时,向域skills.cn申请更高层次的解析。

在Server04上配置DNS服务器

  1. 安装DNS相关服务软件包;
  2. 为域skills.cn提供必要的域名解析
  3. 当非skills.cn域的解析时,统一解析到Rserver连接Internet网段的IP地址或Rserver.skills.cn

在上述拓扑中,Server01和Server04分别代表内网和外网的DNS服务器。

  1. 首先在Server01和Server04上分别安装bind软件。
  2. 在server01上建立sdskills.cn域的正向和反向查询区域,并添加相应的主机解析记录。 *.sdskills.cn
  3. 在Server01上建立转发器,将不能解析的域名查询转发给Server04。
  4. 在Server04上建立skills.cn域的正向查找区域,并添加相应的主机解析记录。 *.skills.cn
  5. 在Server04上创建根区域(也就是说,要将Server04配置成根域名服务器),并建立泛域名查询记录,统一将非skills.cn域名解析到Rserver链接到Internet网段的地址(192.168.10.2)。 *(任意域名)解析到到192.168.10.2

3.2 场景1的配置过程

0.开始配置之前的准备工作

Rserver上的路由功能要开启,确保网络是通的

每台机器的IP参数要配置正确

为了减少干扰,关闭每台机器的上防火墙和Selinux

1.在Server01上安装bind软件

  1. [root@srever01 ~]# yum -y install bind bind-utils
  2. [root@srever01 ~]# systemctl start named
  3. [root@srever01 ~]# systemctl enable named

在UOS20中,bind程序的服务名为named。

安装完成后,可以使用如下命令检查bind是否正常运行,如下:
image.png

RHEL系的Linux中,bind程序的配置文件位置如下:

  1. /etc/named.conf 主配置文件
  2. /etc/named.rfc1912.zones 区域定义文件
  3. /var/named 目录中存放区域的配置数据文件

2.在Server01上创建sdskills.cn的正向查找区域

修改/etc/named.conf配置文件,修改监听DNS服务的IP 地址为Server01的IP地址,修改域名请求为any,如下:
image.png

修改/etc/named.rfc1912.zones配置文件

  1. [root@srever01 etc]# vi named.rfc1912.zones

添加如下内容,然后保存

  1. zone "sdskills.cn" IN {
  2. type master;
  3. file "sdskills.cn.zone";
  4. allow-update { none; };
  5. };

在/var/named中创建sdskills.cn.zone配置文件(实际操作时,可以将named.localhost配置文件复制成sdskills.cn.zone配置文件,然后修改其中内容。注意复制是要使用-a 选项,让区域配置文件具有相同的文件权限)

  1. [root@srever01 named]# cp -a /var/named/named.localhost sdskills.cn.zone

应该确保named用户账户的对区域配置文件有读取权限

image.png

然后,在配置文件sdskills.cn.zone配置如下内容。

  1. $TTL 1D
  2. @ IN SOA sdskills.cn root.sdskills.cn (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H ) ; minimum
  8. @ IN NS ns
  9. ns IN A 172.16.100.201
  10. www IN A 172.16.100.201
  11. Server01 IN A 172.16.100.201
  12. Server02 IN A 172.16.100.202
  13. Rserver IN A 172.16.100.254
  14. * IN A 172.16.100.254
  15. @ IN MX 10 mail.sdskills.cn.
  16. mail IN A 172.168.100.202
  17. ns2 IN A 192.168.10.4

修改完成后,保存,然后运行如下命令检查sdskills.cn.zone配置文件是否正确。

  1. [root@srever01 named]# named-checkzone sdskills.cn sdskills.cn.zone
  2. zone sdskills.cn/IN: loaded serial 0
  3. OK
  4. [root@srever01 named]# named-checkconf

4.在client 验证 Server01上正向查找区域sdskills.cn配置

(1)将Client的DNS服务器指向Server01,同时确保Client能ping通172.16.100.201
image.png

(2)如果client上没有安装dns客户端工具,则需要先安装bind-utils。

  1. [root@client ~]# yum -y install bind-utils

(3)在Client上使用nslookup进行sdskills.cn域的域名解析查询,检查域名解析是否正确。

  1. [root@client ~]# nslookup
  2. > www.sdskills.cn
  3. Server: 172.16.100.201
  4. Address: 172.16.100.201#53
  5. Name: www.sdskills.cn
  6. Address: 172.16.100.201
  7. > server02.sdskills.cn
  8. Server: 172.16.100.201
  9. Address: 172.16.100.201#53
  10. Name: Server02.sdskills.cn
  11. Address: 172.16.100.202

5.在Server-01上配置反向查询区域

修改/etc/named.rfc1912.zones配置文件

  1. [root@srever01 etc]# vi named.rfc1912.zones

添加172.16.100.0反向查询区域的配置文件信息,内容如下,然后保存

  1. zone "100.16.172.in-addr.arpa" IN {
  2. type master;
  3. file "sdskills.cn.zone.loopback";
  4. allow-update { none; };
  5. };

在/var/named中创建sdskills.cn.zone.loopback配置文件(实际操作时,可以将named.loopback配置文件复制成sdskills.cn.zone配置文件,然后修改其中内容。注意复制是要使用-a 选项,让区域配置文件具有相同的文件权限)

  1. [root@srever01 named]# cp -a named.loopback sdskills.cn.zone.loopback
  2. [root@srever01 named]# ls -l sdskills.cn.zone.loopback
  3. -rw-r-----. 1 root named 168 12 15 2009 sdskills.cn.zone.loopback

修改sdskills.cn.zone.loopback配置文件,内容如下:201i

  1. $TTL 1D
  2. @ IN SOA @ rname.invalid. (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H ) ; minimum
  8. @ IN NS ns
  9. ns IN A 172.16.100.201
  10. 201 IN PTR ns.sdskills.cn
  11. 201 IN PTR www.sdskills.cn
  12. 201 IN PTR Server01.sdskills.cn
  13. 202 IN PTR Server02.sdskills.cn
  14. 254 IN PTR Rserver.sdskills.cn

修改完成后,使用配置文件检测命令,验证配置文件正确性。

  1. [root@srever01 named]# named-checkzone 100.16.172.in-addr.arpa sdskills.cn.zone.loopback
  2. zone 100.16.172.in-addr.arpa/IN: loaded serial 0
  3. OK

6.在Server04上安装bind9软件

在Server04上安装bind软件

  1. [root@localhost ~]# yum -y install bind
  2. [root@localhost named]# yum -y install bind-utils
  3. [root@localhost ~]# systemctl start named
  4. [root@localhost ~]# systemctl enable named

修改/etc/named.conf配置文件

  1. listen-on port 53 { 192.168.10.4; };
  2. allow-query { any; };

7.在Server04上创建正向查找区域skills.cn

在 /etc/name.rfc1912.zones配置文件中添加如下区域

  1. zone "skills.cn" IN {
  2. type master;
  3. file "skills.cn.zone";
  4. allow-update { none; };
  5. };

在/var/named创建skills.cn.zone配置文件,并添加如下配置内容:

  1. [root@localhost named]# touch skills.cn.zone
  2. [root@localhost named]# chown root:named skills.cn.zone

在skills.cn.zone配置文件中添加如下内容:

  1. $TTL 1D
  2. @ IN SOA skills.cn root.skills.cn. (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H ) ; minimum
  8. @ IN NS ns
  9. ns IN A 192.168.10.4
  10. Server03 IN A 192.168.10.3
  11. Server04 IN A 192.168.10.4
  12. Rserver IN A 192.168.10.2
  13. * IN A 192.168.10.2

然后,检查配置文件的正确性

  1. [root@localhost named]# named-checkzone skills.cn skills.cn.zone
  2. zone skills.cn/IN: loaded serial 0
  3. OK

8.将Server04配置成根域服务器和泛域名解析

修改/etc/named.conf配置文件中的根域信息,

image.png

将上述部分修改成如下:

  1. zone "." IN {
  2. type master;
  3. file "root.zone";
  4. };

在/var/named目录下创建root.zone区域配置文件。

  1. [root@localhost named]# cp -a named.localhost root.zone

修改root.zone的内容如下,然后保存。

  1. $TTL 1D
  2. @ IN SOA . root. (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H ) ; minimum
  8. . IN NS ns
  9. ns IN A 192.168.10.4
  10. * IN A 192.168.10.2

修改完成后,使用named-checkzone命令检查配置文件

  1. [root@localhost named]# named-checkzone . root.zone
  2. zone ./IN: loaded serial 0
  3. OK
  4. [root@srever04 ~]# systemctl restart named
  5. [root@Server04 named]# systemctl stop firewalld
  6. [root@Server04 named]# systemctl disable firewalld

9.在Server01上配置转发器

修改/etc/named.conf配置文件,设置如下内容:

  1. allow-query { any; };
  2. recursion yes;
  3. forwarders { 192.168.10.4; };
  4. dnssec-enable no;
  5. 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服务器

  1. [root@srever01 ~]# systemctl restart named

10.在Client上进行DNS解析测试

  1. [root@client ~]# nslookup
  2. > www.sdskills.cn
  3. Server: 172.16.100.201
  4. Address: 172.16.100.201#53
  5. Name: www.sdskills.cn
  6. Address: 172.16.100.201
  7. > server01.sdskills.cn
  8. Server: 172.16.100.201
  9. Address: 172.16.100.201#53
  10. Name: Server01.sdskills.cn
  11. Address: 172.16.100.201
  12. > ftp.sdskills.cn
  13. Server: 172.16.100.201
  14. Address: 172.16.100.201#53
  15. Name: ftp.sdskills.cn
  16. Address: 172.16.100.254
  17. > server03.skills.cn
  18. Server: 172.16.100.201
  19. Address: 172.16.100.201#53
  20. Non-authoritative answer:
  21. Name: Server03.skills.cn
  22. Address: 192.168.10.3
  23. > server04.skills.cn
  24. Server: 172.16.100.201
  25. Address: 172.16.100.201#53
  26. Non-authoritative answer:
  27. Name: Server04.skills.cn
  28. Address: 192.168.10.4
  29. > www.skills.cn
  30. Server: 172.16.100.201
  31. Address: 172.16.100.201#53
  32. Non-authoritative answer:
  33. Name: www.skills.cn
  34. Address: 192.168.10.2
  35. > www.sina.com.cn
  36. Server: 172.16.100.201
  37. Address: 172.16.100.201#53
  38. Non-authoritative answer:
  39. Name: www.sina.com.cn
  40. Address: 192.168.10.2