Linux 网络服务06-DNS 域名解析服务(二)

一、构建主 DNS 域名解析服务器

1.主域名服务器概述

主域名服务器通常架设再 Internet 环境中,提供某一个域或几个域内的主机名与 IP 地址的查询服务。为了分担域名查询的压力、提供区域数据的备份,有时还会另外架设一台从域名服务器,与主域名服务器同时提供服务。

2.构建主域名服务器步骤及示例

实验环境:

  • 主,从域名服务器均位于 Internet中,所负责的 DNS 区域为 “huyouba1.com”
  • 主服务器 IP 地址 192.168.100.100/24,主机名为 ns1.huyouba1.com
  • 从服务器 IP 地址 192.168.100.110/24,主机名为 ns2.huyouba1.com
  • 在 huyouba1.com 区域中,除了 NS 记录以外提供的解析记录包括如下内容:

网站服务器:www.huyouba1.com,IP 地址 192.168.100.10/24

邮件服务器:mail.huyouba1.com,IP 地址 192.168.100.1/24

新闻服务器:news.huyouba1.com,IP 地址192.168.100.2/24

论坛服务器:bbs.huyouba1.com,IP 地址 192.168.100.2/24

  • 参考上述各服务器的地址映射关系,为 192.168.100.0/24 网段提供反向解析
  • 设置 huyouba1.com 域的泛域名解析,对应 IP 地址 192.168.100.10/24
  • 客户机将首选,备用 DNS 服务器分别设为 192.168.100.100 和 192.168.100.110

(1)确认本机的网络地址,主机映射,默认 DBS 服务器地址

更改主机映射文件

