04 DNS域名解析服务

2024-06-15 04:12
文章标签 服务 域名解析 04 dns

本文主要是介绍04 DNS域名解析服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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解析区域,文件名及文件内容由该域的管理员自行设置。如下图:

这篇关于04 DNS域名解析服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062400

相关文章

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

Golang服务平滑重启

与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可。平滑重启意味着server升级的时候可以不用停止业务。 我们先来看下Github上有没有相应的库解决这个问题,然后找到了如下三个库: facebookgo/grace - Graceful restart & zero downtime deploy for G

浙大数据结构:04-树7 二叉搜索树的操作集

这道题答案都在PPT上,所以先学会再写的话并不难。 1、BinTree Insert( BinTree BST, ElementType X ) 递归实现,小就进左子树,大就进右子树。 为空就新建结点插入。 BinTree Insert( BinTree BST, ElementType X ){if(!BST){BST=(BinTree)malloc(sizeof(struct TNo

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止

【微服务】Ribbon(负载均衡,服务调用)+ OpenFeign(服务发现,远程调用)【详解】

文章目录 1.Ribbon(负载均衡,服务调用)1.1问题引出1.2 Ribbon负载均衡1.3 RestTemplate整合Ribbon1.4 指定Ribbon负载均衡策略1.4.1 配置文件1.4.2 配置类1.4.3 定义Ribbon客户端配置1.4.4 自定义负载均衡策略 2.OpenFeign面向接口的服务调用(服务发现,远程调用)2.1 OpenFeign的使用2.1 .1创建

java后端服务监控与告警:Prometheus与Grafana集成

Java后端服务监控与告警:Prometheus与Grafana集成 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的微服务架构中,监控和告警是确保服务稳定性的关键组成部分。Prometheus和Grafana是两个强大的工具,它们可以集成在一起,为Java后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健