Bootstrap

DNS域名解析服务器

前言

一、域名

1、域名的概念和作用

2、域名与ip地址的关系

3、域名的构成

二、DNS服务器

1、DNS服务器的概念和作用

2、DNS服务器的优势

3、DNS服务器的类型

4、DNS服务器的查询方式

4.1 递归查询

4.2 迭代查询

5、DNS服务器查询原理过程

6、本地系统上的域名解析

6.1 /etc/hosts文件

6.2 搭建本地系统的域名解析

7、内网DNS服务器

7.1 内网DNS服务器概念

7.2 内网DNS服务器的特点和功能

7.3 DNS软件bind及其配置文件

7.4 搭建内网正向解析的DNS服务器

7.5 搭建内网反向解析DNS服务器

 8、搭建内网主从DNS服务器

 9、搭建分离解析的内网DNS服务器


前言

当前TCP/IP网络中的设备之间进行通信,是利用和依赖于IP地址实现的

但数字形式的IP地址是很难记忆的。当网络设备众多,想要记住每个设备的IP地址,可以说是"不可能完成的任务"。那么如何解决这一难题呢?

我们可以给每个网络设备起一个友好的名称,如:www.baidu.com,这种由文字组成的名称,显而易见要更容易记忆。但是计算机不会理解这种名称的,我们可以利用一种名字解析服务将名称转化成IP地址。从而我们就可以利用名称来直接访问网络中设备了

这种提供名字解析服务的设备,我们称为DNS域名解析服务器,接下来将进行对DNS域名解析服务器详细的阐释和配置过程的说明

一、域名

1、域名的概念和作用

  • 域名是互联网上用来标识特定网络实体(如服务器或组织)的名称。它是由一串用点分隔的字符组成的字符串,用于在互联网上唯一地标识某个特定的位置或资源
  • 域名通常用于代表网站、服务器、网络服务或其他互联网资源。它们提供了便于人们记忆和使用的方式,避免了直接使用数字形式的 IP 地址,使得用户可以通过易记的名称来访问各种网络资源
  • 域名是互联网中用来标识特定资源的人类可读的名称,它们通过 DNS(Domain Name System)系统与IP地址相对应,提供了便于记忆和使用的方式来访问互联网上的各种服务和资源

2、域名与ip地址的关系

  • 域名解析为 IP 地址:当用户在浏览器中输入一个域名时,计算机首先会向 DNS 服务器发送请求,以获取该域名对应的 IP 地址。这个过程称为域名解析。一旦获得了 IP 地址,计算机就可以直接连接到相应的服务器或设备。
  • IP 地址指向域名:同样地,每个服务器都有一个唯一的 IP 地址,这个 IP 地址可以被映射到一个或多个域名上。这意味着无论用户使用 IP 地址还是域名,都可以访问相同的服务器或网络资源

总结:域名和 IP 地址之间是通过 DNS 这一系统相互关联的。域名提供了便于记忆的方式来访问互联网资源,而 IP 地址则提供了确切的位置信息

3、域名的构成

域名通常由多个部分组成,以便于在互联网上唯一标识特定的资源。典型的域名由多个部分组成,这些部分按照特定的顺序排列

以域名:www.baidu.com.为例,对其进行详细的阐释和说明

根域(Root Domain):根域是DNS层次结构的最高级别。在域名中通常不可见,表示为一个空的点“.”。它作为整个域名系统的起点,所有的顶级域都是从根域派生出来的

顶级域(Top-Level Domain,TLD):顶级域又称为一级域,是紧接在根域之下的部分,通常是域名的最后一部分。它可以表示国家、地区或特定类型的组织。例如,“.com”、“.org”、“.net”、“.gov”、“.edu”、“.uk”等都是顶级域。有时候也会有一些新兴的通用顶级域,比如“.app”、“.blog”等

