自学内容网 自学内容网

DNS域名解析服务器

一、什么是dns

1、1 简介

DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分

布式数据库,能够使人更方便的访问互联网。

DNS使用的是53端口,

通常DNS是以UDP这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次

以TCP这个协议来重新查询所以启动DNS时,会同时启动TCP以及UDP的port53

1.2 因特网的域名结构

国家顶级域名:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域

名又常记为ccTLD(country code top-level domains,cc表示国家代码contry-code)。

通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营

利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。

基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因

此称为反向域名。

1.3 域名服务器的类型划分

根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的 顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解 析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所 有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服 务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名 服务器进行查询,现如今全球一共投放13个根服务器

顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名

权限域名服务器:负责一个“区”的域名服务器

本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当一个 主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器

主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保 存,其中的一个就是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助 (从)DNS服务器(Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服 务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断

二、dns环境搭建

这里准备三台主机,一台服务器,两台测试

这里我们设置三台主机的地址为

Server:172.25.254.200

Client1:172.25.254.101

Client2:192.168.0.100

设置完之后为每一台主机搭建环境

下载软件仓库后启用named服务

三、dns解析过程

]# nslookup

> set type=ns

> .

Non-authoritative answer:

. nameserver = b.root-servers.net.

*** ***

> set type=a

> b.root-servers.net.

Non-authoritative answer:

Name: b.root-servers.net

Address: 170.247.170.2

> server 198.97.190.53

> set type=ns

> com.

Authoritative answers can be found from:

com nameserver = a.gtld-servers.net.

*** ***

a.gtld-servers.net internet address = 192.5.6.30

> server 192.33.14.30

Default server: 192.33.14.30

Address: 192.33.14.30#53

> set type=ns

> bilibili.com.

> server 1.12.0.17

> set type=a

> www.bilibili.com

www.bilibili.com canonical name = a.w.bilicdn1.com.

> a.w.bilicdn1.com.

Dns的访问机制,一级一级传递导致其访问时间耗时长,所以为了加快速度,我们可以做一个高速缓存

高速缓存dns

4.1 高速缓存含义

    dns是一个非权威的dns,在dns服务器中本身并没有数据 当客户需要解析域名时首先查询缓存中是否有数据,如果没有就会从指定的dns服务器中缓存 高速缓存dns可以大大节省内网在做地址解析上所需要花费的时间

4.2 配置过程

在服务端vim etc/named/conf(进入主配置文件)

将端口修改为监听所有端口any

添加:

allow-query    { any ;} ; 允许所有人来查询IP地址

forwarders { 114.114.114.114; };  本机没有去问谁

更改完之后 systemctl restart named重启配置

在测试端

vim /etc/resolv.conf

systemctl restart named重启配置

测试:

五、dns正向解析部署

5.1 作用

当客户设定当前dns服务器为dns解析服务器时,正向解析即为客户提供A记录

客户提供域名,dns服务器负责把域名解析成对应IP

5.2 实施方法

在服务主机:

进入zones文件设定要维护的域:vim /etc/named.rfc1912.zone

zone "easylee.org" IN {       ##维护的域名

type master;                ##当前服务器位主dns

file "qbb.orgzone";          ##域名A记录文件

allow-update { none; };       ##允许更新主机列表

};

cd /var/named

cp -p named.localhost  qbb.org.zone

vim qbb.org.zone

测试:

dig -t A  www.qbb.org @172.25.254.200

dig -t mx qbb.org @172.25.254.200

可以看到我们写入的A记录和mx记录

六、dns反向解析部署

6.1 作用

当客户设定当前dns服务器为dns解析服务器时,正向解析即为客户提供PRT记录 客户提供域名,dns服务器负责把域名解析成对应IP

6.2 实施方法

编写zones文件设定要维护的域:vim /etc/named.rfc1912.zones

如上,因为是反向解析,所以我们将172.25.254反着写

然后根据zones文件中的指定生成A记录文件

cp -p named.loopback 172.25.254.ptr

vim 172.25.254.ptr

记得重启生效systemctl restart named

测试:

可以看到我们写入的, PTR  

七、dns的多项解析解决方案

7.1 搭建所需要的环境

将三台主机中的服务主机,添加一个网卡

将两个网卡分别设定一个网段,如下

将client1设置网段为172的主机,设定其网络为net模式,IP为172.25.254.101

将client2设置网段为192的主机,设定其网络为仅主机模式,IP为192.168.0.100

7.2 实施方法

在服务主机:

cd /var/named/

cp -p qbb.org.zone qbb.org.localnet

vim qbb.org.localnet

在输出行使用%s/172.25.254/192.168.0/g可一键转换

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.localnets

vim /etc/named.rfc1912.localnets

重要事情:记得重启哦。systemctl restart named

再进入named主配置文件

将不需要zone语句块的隐藏,添加view语句块来限制访问数据走向

测试:

最后两个测试主机成功

八、配置主从dns服务器

8.1 主从服务器的作用

   为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个就 是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助(从)DNS服务器 (Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服务器出故障时,辅 助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中, 而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。

8.2 配置实验环境

新建一台主机作为辅助DNS主机,并配置好网络和软件仓库,在新建主机中安装DNS服务并保证服务可以被访问

8.3 对辅助dns进行配置

修改zones文件设定要做主从的域

vim /etc/named.conf

将其中监听端口改为any

vim /etc/named.rfc1912.zones

图中32写slaver的原因是/var/named可对其下的slaver进行读写,最终同步数据要同步到这个目录上来。

测试:

主上的数据可以同步,步骤成功

8.4 解决数据同步问题

再主dns主机的子配置文件中添加一个指向从主机的通知

但是对于在实际环境中,网站数据量大,单纯使用以上方法对比时间太长导致其时效性差

所以还需要在所维护的域中进行以下修改,对serial进行更改。

检测:

修改主配置文件

可以看到从主机同步到了数据。

以上就是我的dns学习历程,如有补充请多指教。


原文地址:https://blog.csdn.net/m0_70137002/article/details/144016674

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!