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

相关文章

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

DNS查询的利器! linux的dig命令基本用法详解

《DNS查询的利器!linux的dig命令基本用法详解》dig命令可以查询各种类型DNS记录信息,下面我们将通过实际示例和dig命令常用参数来详细说明如何使用dig实用程序... dig(Domain Information Groper)是一款功能强大的 linux 命令行实用程序,通过查询名称服务器并输

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件