二级域(Second-Level Domain):二级域名位于顶级域名之下,是在互联网上唯一标识某个特定组织或实体的名称。例如,在域名“baidu.com”中,“baidu”就是二级域名

主机名(Hostname):通常是指代特定的服务器或服务的名称,比如 "www" 表示万维网服务,"ftp" 表示文件传输协议服务等 

二、DNS服务器

1、DNS服务器的概念和作用

DNS(Domain Name System)服务器是一种用于将域名解析为IP地址的服务器。它们是互联网基础设施的一部分,使得用户可以使用易于记忆的域名来访问网站和其他网络服务,而无需记住它们的IP地址

  • 域名解析:DNS服务器负责将用户输入的域名(如www.example.com)转换为对应的IP地址,这样计算机可以找到并连接到正确的网络资源
  • 缓存:DNS服务器可以缓存已解析的域名和IP地址的映射关系,以提高后续访问相同域名时的速度和效率
  • 分发负载:通过DNS记录不同的IP地址来指向多个服务器,DNS服务器可以帮助实现负载均衡,从而分散流量并提高整体性能
  • 提供安全性:一些DNS服务器可以通过过滤恶意网站或域名来提供安全保护,以及防止用户访问已知的恶意网站
  • 提供反向解析:DNS服务器还可以执行反向解析,即根据IP地址查找对应的域名。这在某些网络操作中非常有用

2、DNS服务器的优势

  • 方便用户:DNS 允许人们使用易记的域名来访问网站和其他网络服务,而不必记住每个服务的 IP 地址
  • 全球定位:DNS 提供了一种机制,使得网络资源能够在全球范围内被定位和访问
  • 负载均衡:DNS 可以用于分发流量到多个服务器,从而帮助实现负载均衡,提高性能和可靠性
  • 容错:当某个服务器出现故障时,DNS 可以将流量重定向到备用服务器,确保服务的连续性

3、DNS服务器的类型

  • 根DNS服务器:根DNS服务器是互联网DNS系统的顶级服务器,它们存储了所有顶级域DNS服务器的信息。根DNS服务器只回答DNS查询请求,它们不存储任何域名和IP地址的映射关系
  • 顶级域DNS服务器:顶级域DNS服务器是负责管理特定顶级域(例如.com、.org、.net等)的DNS服务器。它们存储了该顶级域下所有二级域的DNS服务器信息
  • 权威DNS服务器:权威DNS服务器是负责管理特定域名的DNS服务器。它们存储了该域名下所有主机名和IP地址的映射关系
  • 本地DNS服务器:本地DNS服务器是在本地网络中运行的DNS服务器。它们通常由互联网服务提供商(ISP)或企业管理,并用于响应客户端DNS查询请求。本地DNS服务器通常会缓存DNS记录,以提高查询性能
  • 主域名服务器:特定DNS区域的权威服务器,具有唯一性。负责维护该区域内所有域名->IP地址的映射记录,需要自行建立所负责区域的地址数据文件
  • 从域名服务器:也称为辅助域名服务器,是对主域名服务器的热备份。其维护的域名->IP地址记录来源于主域名服务器,需要从主域名服务器自动同步区域地址数据库

4、DNS服务器的查询方式

4.1 递归查询

客户端向本地DNS服务器发送一个DNS查询请求,如果本地DNS服务器没有缓存所需的DNS记录,则会向根DNS服务器发送请求。根DNS服务器将指向所需域的顶级域DNS服务器,然后本地DNS服务器将向该顶级域DNS服务器发送请求,以获取所需域的DNS记录。这个过程会一直进行下去,直到本地DNS服务器获得所需域的DNS记录并将其返回给客户端

  • 客户端角色: 客户端向本地DNS服务器发出一个域名解析请求,要求DNS服务器负责完成整个解析过程
  • DNS服务器角色: 本地DNS服务器接收到请求后,会向根DNS服务器发出请求,然后根DNS服务器将该请求引导到顶级域DNS服务器,再由顶级域DNS服务器引导到权威DNS服务器,最终获取到目标域名的IP地址,并将结果返回给客户端
  • 特点: 客户端不需要关心解析的具体过程,只需等待最终结果

