04 DNS域名解析服务

news2024/7/4 4:42:23

1、DNS系统的作用及类型

在整个互联网大家庭中,大部分的网站、邮件等服务器都使用了域名形式的地址,如www.baidu.com、mail.163.com等。很显然这种地址形式要比使用61.233.189.147、202.108.33.74的IP地址形式更加直观,且更容易被用户记住。

1.1 DNS系统的作用

所谓的分布式的数据结构是指,我们在为用户去解析域名的时候,可以用多个DNS帮助用户去解析相应的域名。甚至每个DNS服务器所保存的解析的条目可以不一样,也可以相同。

比如说是一种主备关系(两个DNS服务器所保存的解析条目信息是完全一样的,一主一备);也可以是那种完全分布式的结构方式(即每个DNS服务器所保存的解析条目信息不一样),比如说有的DNS服务器专门解析.com的类型,而有些DNS服务器专门解决.orp的类型等,大家可以各自分工。

补充:

DNS域名解析是通过将域名转换为对应的IP地址来实现网络访问的。其基本原理是基于分布式数据库和层级化的域名系统。

当用户在浏览器中输入一个域名时,操作系统会先查询本地DNS缓存,如果没有找到对应的记录,则会向本地DNS服务器发起请求。

然后本地DNS服务器会逐级向上查询,最终从根DNS服务器获取到域名对应的IP地址,并将结果返回给用户。

1.2 DNS的解析类型

DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为用户提供正向或反向的地址查询服务——即正向解析与反向解析:

  • 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。

注:域名的正向解析是DNS服务器最基本的功能,也是最常用的功能。

  • 反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。

注:域名的反向解析不是很常用,只是在一些特殊场合才会用到,比如用于反垃圾邮件的验证。

实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系。

这些特定的DNS域或IP地址段称为zone(区域)。

根据地址解析的方向不同,DNS区域相应的分为正向区域(包含域名到IP地址的解析记录)

和反向区域(包含IP地址到域名的解析记录)。

1.3 DNS系统的类型

同一台DNS服务器相对于不同的区域来说,也拥有不同的身份,常见的类型有:

(1)缓存域名服务器(解析速度很快)

只提供域名解析结果的缓存功能,目的在于提高查询速度和效率。

但是它没有自己控制的区域地址数据(即没有填写要解析的数据条目),因此,在构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

注:缓存域名服务器它本身没有填写那些你要解析的条目,它搞不定的活,它会把解析的请求转交给别的DNS服务器,让别的DNS服务器帮它去解析,解析成功以后,它拿到结果,自己保存一份(保存的时候先放到自己的缓存里),再返回给客户端一份。

补充:为什么要放到自己的缓存里面?

如果下一次某一个客户端,依然用我这个域名服务器需要去解析该条目,我自己的缓存里面已经有这个东西了,那就不用去找别人帮我去解析了,直接就可以使用我缓存的内容给我的用户去做这个解析。

(2)主域名服务器(也叫起始授权机构)

主域名服务器里保存了要解析的具体的记录,维护某一个特定DNS区域的地址数据库。

对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。

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

(3)从域名服务器

与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。当你的主域名服务器dang掉后,可以继续使用从域名服务器进行解析。

补充:如果你只有一个主域名服务器,虽然你很权威,但是你只有一台,万一出现了故障呢?那你核心数据只存放在主域名服务器。

所以为了保证你这个解析服务器的可靠性,我们就可以再部署一个从域名服务器,从域名服务器的任务就是备份

(从域名服务器里面也有数据的,但它的数据来自主域名服务器,而且当把主域名服务器的域名解析文件同步到从域名服务器上以后,在从域名服务器上这个文件就是一个只读的属性了)

注:对于客户机来说,无论使用主域名服务器还是从域名服务器,其查询的结果都是一样的。

关键区别在于,从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。

所以,在构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能够自动同步区域的地址数据库。

综上所述,同一台DNS服务器,既可以是A区域的主域名服务器,同时也可以是B区域的从域名服务器。

2、BIND软件的安全和控制

BIND是应用最为广泛的提供域名服务的DNS服务程序,它可以允许在大多数Linux/Unix主机中。

