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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      masterNS      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.conflisten-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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      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       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      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服务

验证: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/236945.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL-修改数据

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

Vant2组件库van-list+Toast下拉加载滚动条回顶问题

目录 List 列表 Toast 轻提示 解决方案 1、不使用 Toast 的 加载提示 2、修改调整 pointer-event 属性值 3、判断是否为第一次加载再使用 背景 &#xff1a; 移动端项目 开发时&#xff0c;有数据长列表展示的场景需求&#xff0c;此时就用到了 Vant2 组件库里面的 <v…

JRebel热部署

热部署 什么热部署&#xff0c;简单来说我们正常的java项目需要编写java代码&#xff0c;但电脑执行的可不是java代码&#xff0c;而是转换后的class文件。这也意味着我们对程序进行微调&#xff0c;也要重新编译才能让程序展示我们需要的状态 而且不仅仅是我们手写的java文件…

7.11、Kali Linux中文版虚拟机安装运行教程

目录 一、资源下载准备工作 二、安装教程 三、kali linux换源 四、apt-get update 报错 一、资源下载准备工作 linux 中文版镜像历史版本下载:http://old.kali.org/kali-images/ 大家可以自行选择版本下载&#xff0c;本人下载的是2021版本 二、安装教程 打开vmvare wokst…

ZooKeeper 实战(二) 命令行操作篇

文章目录 ZooKeeper 实战(二) 命令行操作篇1. 服务端命令1.1. 服务启动1.2. 查看服务1.3. 重启服务1.4. 停止服务 2. 客户端命令2.1. 启动客户端2.2. 查看节点信息查看根节点详情 ls -s /添加一个watch监视器 ls -w /列举出节点的级联节点 ls -R / 2.3. 查看节点状态2.4. 创建节…

小学信息科技Python课程第2课:坐标与画笔

一、turtle画布与坐标系 在同一平面互相垂直且有公共原点的两条数轴构成平面直角坐标系。在坐标系中&#xff0c;水平方向的轴都称为x轴&#xff0c;垂直方向的轴都称为y轴 它们相交于O点&#xff0c;在这一个点里&#xff0c;x轴的值为0&#xff0c;y轴的值也为0&#xff0c;所…

c#图片作为鼠标光标

图片转换为鼠标光标代码如下&#xff1a; private void Form1_Load(object sender, EventArgs e) {//button1.Cursor System.Windows.Forms.Cursors.Hand;Bitmap bmp new Bitmap("780.jpg");Cursor cursor new Cursor(bmp.GetHicon());button1.Cursor cursor;} …

如何异地链接Pycharm服务器进行远程开发并实现与公司服务器资源同步

文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…

2024年美赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

华为mux vlan+DHCP+单臂路由用法配置案例

最终效果&#xff1a; vlan 2模拟局域网服务器&#xff0c;手动配置地址&#xff0c;也能上公网 vlan 3、4用dhcp分配地址 vlan 4的用户之间不能互通&#xff0c;但可以和其它vlan通&#xff0c;也能上公网 vlan 3的用户不受任何限制可以和任何vlan通&#xff0c;也能上公网 交…

oracle 12c pdb expdp/impdp 数据导入导出

环境 (源)rac 环境 byoradbrac 系统版本&#xff1a;Red Hat Enterprise Linux Server release 6.5 软件版本&#xff1a;Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1&#xff1a;172.17.38.44 byoradb2&#xff1a;172.17.38.45 (目的&am…

vivado ip manager cache

https://china.xilinx.com/video/hardware/configuring-managing-reusable-ip-vivado.html “Core Containers”&#xff08;核容器&#xff09;&#xff1a;勾选Use Core Containers for IP&#xff08;为 IP 使用核容器&#xff09;即可使用核容器功能&#xff0c;该功能支持…

LeetCode讲解篇之39. 组合总和

文章目录 题目描述题解思路题解代码 题目描述 题解思路 首先排序数组&#xff0c;然后开始选择数字&#xff0c;当选择数字num后&#xff0c;在去选择大于等于num的合法数字&#xff0c;计算过程中的数字和&#xff0c;直到选数字和等于target, 加入结果集&#xff0c;若数字和…

002 Golang-channel-practice

第二题&#xff1a; 创建一个生产器和接收器&#xff0c;再建立一个无缓冲的channel。生产器负责把数据放进管道里&#xff0c;接收器负责把管道里面的数据打印出来。这里我们开5个协程把数据打印出来。 直接上代码&#xff01; package mainimport ("fmt" )func …

基于微信小程序的音乐平台 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示 四、核心代码4.1 查询单首音乐4.2 新增音乐4.3 新增音乐订单4.4 查询音乐订单4.5 新增音乐收藏 五、免责说明 一、摘要 1.1 项目介绍 基于微信小程序JAVAVueSpringBootMySQL的音乐平台&#xff0c;包含了音乐…

vulhub中的Apache SSI 远程命令执行漏洞

Apache SSI 远程命令执行漏洞 1.cd到ssi-rce cd /opt/vulhub/httpd/ssi-rce/ 2.执行docker-compose up -d docker-compose up -d 3.查看靶场是否开启成功 dooker ps 拉取成功了 4.访问url 这里已经执行成功了&#xff0c;注意这里需要加入/upload.php 5.写入一句话木马 &…

【2024系统架构设计】 系统架构设计师第二版-面向服务架构设计理论与实践

目录 一 概述 二 SOA的参考架构 三 SOA主要协议和规范 四 SOA设计标准和原则 五 SOA的设计模式 六 SOA的构建和实施 ​

计算机毕业设计——SpringBoot仓库管理系统(附源码)

1&#xff0c;绪论 1.2&#xff0c;项目背景 随着电子计算机技术和信息网络技术的发明和应用&#xff0c;使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里&#xff0c;仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由&a…

[Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明

类创建&#xff1a;abstract&#xff08;抽象类&#xff09;、extension&#xff08;扩展&#xff09; 1.abstract&#xff08;抽象类&#xff09; dart 抽象类主要用于定义标准&#xff0c;子类可以继承抽象类&#xff0c;也可以实现抽象类接口。抽象类通过abstract 关键字来…

OSG StatsHandler 初步学习

osg为视景器的使用和调试提供了丰富的辅助组件&#xff0c;它们主要是以osg::ViewerBase的成员变量或交互事件处理器(osgGA::GUIEventHandler)的形式出现。osgViewer::StatsHandler、osg::Stats类就是其中的两个经常用到的辅助组件。 #include<osgViewer/Viewer> #inclu…