DNS域名解析服务

1.BIND域名服务基础

(1)DNS系统的作用及类型

(2)BING的安装和配置文件

2.使用BING构建域名服务器

(1)构建缓存域名服务器

(2)构建主、从域名服务器

3.总结

1.BIND域名服务基础

(1)DNS系统的作用及类型

DNS是什么

DNS域名系统(Domain Name System)是因特网的一项核心服务,他作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串

域名分析分为俩种

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名(反向解析不常用,只在某些特殊场合才会用到,例:反垃圾邮件的验证)

DNS使用的协议及端口号

DNS的默认端口为53。DNS端口分为TCP和UDP

1:TCP是用来做区域传送,多用于主从同步

在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息

2:UDP是用来做DNS解析的

域名:通常由一个完全合格域名表示(FQDN(Fully Qualified Domain Name)),它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表达方式,从节点到树根采用反向书写,并将每个节点用”.”分隔,对于DNS域google来说,其完全正式域名为google.com

注意点:通常情况夏FQDN长度不可以超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点(.)只允许在域名标志之间或者FQDN的结尾使用

域名不区分大小写。

DNS系统的分布式数据结构

DNS域名解析服务 

 

根域名一般隐藏不可见

一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)

.com:工商、企业

.net:网络供应商

.edu:教育机构

.cn:中国国家域名

.org:团体组织

.gov:*部门

二级DNS服务器:专门负责二级域名的解析

.net.cn

.edu.cn

.com.cn

子域名DNS服务器:专门负责子域名的解析,也叫做三级域名

.zol.com.cn

.sina.com.cn

主机位

www

mail

news

缓存域名服务器

也称为DNS告诉缓存服务器

通过向其他域名服务器查询获得域名->IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

DNS域名解析服务 

正向解析查询过程

①首先查询本机缓存记录

②再查询hosts文件

③查询dns域名服务器,交给dns域名服务器处理

上述是递归查询:给本地DNS服务器发送一个请求,等待返回结果

④这个DNS服务器可能是本地域名服务器,也有缓存记录,有则直接返回结果,没有继续下一步

⑤求助根域服务器,返回可能会知道结果的*域服务器让它去找*域服务器

⑥求助*域服务器,返回可能知道结果的二级域服务器让它去找二级域服务器

⑦求助二级域服务器,查询发现是我的主机,把查询到的IP地址返回给本地域名服务器

⑧本地DNS服务器把结果记录并缓存,然后把域名和ip的对应关系返回给客户端

俩种查询方式

(1)递归查询

递归查询是一种 DNS 服务器的查询模式,在该模式下 DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果 DNS 服务器本地没有存储查询 DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。

 DNS域名解析服务

 

(2)迭代查询

DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台 DNS 服务器地址,客户机再向这台 DNS 服务器提交请求,依次循环直到返回查询的结果为止

客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反

 DNS域名解析服务

 

主域名服务器

特定DNS区域的权威服务器,具有唯一性

负责维护该区域内所有域名->IP地址的映射记录

需要自行建立所负责区域的地址数据文件

从域名服务器

也称为辅助域名服务器,是对主域名服务器的热备份

其维护的域名->Ip地址记录来源于主域名服务器

需要从主域名服务器自动同步区域地址数据库

(2)BING的安装和配置文件

 DNS域名解析服务

 

正向解析实验

首先将主机

[root@localhost ~]# rpm -qc bind   ###查询是否安装bind

DNS域名解析服务 

 

显示以上安装成功

未安装使用yum install bind -y 安装 (必须网络源或光盘挂载)

/etc/logrotate.d/named  ###主配置文件,控制系统全局

/etc/named.rfc1912.zones     //区域配置文件 控制具体单个区域

/var/named/named.localhost   //区域数据配置文件   区域信息

[root@localhost ~]# cp -p /etc/named.conf /etc/named.conf.bak   ###先备份文件

[root@localhost ~]# vim /etc/named.conf   ###进入修改

DNS域名解析服务 

[root@localhost ~]# vim /etc/named.rfc1912.zones  ###进入修改文件

添加一组

DNS域名解析服务 

 

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

[root@localhost named]# cp -p named.localhost benet.com.zone

[root@localhost named]# vim benet.com.zone   ###进入修改这个文件

修改为:

$TTL 1D #有效解析记录的生存周期

@       IN SOA   benet.com. admin.benet.com. (    #“@"符号表示当前的DNS区域名

                                        0       ; serial    #更新序列号,可以是10位以内的整数

                                        1D      ; refresh   #刷新时间,重新下载地址数据的间隔

                                        1H      ; retry     #重试延时,下载失败后的重试间隔

                                        1W      ; expire    #失效时间,超过该时间仍无法下载则放弃

                                        3H )    ; minimum  #无效解析记录的生存周期

        NS      benet.com. #记录当前区域的DNS服务器的名称

        A       192.168.100.22 #记录主机IP地址

IN      MX 10   mail.benet.com. #MX为邮件交换记录,数字越大优先级越低

www     IN A    192.168.100.22  #记录正向解析www.benet.com对应的IP

mail    IN A    192.168.100.101  #记录正向解析mail.benet.com对应的IP

ftp     IN CNAME www #CNAME使用别名,ftp 是www的别名

*       IN A    192.168.100.150 #泛域名解析,“*"代表任意主机名

 DNS域名解析服务

 