2.1 BIND服务的配置文件

使用BIND软件构建域名服务时,主要涉及两种类型的配置文件:主配置文件和区域数据文件。

主配置文件——用于设置named服务的全局选项、注册区域及访问控制等各种允许参数;

区域数据文件——用于存放某个DNS区域的地址解析记录(正向记录或反向记录)。

(1)主配置文件

主配置文件named.conf通常位于/etc目录下,在named.conf文件中,主要包括全局配置、区域配置两个部分。

注:每一条配置记录的行尾以分号;结束。

以#号或//开始的部分表示注释文字(大段注释可以使用/*.....*/的格式)

  • 全局配置部分

全局配置参数包括在option{};的大括号中,可以设置监听的地址和端口、区域数据文件存放的目录、允许哪些客户机查询等:

注:每个zone区域都是可选的(包括根域、回环域)。

若不指定listen-on配置项,则named默认在所有接口的UDP53端口监听服务;

若不指定allow-quary配置项,则默认会响应所有客户机的查询请求。

  • 区域配置部分

区域配置参数使用zone......{};的配置格式,一台DNS服务器可以为多个区域提供解析,所以在named.conf文件中也可以有多个zone配置段。

注:在上图的配置内容中,有几个地方需要注意:

  • 每个zone区域都是可选的(包括根域、回环域、反向域),具体根据实际需要而定。zone配置部分的IN关键字也是可以省略的。
  • 反向区域的名称由倒序的网络地址和.in-addr.arpa组合而成。例如,对于192.168.1.0/24的网段,其反向区域名称表示为1.168.192.in-addr.arpa
  • file配置项用于指定实际的区域数据文件,文件名称由管理员自行设置。
  • 区域配置中的部分参数也可以放在全局配置中。

修改完name.conf文件之后,可以使用named-checkconf命令对named.conf文件进行语法检查。如下图:

(2)区域数据配置文件

区域数据配置文件通常位于/var/named目录下,每个区域数据文件对应一个DNS解析区域,文件名及文件内容由该域的管理员自行设置。如下图:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习】程序员资源网址

1 书栈网 简介:书栈网是程序员互联网IT开源编程书籍、资源免费阅读的网站,在书栈网你可以找到很多书籍、笔记资源。在这里,你可以根据热门收藏和阅读查看大家都在看什么,也可以根据技术栈分类找到对应模块的编程资源,…

一个按钮更改Notes字体大小

大家好,才是真的好。 在说到正文以前,我们还是提两句,上周HCL发布了Notes/Domino 12.0.2FP4补丁,以及在亚马逊云应用市场上架了HCL Domino 14.0。 现在谈谈正文部分。 随着岁月飞逝,使用Notes的人也开始日渐眼花&a…

[面试题]缓存

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis 什么是缓存?…

RFID分体式天线优势和特点介绍

RFID射频识别技术主要是利用无线电波来进行信息的传输,电波的产生和接收都需要通过天线来完成。当电子标签进入读写器天线工作区范围内,电子标签天线便产生足够的感应电流,从而获得能量被激活读写相关数据。对于RFID系统来说,天线…

经验分享:申请贷款的时候会被查大数据信用吗?

当我们考虑申请贷款时,往往会关注到背后的信用评估机制。这个过程中,大数据的使用日益成为一个关键因素。所谓大数据信用查询并不仅仅是传统的信用报告查询,它涵盖了更广泛的数据范围和更复杂的分析方法,以全面评估申请人的信用状…

以太坊 ERC20手机钱包推荐测评,一文读懂ERC20 bitget钱包