[root@ns1 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com

查看 DNS

[root@ns1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com

(2)修改主配置文件 /etc/named.conf

[root@ns1 ~]# rpm -qa |grep bind

bind-libs-9.9.4-72.el7.x86_64
bind-license-9.9.4-72.el7.noarch
bind-utils-9.9.4-72.el7.x86_64
bind-libs-lite-9.9.4-72.el7.x86_64

[root@ns1 ~]# yum -y install bind bind-utils bind-chroot

[root@ns1 ~]# cd /etc/

[root@ns1 etc]# cp named.conf  named.conf.$(date +%Y%m%d%H%M)

[root@ns1 etc]# vim named.conf

options {
        listen-on port 53 { 192.168.100.100; };
//      listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion yes;
//      dnssec-enable yes;
//      dnssec-validation yes;

};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

//zone "." IN {
//      type hint;
//      file "named.ca";
//};

//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";

zone "huyouba1.com" IN {
        type master;
        file "huyouba1.com.zone";
        allow-transfer { 192.168.100.110; };
};
zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.100.arpa";
        allow-transfer { 192.168.100.110; };
};

检查配置文件

[root@ns1 etc]# named-checkconf  /etc/named.conf

(3)建立正反区域数据文件

1> 建立正向区域数据文件

[root@ns1 etc]# cd /var/named/

[root@ns1 named]# ls
chroot  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves

[root@ns1 named]# cp -p named.empty  huyouba1.com.zone

[root@ns1 named]# vim huyouba1.com.zone 

$TTL 1D
@       IN SOA  huyouba1.com. root.ns1.huyouba1.com. (
                                        2020030701      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.huyouba1.com.
        NS      ns2.huyouba1.com.
        MX 10   mail.huyouba1.com.
ns1     A       192.168.100.100
ns2     A       192.168.100.110
www     A       192.168.100.10
mail    A       192.168.100.1
news    A       192.168.100.12
bbs     CNAME   news
*       A       192.168.100.10

2> 建立反向区域数据文件

[root@ns1 named]# cp -p huyouba1.com.zone  192.168.100.arpa

[root@ns1 named]# vim 192.168.100.arpa 

$TTL 1D
@       IN SOA  huyouba1.com. root.ns1.huyouba1.com. (
                                        2020030701      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.huyouba1.com.
        NS      ns2.huyouba1.com.
100     PTR     ns1.huyouba1.com.
110     PTR     ns2.huyouba1.com.
10      PTR     www.huyouba1.com.
1       PTR     mail.huyouba1.com.
12      PTR     news.huyouba1.com.
12      PTR     bbs.huyouba1.com.

3> 测试配置文件

[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone 

zone huyouba1.com/IN: loaded serial 2020030701
OK

[root@ns1 named]# named-checkzone 100.168.192-addr.arpa 192.168.100.arpa

zone 100.168.192-addr.arpa/IN: loaded serial 2020030701
OK

(4)重启命名服务或重载配置

[root@ns1 named]# systemctl restart named

(5)客户机测试

二、构建从 DNS 域名解析服务器

1.从域名解析服务器概述

与主域名解析服务器提供完全相同的 DNS 解析服务,通常用于 DNS 服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。

2.构建从域名服务器步骤及示例

实验环境:

  • 主,从域名服务器均位于 Internet 中,所负责的 DNS 区域为 “huyouba1.com”
  • 主服务器 IP 地址192.168.100.100/24,主机名 ns1.huyouba1.com
  • 主服务器 IP 地址192.168.100.110/24,主机名 ns2.huyouba1.com
  • 客户机将首选,备用 DNS 服务器分别设为 192.168.100.100 和 192.168.100.110

(1)确认本机的网络地址,主机映射,默认 DNS 服务器地址

更改主机映射文件

[root@ns2 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com

查看 DNS

[root@ns2 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com

(2)修改主配置文件的 /etc/named.conf

[root@ns2 ~]# rpm -qa |grep bind

bind-libs-9.9.4-72.el7.x86_64
bind-license-9.9.4-72.el7.noarch
bind-utils-9.9.4-72.el7.x86_64
bind-libs-lite-9.9.4-72.el7.x86_64

[root@ns2 ~]# yum -y install bind bind-utils bind-chroot

[root@ns2 ~]# cd /etc/

[root@ns2 etc]# cp named.conf named.conf.$(date +%Y%h%d%H%M)

[root@ns2 etc]# vim named.conf

[root@ns2 etc]# vim named.conf

options {
        listen-on port 53 { 192.168.100.110; };
//      listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
//      dump-file       "/var/named/data/cache_dump.db";
//      statistics-file "/var/named/data/named_stats.txt";
//      memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion yes;

//      dnssec-enable yes;
//      dnssec-validation yes;
//      bindkeys-file "/etc/named.iscdlv.key";
//      managed-keys-directory "/var/named/dynamic";
//      pid-file "/run/named/named.pid";
//      session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

//zone "." IN {
//      type hint;
//      file "named.ca";
//};

//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";
zone "huyouba1.com" IN {
        type slave;
        masters { 192.168.100.100; };
        file "slaves/huyouba1.com.zone";
};
zone "100.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.100.100; };
        file "slaves/192.168.100.arpa";
};

检查配置文件

[root@ns2 etc]# named-checkconf  /etc/named.conf

()3启动命名服务,查看区域数据是否下载成功

[root@ns2 etc]# ll /var/named/slaves/
总用量 0

[root@ns2 etc]# systemctl restart named

[root@ns2 etc]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 583 3月   7 20:09 192.168.100.arpa
-rw-r--r-- 1 named named 571 3月   7 20:09 huyouba1.com.zone

(4)客户机测试

(5)将主域名服务器增加地址解析记录,修改序列号 +1 查看从域名服务器 /var/named/slave/ 下文件的时间

[root@ns2 etc]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 583 3月   7 20:09 192.168.100.arpa
-rw-r--r-- 1 named named 571 3月   7 20:09 huyouba1.com.zone

更新主域名服务器的区域配置文件

[root@ns1 named]# cd /var/named/

[root@ns1 named]# vim huyouba1.com.zone 

$TTL 1D
@       IN SOA  huyouba1.com. root.ns1.huyouba1.com. (
                                        2020030702      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.huyouba1.com.
        NS      ns2.huyouba1.com.
        MX 10   mail.huyouba1.com.
ns1     A       192.168.100.100
ns2     A       192.168.100.110
www     A       192.168.100.10
mail    A       192.168.100.1
news    A       192.168.100.12
bbs     CNAME   news
*       A       192.168.100.10
money   A       192.168.100.13

[root@ns1 named]# named-checkzone  huyouba1.com huyouba1.com.zone         
zone huyouba1.com/IN: loaded serial 2020030702
OK

[root@ns1 named]# vim 192.168.100.arpa 

$TTL 1D
@       IN SOA  huyouba1.com. root.ns1.huyouba1.com. (
                                        2020030702      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.huyouba1.com.
        NS      ns2.huyouba1.com.
100     PTR     ns1.huyouba1.com.
110     PTR     ns2.huyouba1.com.
10      PTR     www.huyouba1.com.
1       PTR     mail.huyouba1.com.
12      PTR     news.huyouba1.com.
12      PTR     bbs.huyouba1.com.
13      PTR     money.huyouba1.com.

[root@ns1 named]# named-checkzone  100.168.192.in-addr.arpa 192.168.100.arpa 
zone 100.168.192.in-addr.arpa/IN: loaded serial 2020030702
OK

(6)修改主域名解析服务器的主配置文件,添加 also-notify { 192.168.100.110; };观察从域名解析服务器区域数据文件是否更新

[root@ns1 named]# vim /etc/named.conf
10         also-notify     { 192.168.100.110; };

重新加载主域名解析服务器配置文件

[root@ns1 named]# systemctl reload named

发现从域名服务器已自动更新区域配置文件

[root@ns2 etc]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 654 3月   7 20:32 192.168.100.arpa
-rw-r--r-- 1 named named 617 3月   7 20:32 huyouba1.com.zone

客户机测试

[root@localhost ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search com
nameserver 192.168.100.110
nameserver 192.168.100.100

[root@localhost ~]# nslookup 

> money.huyouba1.com

Server:     192.168.100.110
Address:    192.168.100.110#53

Name:   money.huyouba1.com
Address: 192.168.100.13

> 192.168.100.13

Server:     192.168.100.110
Address:    192.168.100.110#53

13.100.168.192.in-addr.arpa name = money.huyouba1.com.

> exit

三、构建分离解析的 DNS 域名解析服务器

1.分离解析的域名解析服务器概述

分离解析的域名解析服务器实际上也是主域名服务器,这里所说的分离解析(Split DNS),主要是指根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析效果。

2.构建分离解析的域名服务器步骤及示例

3.实验环境:

  • 域名服务器架设在企业网关服务器中,网卡ens33的IP地址为192.168.100.100/24;网卡etns38的IP地址为172.20.10.8/24(桥接网络)模拟外网

  • 在Internet中的公共域名www.huyouba1.com和mail.huyouba1.com均解析为172.20.10.8

  • 在内网中www.huyouba1.com和mail.huyouba1.com分别解析为192.168.100.10和192.168.100.20

  • 分别用两台客户机模拟内网与外网进行测试

(1)在 /etc/named.conf 主配置文件中为不同的客户机地址启用不同的 zon e区域设置,各自使用独立的数据文件。

[root@ns1 ~]# vim /etc/named.conf

 //
 // named.conf
 //
 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
 // server as a caching only nameserver (as a localhost DNS resolver only).
 //
 // See /usr/share/doc/bind*/sample/ for example named configuration files.
 //
 // See the BIND Administrator's Reference Manual (ARM) for details about the 
 // configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
         listen-on port 53 { 192.168.100.100;172.20.10.8; };
 //      listen-on-v6 port 53 { ::1; };
         directory       "/var/named";
 //      dump-file       "/var/named/data/cache_dump.db";
 //      statistics-file "/var/named/data/named_stats.txt";
 //      memstatistics-file "/var/named/data/named_mem_stats.txt";
         allow-query     { any; };
 //      recursion yes;

 //      dnssec-enable yes;
 //      dnssec-validation yes;

         /* Path to ISC DLV key */
 //      bindkeys-file "/etc/named.iscdlv.key";

 //      managed-keys-directory "/var/named/dynamic";
 };

 acl "lan" { 192.168.100.0/24; };    //定义 acl 规则
 acl "wan" { any; };

 view "LAN" {                        //引用acl规则
 match-clients { lan; };
 zone "huyouba1.com" IN {
         type master;
         file "huyouba1.com.zone.lan";
 };
 };

 view "WAN" {
 match-clients { wan; };
 zone "huyouba1.com" IN {
         type master;
         file "huyouba1.com.zone.wan";
 };
 };

检查配置文件

[root@ns1 ~]# named-checkconf /etc/named.conf

(2)分别建立不同的区域数据文件

[root@ns1 ~]# cd /var/named/

[root@ns1 named]# cp -p named.empty huyouba1.com.zone.lan

[root@ns1 named]# vim huyouba1.com.zone

$TTL 1D
@       IN SOA  huyouba1.com. root.ns1.huyouba1.com. (
                                       2020030701      ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
       NS      ns1.huyouba1.com.
       MX 10   mail.huyouba1.com.
ns1     A       192.168.100.100
www     A       192.168.100.10
mail    A       192.168.100.20
   
[root@ns1 named]# cp -p huyouba1.com.zone.lan huyouba1.com.zone.wan

[root@ns1 named]# vim huyouba1.com.zone.wan 

$TTL 1D
@       IN SOA  huyouba1.com. root.ns1.huyouba1.com. (
                                       2020030701      ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
       NS      ns1.huyouba1.com.
       MX 10   mail.huyouba1.com.
ns1     A       172.20.10.8
www     A       172.20.10.8
mail    A       172.20.10.8

检查区域配置文件

[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone.lan
zone huyouba1.com/IN: loaded serial 2020030701
OK

[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone.wan
zone huyouba1.com/IN: loaded serial 2020030701
OK

(3)启动或重新加载命名服务程序

[root@ns1 named]# systemctl restart named

(4)内网及模拟外网的两台客户机进行测试

1> 内网测试

2> 外网测试

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