4.2 迭代查询

客户端向本地DNS服务器发送一个DNS查询请求,本地DNS服务器向根DNS服务器发送请求,根DNS服务器返回指向所需域的顶级域DNS服务器的信息。然后,本地DNS服务器向该顶级域DNS服务器发送请求,以获取所需域的DNS记录。这个过程会一直进行下去,直到本地DNS服务器获得所需域的DNS记录并将其返回给客户端

  • 客户端角色: 客户端向本地DNS服务器发出一个域名解析请求,本地DNS服务器返回一个指向根DNS服务器的引导地址
  • DNS服务器角色: 本地DNS服务器并没有为客户端完成整个解析过程,而是将部分解析请求发送给根DNS服务器,然后将根DNS服务器的响应返回给客户端,客户端再向根DNS服务器发出请求,根DNS服务器返回一个指向顶级域DNS服务器的引导地址,以此类推,直到最终获取到目标域名的IP地址
  • 特点: 客户端需要多次发出请求,获取解析的中间结果,并逐步完成整个解析过程

5、DNS服务器查询原理过程

①本地/etc/hosts解析文件查询:先查看本机名称解析/etc/hosts配置文件,如果有记录直接访问,如果没有就去本地缓存DNS服务器

②本地DNS解析:如果缓存服务器有记录,就直接反馈结果(递归查询)。如果本地缓存中没有相应的记录,就需要迭代查询,本地 DNS 服务器会向根域名服务器发出请求,询问顶级域名服务器的地址

③根域服务器查询:根域服务器只能解析根域名,无法完整解析所有域名,会反馈顶级域服务器的地址,再去寻找顶级域服务器

④顶级域服务器查询:顶级域服务器只能解析顶级域名,无法完整解析所有域名,会反馈二级域服务器的地址,再去寻找二级域服务器

⑤二级域服务器查询:二级域服务器发现在自己的服务范围之内,可以完整解析所有域名,直接将获取到相应的域名解析记录,包括对应的IP地址反馈给本地缓存服务器

⑥返回结果:本地 DNS 服务器将获取到的域名解析结果缓存,并将解析结果返回给用户的计算机

 6、本地系统上的域名解析

6.1 /etc/hosts文件

/etc/hosts 文件是一个在 Linux 和类 Unix 系统中常见的文本文件,用于将 IP 地址与主机名关联起来,实现本地域名解析 

这个文件允许系统管理员手动指定特定主机名对应的 IP 地址,从而绕过 DNS 服务器进行域名解析

6.2 搭建本地系统的域名解析

#修改/etc/hosts文件,将你想要的域名和其对应的ip地址添加其中
[root@localhost ~]#vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.12.100  www.baidu.com
#文件的格式为: IP地址     域名

①ping www.baidu.com查看dns服务器解析的IP地址:180.101.50.242

②修改/etc/hosts的配置文件,指定www.baidu.com的域名对应的ip地址为172.16.12.100

③再次ping www.baidu.com发现其解析的IP地址改变为设定的172.16.12.100

注:

因为/etc/hosts文件执行的优先级大于dns服务器的优先级,也就是说在解析域名时,会优先查看/etc/hosts文件,如果该域名在/etc/hosts文件中,会直接反馈文件中指定的IP地址

④修改dns的优先级

 ⑤重新ping www.baidu.com,发现恢复原来dns服务器解析的IP地址:180.101.50.242

7、内网DNS服务器

7.1 内网DNS服务器概念

内网DNS域名解析服务器是部署在一个内部网络(内网)中的域名系统(DNS)服务器。其主要功能是解析内网中的域名到对应的IP地址,使内网用户能够访问内网资源,而无需记住每个资源的具体IP地址