什么是以太坊 ERC20? 元描述:以太坊 ERC20 通证正在彻底改变以太坊区块链上的数字资产管理,尤其是在去中心化金融领域。在下文中了解更多信息。 什么是以太坊ERC20? 以太坊 ERC20(web3.bitget.com/en/wiki/mother-of…

网络聚合通信测试--自动化测试脚本

一 网络聚合通信测试 以下测试用例为: 整集群测试,每节点进程数从2开始以2的幂次增加至满核心; 测试常见的通信聚合测试8个条目 二 测试前准备 待测节点已完成OS安装及基础配置待测节点已配置完IP(若存在IB,则需要配置…

[面试题]Redis

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis 什么是 Redis &#xff…

使用Minikube部署Kubernetes环境

使用Minikube部署Kubernetes环境 1. Minikube简介 Minikube是一个轻量级的Kubernetes实现,它在本地运行一个Kubernetes集群,可以是单节点或者集群环境,主要用于开发和测试。Minikube支持Kubernetes的所有主要功能,包括Dashboard…

【Linux基础IO】常见的对文件操作的函数、文件描述符fd、访问文件的本质分析

目录 fopen函数 chdir函数 fclose函数 fwrite和fread函数 open函数 umask函数 write函数 read函数 close函数 文件描述符fd 进程访问文件的本质分析 fopen函数 参数mode: w方式打开文件:1、如果被打开文件不存在,系统会在使用fopen函…

DGit的使用

将Remix连接到远程Git仓库 1.指定克隆的分支和深度 2.清理,如果您不在工作区上工作,请将其删除或推送至 GitHub 或 IPFS 以确保安全。 为了进行推送和拉取,你需要一个 PAT — 个人访问令牌 当使用 dGIT 插件在 GitHub 上推送、拉取、访问私…

火灾数据的另一个下载源 MOD14 MODIS火灾检测和热异常数据集

地图资源工具,有对于同一种数据会有多个数据源,起火点数据除了下载全球范围内的实时和历史火灾数据矢量下载源外 还有另一个火灾数据的栅格下载源 利用地图资源工具下载, 下载方式基本统一,可以最大程度简化您数据获取的操作并节省…

CSS打印设置页眉页脚

之前写过一篇文章CSS实现自动分页打印同时每页保留重复的自定义内容,可以实现window.print()打印时多张页面保留相同的内容(如header、footer),但其并不是真正意义上的页眉页脚,footer内容在最后一张页面未撑满时不能置…

MyBatis系列四: 动态SQL

动态SQL语句-更复杂的查询业务需求 官方文档基本介绍案例演示if标签应用实例where标签应用实例choose/when/otherwise应用实例foreach标签应用实例trim标签应用实例[使用较少]set标签应用实例[重点]课后练习 上一讲, 我们学习的是 MyBatis系列三: 原生的API与配置文件详解 现在…

【proteus仿真】基于51单片机的秒表设计

【proteus仿真】基于51单片机的秒表设计 资料获取在文章结尾处! 更多资料获取链接: https://docs.qq.com/sheet/DTExIc2dPUUJ5enZZ?tabBB08J2 1.资料内容 源码proteus仿真图 演示视频: 【proteus仿真】基于51单片机的秒表设计_哔哩哔…

注意力机制和Transformer模型各部分功能解释

文章目录 Transformer1、各部分功能解释2、通过例子解释a.输入预处理位置编码b.Encoder 的处理c.Decoder的输入Decoder的工作流程d.输出预测总结 Attention代码和原理理解 Transformer 运行机理: (1)假设我们需要进行文本生成任务。我们将已…

TikTok养号新手保姆级教程

对于很多刚开始运营TikTok的新手小白来说,都会有一个同样的疑问,那就是:TikTok到底需不需要养号?这里明确告诉大家是需要养号的,今天就把我自己实操过的养号经验和策略总结出来,分享给大家。 一、什么是Ti…

Android 配置蓝牙遥控器键值

文章目录 篇头一、规格书二、红外按键配置三、蓝牙按键配置3.1 查看设备号3.1.1 方式一:dumpsys input3.1.2 方式二: cat /proc/bus/input/devices 3.2 配置kl文件3.2.1 方案商原始配置3.2.2 Generic.kl 文件3.2.3 重映射蓝牙按键3.2.4 完成 Vendor\_568…

Boosting原理代码实现

1.提升方法是将弱学习算法提升为强学习算法的统计学习方法。在分类学习中,提升方法通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强分类…

git提交遇见的<<<<<<<< HEAD无法运行程序问题

在项目文件目录下打开git bash Here 在命令行中输入 git reset --hard HEAD~1 进行复原 git reset --hard HEAD~1 即可