[root@localhost named]# systemctl start named   ###开启服务

[root@localhost named]# vim /etc/resolv.conf   ###修改这个文件 DNS解析

DNS域名解析服务 

 

将网卡里的DNS注释掉

使用host命令验证

DNS域名解析服务

 

反向解析实验

[root@localhost named]# vim /etc/named.rfc1912.zones   ###进入修改这个文件,添加一段

 DNS域名解析服务

 

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

[root@localhost named]# cp -p benet.com.zone benet.com.zone.local

[root@localhost named]# vim benet.com.zone.local ###进入修改文件

DNS域名解析服务 

 

保存退出

systemctl restart named   ###重启服务

使用host命令验证

DNS域名解析服务 

DNS主从服务及自动同步

DNS服务器类型:

(1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名

服务器时,需要自行建立所负责区域的地址数据文件。

(2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从

域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器

的位置,以便服务器能自动同步区域的地址数据库。

注:

(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个

远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息

时用它予以响应。缓存域名服

务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务

器作为解析来源。

(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到

就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

实验

配置主从服务

主:192.168.100.22

从:192.168.100.21

先配置主服务器

[root@localhost named]# vim /etc/named.conf   进入修改文件如下图

 DNS域名解析服务

 

保存退出

[root@localhost ~]# vim /etc/named.rfc1912.zones  ###进入配置文件

添加以下

 DNS域名解析服务

 

注:type master;是设置为主区域

 allow-transfer { 192.168.100.21; };设置从服务器地址

保存退出

[root@localhost ~]# cd /var/named/   ###进入这个目录下

cp -p named.localhost benet.com.zone   ###复制一个文件

[root@localhost named]# vim benet.com.zone   ###配置这个文件

DNS域名解析服务 

保存退出

[root@localhost named]# systemctl start named  ###开启服务

[root@localhost named]# vim /etc/resolv.conf  ###进入配置DNS解析地址

 DNS域名解析服务

 

配置从服务器

[root@localhost named]# vim /etc/named.conf   进入修改文件如下图

 DNS域名解析服务

 

保存退出

[root@localhost ~]# vim /etc/named.rfc1912.zones  ###进入配置文件

添加

DNS域名解析服务 

 

注:type slave;设置类型为从服务

file "slaves/benet.com.zone.local";下载的区域数据文件保存到slaves/目录下

masters { 192.168.100.22; };设置主服务器地址

保存退出

systemctl start named ###开启服务

[root@localhost named]# vim /etc/resolv.conf  ###进入配置DNS解析地址

DNS域名解析服务 

 

验证从服务器是否可以解析

[root@localhost ~]# host www.benet.com

www.benet.com has address 192.168.100.22

[root@localhost ~]# host mail.benet.com

mail.benet.com has address 192.168.100.101

验证成功

关闭主服务器验证从服务器是否还可以解析

DNS域名解析服务 

 

验证成功

DNS分离解析实验

主服务器:192.168.102.100        网卡vmnet2     192.168.102.100

Web服务器:10.0.0.100        网卡vmnet3      10.0.0.100

首先虚拟机添加一张网卡,分别使用网卡2和3

yum install bind -y

yum install httpd -y

###安装bind 和 httpd 服务

cp -p /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37

复制一张网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33   ###进入设置网卡

如下

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=3d5cdd65-94bd-4af1-a8ed-3d0cf0cd39e2

DEVICE=ens33

NBOOT=yes

IPADDR=192.168.102.100

NETMASK=255.255.255.0

#GATEWAY=192.168.174.2

DNS1=192.168.102.100

vim /etc/sysconfig/network-scripts/ifcfg-ens37   ###进入设置网卡

如下

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens37

#UUID=3d5cdd65-94bd-4af1-a8ed-3d0cf0cd39e2

DEVICE=ens37

NBOOT=yes

IPADDR=10.0.0.100

NETMASK=255.255.255.0

#GATEWAY=192.168.174.2

DNS1=10.0.0.100

               

systemctl restart network  ###重启网卡

vim /etc/named.conf   ###进入修改文件如下

DNS域名解析服务 

 

保存退出

[root@localhost ~]# vim /etc/named.rfc1912.zones  ###进入清空文件然后输入如下图

DNS域名解析服务

 

注:下面这一段从/etc/named.conf复制过来,并在/etc/named.conf删除

zone "." IN {

        type hint;

        file "named.ca";

  };        

};          

[root@localhost ~]# cp -p /var/named/named.localhost /var/named/benet.com.zone.lan  

[root@localhost ~]# cp -p /var/named/named.localhost /var/named/benet.com.zone.wan

###复制俩个文件并依次进入修改

DNS域名解析服务

DNS域名解析服务 

 

systemctl start named

#开启服务

systemctl stop firewalld

##关闭防火墙

验证linux机器的解析

DNS域名解析服务 

 

验证成功

进入windows机器

修改网络适配器为下图

DNS域名解析服务识别到对应的网卡后,进入命令指示符验证 

 DNS域名解析服务

 验证成功

 3.总结

DNS系统的作业与常见类型

BIND服务相关软件极其作用

BIND服务的著配置文件与区域数据文件中重要配置项

构建缓存域名服务器

构建从域名服务器

上一篇:Windows Server 2022 开始,DNS 客户端支持 DNS over-HTTPS (DoH)


下一篇:Azkaban介绍与使用