7.2 内网DNS服务器的特点和功能

  • 域名解析: 提供将域名转换为IP地址的服务。当内网用户在浏览器中输入域名时,内网DNS解析服务器负责将域名解析为相应的IP地址,从而使用户能够访问相应的网站或服务
  • 局域网内部解析: 内网DNS解析服务器通常专注于为内部网络提供服务,解析内部域名和主机名。这样,内网中的各种设备可以通过易记的主机名相互通信,而无需使用复杂的IP地址
  • 性能优化: 内网DNS解析服务器能够针对内网的规模和需求进行优化,提高域名解析的速度和效率。通过缓存已解析的域名与IP地址的映射关系,可以加速后续的解析请求
  • 安全性配置: 内网DNS解析服务器可以配置安全策略,限制对特定域名的解析,防止内网用户访问恶意域名。此外,支持安全传输协议(如DNS over TLS或DNS over HTTPS)可以增加解析请求的安全性。
  • 自定义域名管理: 管理员可以通过内网DNS解析服务器进行自定义域名的管理,以适应内部网络结构的需求。这包括添加、删除或修改内部域名记录。

总体而言,内网DNS解析服务器是为了方便内网用户访问内部资源而构建的,旨在提供高效、安全、自定义的域名解析服务

7.3 DNS软件bind及其配置文件

bind通常指的是BIND(Berkeley Internet Name Domain)软件,它是一种用于实现域名系统(DNS)的开源软件

主配置文件/etc/named.conf:编辑此文件以配置域名解析、域名服务器和其他相关设置,配置文件通常位于/etc/bind/named.conf

域名配置文件/etc/named.rfc1912.zones:可以定义域名和其对应的区域文件,添加、修改或删除域名及其相关的区域文件配置

数据库文件/var/named/域名:用于解析特定域名的IP地址,包含了特定域名的资源记录(如A记录、CNAME记录等)以及其他与该域名相关的配置信息

数据库文件格式:

$TTL 1D                                            #有效解析记录的生存周期
@   IN SOA master admin.dhyq.com. (   #“@"符号表示当前的DNS区域名
                     0   ; serial              #更新序列号,可以是10位以内的整数
                    1D   ; refresh             #刷新时间,重新下载地址数据的间隔
                    1H   ; retry               #重试延时,下载失败后的重试间隔
                    1W   ; expire              #失效时间,超过该时间仍无法下载则放弃#
					3H)  ; minimum             #无效解析记录的生存周期,
        NS      master                   #记录当前区域的DNS服务器的名称
master  A     172.16.12.10              #记录主机IP地址
IN   MX 10    mail.dhyq.com.            #MX为邮件交换记录,数字越大优先级越低
www  IN A     172.16.12.100             #记录正向解析www.benet.com对应的IP
mail IN A     172.16.12.110             #MX为邮件交换记录,数字越大优先级低 
yyy  IN CNAME  www                       #CNAME使用别名,yyy是www的别名
*    IN A     172.16.12.200            #泛域名解析,“*"代表任意主机名

各种资源记录:

  • SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。

  • A(internet Address):作用,域名解析成IP地址

  • PTR(PoinTeR):反向解析,ip地址解析成域名

  • NS(Name Server):专用于标明当前区域的DNS服务器,服务器类型为域名服务器

  • CNAME (Canonical Name):别名记录

  • MX(Mail eXchanger):邮件交换器

  • TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等

7.4 搭建内网正向解析的DNS服务器

前提:关闭防火墙和临时防护 

[root@localhost ~]systemctl   stop  firewalld      #关闭防火墙
[root@localhost ~]setenforce  0                    #关闭临时防护
步骤一:
#安装bind、bind-utils,再查找到其配置文件和主程序的位置,并开启服务
[root@localhost ~]#yum install -y bind bind-utils.x86_64
[root@localhost ~]#rpm -qc bind
/etc/named.conf    #主配置文件
[root@localhost ~]#rpm -ql bind
/usr/sbin/named    #主程序名为named,安装包名为bind
[root@localhost ~]#systemctl start named    #开启named服务
[root@localhost ~]#ss -natp | grep named    #检测named是否开启,并查看其端口号

