前言
当前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服务
验证: