DNS 服务器原理及 DNS 服务搭建

1、DNS 服务器原理

相较于由数字构成的 IP 地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于 IP 地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的 IP 地址来完成。

为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生。这是一项用于管理和解析域名与 IP 地址对应关系的技术,简单来说,就是能够接受用户输入的域名或 IP 地址,然后自动查找与之匹配(或者说具有映射关系)的 IP 地址或域名,即将域名解析为 IP 地址(正向解析),或将 IP 地址解析为域名(反向解析)。这样一来,我们只需要在浏览器中输入域名就能打开想要访问的网站了。DNS 域名解析技术的正向解析也是我们最常使用的一种工作模式。

鉴于互联网中的域名和 IP 地址对应关系数据库太过庞大,DNS 域名解析服务采用了类似目录树的层次结构来记录域名与 IP 地址之间的对应关系,从而形成了一个分布式的数据库系统,如下图所示。
在这里插入图片描述

域名后缀一般分为国际域名和国内域名。原则上来讲,域名后缀都有严格的定义,但在实际使用时可以不必严格遵守。目前最常见的域名后缀有.com(商业组织)、.org(非营利组织)、.gov(政府部门)、.net(网络服务商)、.edu(教研机构)、.pub(公共大众)、.cn(中国国家顶级域名)等。

当今世界的信息化程度越来越高,大数据、云计算、物联网、人工智能等新技术不断涌现,全球网民的数量据说也超过了 35 亿,而且每年还在以 10% 的速度迅速增长。这些因素导致互联网中的域名数量进一步激增,被访问的频率也进一步加大。假设全球网民每人每天只访问一个网站域名,而且只访问一次,也会产生 35 亿次的查询请求,如此庞大的请求数量肯定无法被某一台服务器全部处理掉。DNS 技术作为互联网基础设施中重要的一环,为了为网民提供不间断、稳定且快速的域名查询服务,保证互联网的正常运转,提供了下面三种类型的服务器。

  • 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。

  • 从服务器:从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。

  • 缓存服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。

简单来说,主服务器是用于管理域名和 IP 地址对应关系的真正服务器,从服务器帮助主服务器“打下手”,分散部署在各个国家、省市或地区,以便让用户就近查询域名,从而减轻主服务器的负载压力。缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。

DNS 域名解析服务采用分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式。所谓递归查询,是指 DNS 服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果 DNS 服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。

而迭代查询则是指,DNS 服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台 DNS 服务器的地址,用户再向这台 DNS 服务器提交请求,这样依次反复,直到返回查询结果。

由此可见,当用户向就近的一台 DNS 服务器发起对某个域名的查询请求之后,其查询流程大致如下图所示。
在这里插入图片描述

当用户向网络指定的 DNS 服务器发起一个域名请求时,通常情况下会有本地由此 DNS服务器向上级的 DNS 服务器发送迭代查询请求;如果该 DNS 服务器没有要查询的信息,则会进一步向上级 DNS 服务器发送迭代查询请求,直到获得准确的查询结果为止。其中最高级、最权威的根 DNS 服务器总共有 13 台,分布在世界各地,其管理单位、具体的地理位置,以及 IP 地址如下表所示。
在这里插入图片描述

2、搭建主-辅DNS服务器

主服务器

  • 安装
yum install -y bind
  • 配置 DNS 服务器生效 IP
sed -ri 's/(listen-on port 53 \{ ).*(; \};)/\110.10.10.73\2/' /etc/named.conf
  • 配置作用范围
sed -ri 's/(allow-query .*\{ ).*(; \};)/\1any\2/' /etc/named.conf
  • 指定允许同步的IP
sed -ri '/allow-query/a\        allow-transfer \{ 10.10.10.74; \};' /etc/named.conf
  • 配置区域
vim /etc/named.rfc1912.zones
## 追加以下内容
zone "solin.com" IN {
   
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值