********************************************************************************
步骤二:
#在内网DNS服务器:172.16.12.10上操作
#修改主配置文件/etc/named.conf,修改权限和监听地址
[root@localhost ~]#vim /etc/named.conf
listen-on port 53 { any; };    #将监听地址改为any,或者删除、注释掉这行
allow-query     { any; };      #将允许前来访问的客户端改为any,或者删除、注释掉这行
[root@localhost ~]#named-checkconf /etc/named.conf   #查看主配置文件内容是否出错

*********************************************************************************
步骤三:
#在内网DNS服务器:172.16.12.10上操作
#修改域名配置文件/etc/named.rfc1912.zones
[root@localhost ~]#vim /etc/named.rfc1912.zones
zone "dhyq.com" IN {
        type master;
        file "dhyq.com.zone";
};

**********************************************************************************
步骤四:
#在内网DNS服务器:172.16.12.10上操作
#复制/var/named/named.localhost模版成/var/named/dhyq.com.zone数据库文件,在此基础上进行修改
[root@localhost ~]#cd /var/named
[root@localhost named]#cp -a named.localhost dhyq.com.zone
[root@localhost named]#vim dhyq.com.zone    #编辑数据库文件
$TTL 1D
@       IN SOA  master rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      master
master  A       172.16.12.10
www     A       172.16.12.100
ftp     A       172.16.12.200
yyy     CNAME   www
[root@localhost named]#named-checkzone dhyq.com /var/named/dhyq.com.zone
#检测数据库文件内容是否出错
[root@localhost named]#rndc reload    #重新加载dns服务

************************************************************************************
步骤五:
#在内网DNS服务器:172.16.12.10上操作
#验证,查看域名解析的IP地址是否正确
[root@localhost named]#dig www.dhyq.com @172.16.12.10
[root@localhost named]#dig yyy.dhyq.com @172.16.12.10
[root@localhost named]#dig ftp.dhyq.com @172.16.12.10

************************************************************************************
步骤六:
#在客户端:172.16.12.12上验证内网dns服务器172.16.12.10
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=172.16.12.10     #添加内网的dns服务器
[root@localhost ~]#systemctl restart network   #重启网络
[root@localhost ~]#cat /etc/resolv.conf  #查看当前客户端的dns服务器
[root@localhost ~]#host ftp.dhyq.com     #查看域名解析的IP地址是否正确
[root@localhost ~]#host yyy.dhyq.com

步骤一:下载bind软件省略,命令见上

步骤二:修改主配置文件/etc/named.conf,修改权限和监听地址

 步骤三:修改域名配置文件/etc/named.rfc1912.zones

 步骤四:复制/var/named/named.localhost模版成/var/named/dhyq.com.zone数据库文件,在此基础上进行修改

 步骤五:验证,查看域名解析的IP地址是否正确

步骤六: 在客户端:172.16.12.12上验证内网dns服务器172.16.12.10

7.5 搭建内网反向解析DNS服务器

#在搭建内网DNS正向解析服务器的基础上,修改其相应的配置文件即可
#先修改区域配置文件
[root@localhost named]#vim /etc/named.rfc1912.zones 
zone "12.16.172.in-addr.arpa" IN {
	type master;
	file "xzyq.com.zone";
};

*************************************************************************
#复制正向解析数据库文件成模板为反向解析数据库文件,在此基础上进行修改
[root@localhost named]#cp -a dhyq.com.zone xzyq.com.zone
[root@localhost named]#vim xzyq.com.zone
$TTL 1D
@       IN SOA  master rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      master
master  A       172.16.12.10
111     PTR     www.yun.com.
220     PTR     ftp.yun.com.

 8、搭建内网主从DNS服务器

主从DNS服务器共同工作,确保了域名解析服务的可靠性、稳定性和效率。当主服务器发生故障或不可用时,从服务器可以继续提供域名解析服务,从而确保网络的连通性

前提:关闭防火墙和临时防护

[root@localhost ~]systemctl   stop  firewalld      #关闭防火墙
[root@localhost ~]setenforce  0                    #关闭临时防护

搭建主从DNS服务器具体详细步骤:

步骤一:主DNS服务器:172.16.12.10和从DNS服务器:172.16.12.12都要操作
#安装bind、bind-utils,再查找到其配置文件和主程序的位置,并开启服务
[root@localhost ~]#yum install -y bind bind-utils.x86_64
[root@localhost ~]#rpm -qc bind
/etc/named.conf    #主配置文件
[root@localhost ~]#rpm -ql bind
/usr/sbin/named    #主程序名为named,安装包名为bind
[root@localhost ~]#systemctl start named    #开启named服务
[root@localhost ~]#ss -natp | grep named    #检测named是否开启,并查看其端口号

********************************************************************************
步骤二:主DNS服务器:172.16.12.10和从DNS服务器:172.16.12.12都要操作
#修改主配置文件/etc/named.conf,修改权限和监听地址
[root@localhost ~]#vim /etc/named.conf
listen-on port 53 { any; };    #将监听地址改为any,或者删除、注释掉这行
allow-query     { any; };      #将允许前来访问的客户端改为any,或者删除、注释掉这行
[root@localhost ~]#named-checkconf /etc/named.conf   #查看主配置文件内容是否出错

*********************************************************************************
步骤三:主DNS服务器:172.16.12.10和从DNS服务器:172.16.12.12都要操作
#修改网卡配置文件的dns地址
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=172.16.12.10     #修改dns服务器
DNS2=172.16.12.12     
[root@localhost ~]#systemctl restart network   #重启网络
[root@localhost ~]#cat /etc/resolv.conf  #查看当前系统的dns服务器

**********************************************************************************
步骤四:在主DNS服务器:172.16.12.10上操作
#修改主域名配置文件/etc/named.rfc1912.zones
[root@localhost ~]#vim /etc/named.rfc1912.zones
zone "dhyq.com" IN {
        type master;
        file "dhyq.com.zone";
};

**********************************************************************************
步骤五:在主DNS服务器:172.16.12.10上操作
#修改主DNS服务器的数据库文件
[root@localhost ~]#cd /var/named
[root@localhost named]#cp -a named.localhost dhyq.com.zone
[root@localhost named]#vim dhyq.com.zone  
$TTL 1D
@       IN SOA  master rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      master
        NS      slave              #添加指定的从服务器
master  A       172.16.12.10       ##添加指定的从服务器对应的IP地址
slave   A       172.16.12.12
www     A       172.16.12.100
ftp     A       172.16.12.200
yyy     CNAME   www
[root@localhost named]#named-checkzone dhyq.com /var/named/dhyq.com.zone
#检测数据库文件内容是否出错

***********************************************************************************
步骤五:在从DNS服务器:172.16.12.12上操作
#修改从域名配置文件/etc/named.rfc1912.zones
[root@localhost ~]#vim /etc/named.rfc1912.zones
zone "dhyq.com" IN {
        type slave;
        file "slaves/dhyq.com.zone";
        masters{ 172.16.12.10 ;};  #申明主服务器的IP地址
};

***********************************************************************************
步骤六:重启dns服务,检测从DNS服务器上的/var/named/slaves/下是否出现dhyq.com.zone数据库文件
#主DNS服务器:172.16.12.10和从DNS服务器:172.16.12.12都要重新加载dns服务
[root@localhost named]#rndc reload
[root@localhost ~]#ll /var/named/slaves/

***********************************************************************************
步骤七:验证
#关闭主dns服务器,查看域名还能否成解析IP地址
[root@localhost named]#systemctl stop named
[root@localhost named]#dig ftp.dhyq.com
[root@localhost named]#dig yyy.dhyq.com

其实按前面的配置内网DNS服务器的步骤,配置两个内网DNS服务器,一台作为主NDS服务器,一台作为从DNS服务器,修改两个DNS服务器的配置文件即可

①修改主DNS服务器的数据库文件:vim /var/named/dhyq.com.zone

②修改从DNS服务器的域名配置文件:vim /etc/named.rfc1912.zones

③主从DNS服务器重新开启dns服务后,进行测试

关闭主服务器的dns服务,查看还能否解析出ip地址

注意点:

每次修改主DNS服务器的数据库文件时,注意版本序列号要在原来基础上加1:

否则,主服务器不改版本序列号,从服务器解析ftp.dhyq.com时对应IP地址还是为原来的172.16.12.200

 主服务器修改版本序列号,从服务器解析ftp.dhyq.com时对应IP地址是新的IP地址:172.16.12.222

如果主服务器每次修改数据库配置文件后没有将序列版本号加1,那么在24小时内从服务器使用的都是旧的数据库配置文件,无法实现与主服务器的同步。

 9、搭建分离解析的内网DNS服务器

前提:关闭防火墙和临时防护 

[root@localhost ~]systemctl   stop  firewalld      #关闭防火墙
[root@localhost ~]setenforce  0                    #关闭临时防护
#安装bind、bind-utils,再查找到其配置文件和主程序的位置,并开启服务
[root@localhost ~]#yum install -y bind bind-utils.x86_64
[root@localhost ~]#rpm -qc bind
/etc/named.conf    #主配置文件
[root@localhost ~]#rpm -ql bind
/usr/sbin/named    #主程序名为named,安装包名为bind
[root@localhost ~]#systemctl start named    #开启named服务
[root@localhost ~]#ss -natp | grep named    #检测named是否开启,并查看其端口号

******************************************************************************
#修改主配置文件/etc/named.conf,修改权限和监听地址
[root@localhost ~]# vim /etc/named.conf
         listen-on port 53 { any; };
         allow-query     { any; };
#将根配置文件删除或者注释
//zone "." IN {                          
 //      type hint;
 //      file "named.ca";

******************************************************************************
修改域名配置文件/etc/named.rfc1912.zones
[root@localhost ~]# vim /etc/named.rfc1912.zones
#只配置view,删除zone开头的所有,否则不能识别
view "lan" {
        match-clients { 172.16.12.0/24; };     #允许匹配的网段
        zone "dxzh.com" IN {
          type master;
          file "dxzh.com.lan";
        };
 
        zone "." IN {                            #根配置文件
          type hint;
          file "named.ca";
        };
 
};
 
view "wan" {
        match-clients { 20.0.0.0/24; };          #允许匹配的网段
        zone "dxzh.com" IN {
          type master;
          file "dxzh.com.wan";
        };
 
        zone "." IN {
          type hint;
          file "named.ca";
        };
 
};

*****************************************************************************
#配置数据库文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost  dxzh.com.lan
[root@localhost named]# cp -a named.localhost  dxzh.com.wan
[root@localhost named]# vim dxzh.com.lan
$TTL 1D
@       IN SOA  master rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      master
master  A       172.16.12.10
www     A       172.16.12.222
 
[root@localhost named]# vim dxzh.com.wan
@       IN SOA  master rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      master
master  A       20.0.0.10
www     A       20.0.0.222

******************************************************************************
#修改ens36网卡名称、网卡、及ip地址(20.0.0.10)即可
[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens36
NAME=ens36
DEVICE=ens36
IPADDR=20.0.0.10
[root@localhost named]# systemctl restart network   #重启网络服务
[root@localhost named]# systemctl restart named     #重启DNS服务

验证: 

;