Linux系统——DNS解析详解

目录

一、DNS域名解析

1.DNS的作用

2.域名的组成

2.1域名层级结构关系特点

2.2域名空间构成

2.3域名的四种不同类型

2.3.1延伸

2.3.2总结

3.DNS域名解析过程

3.1递归查询

3.2迭代查询

3.3一次DNS解析的过程

4.DNS系统类型

4.1缓存域名服务器

4.2主域名服务器

4.3从域名服务器

二、Bind(Berkeley Internet Name Daemon)

1.搭建内网DNS服务器

1.1安装bind软件包

1.2修改DNS地址

1.3重启网卡

1.4再次ping百度地址

1.5配置本机为DNS内网解析服务器

1.6修改客户端配置

1.7验证

2.正向解析——通过域名解析IP地址

2.1安装bind工具包——bind-utlis

2.2修改配置

2.3手写域名配置文件

2.4手写配置文件

2.5开启named服务

2.6验证

2.6.1检测命令

3.反向解析

3.1修改配置文件

3.2检查主配置文件格式

3.3复制数据库文件进行修改

3.4重启dns服务

3.5修改配置文件

3.6重启网卡

3.7测试

4.主从复制

4.1原理

4.2主从服务器一起配置

4.3统一安装bind-utils

4.4修改主配置文件

4.5修改域名配置文件

4.6修改网卡配置——主从复制

4.7重启网卡 

4.8验证主服务器

4.9从服务器配置

4.10修改监听与权限配置

4.11修改从配置文件

4.212重启网卡验证从服务器

4.13关闭主服务器,测试从服务器

4.14补充

5.分离解析

5.1安装工具包

5.2修改配置文件

5.3复制文件格式修改配置文件

5.4添加网卡

5.5复制且修改网卡配置信息

5.6设置Windows地址

6.CDN——内容分发网络


 

一、DNS域名解析

首先,我们要知道DNS是什么,DNS(Domain Name System)是域名系统的英文系统,是一种组织成域层次结构和计算机和网络服务命名系统,用于TCP/IP网络。

DNS实际上是域名解析协议,将域名转化为IP地址;

在早期的域名解析的时候,是iana组织负责将域名和IP地址进行对应,并对其进行排列综合,形成了hosts文件,一个IP地址对应一个域名

我们可以进入/etc/hosts配置文件为www.baidu.com.域名配置192.168.241.123的IP地址;

hosts配置文件的优先级最高;

可以进入 /etc/nsswotch.conf   #可以修改DNS的优先级

将dns写在file前面 

1.DNS的作用

通常识别主机的方式为主机名或者IP地址。人们更倾向于去记忆主机名,类似于www.baidu.com,而IP地址复杂且难记。为了解决这种问题,我们使用DNS域名解析服务,对IP地址进行解析,将可用的IP地址转化为域名,域名系统作为将域名和IP地址相互映射的一个分布式数据库,基于C/S架构,服务端口号为tcp53,udp53;实际上每台DNS域名解析服务器都只负责一个有限的范围(只负责自己范围内的解析)

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

DNS系统的分布式数据结构

2.域名的组成

2.1域名层级结构关系特点

  • 因特网采用层次树状结构的域名结构
  • 域名的结构由若干个分量组成,各分量之间用“点”隔开,分别代表不同级别的域名。
  • 每一级的域名都由英文字母和数字组成,不超过63个字符,不区分大小写字母。
  • 级别最低的域名写在最左边,而级别最高的顶级域名写在最右边。
  • 完整的域名不超过255个字符。

2.2域名空间构成

上图展示了 DNS 服务器的部分层次结构,从上到下依次为根域名服务器、顶级域名服务器和权威域名服务器。域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。

2.3域名的四种不同类型

  • 根域名服务器 根域名服务器是最高层次的域名服务器。每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。因特网上共有13个不同IP地址的根域名服务器。当本地域名服务器向根域名服务器发出查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。这就加快了DNS的查询过程,同时也更合理地利用了因特网的资源。

根域:“ . ”;全球根域服务器节点只有13个,10个在美国,1个在荷兰,1个在瑞典,1个在日本

  • 顶级域名服务器 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答(可能是最后的结果,也可能是下一级权限域名服务器的IP地址)。

顶级域名也称一级域名(Top Level Domain:tid);顶级域:“ .com ”

  • 权限域名服务器 这些域名服务器负责管理某个区的域名。每一个主机的域名都必须在某个权限域名服务器处注册登记。因此权限域名服务器知道其管辖的域名与IP地址的映射关系。另外,权限域名服务器还知道其下级域名服务器的地址。

权限域名服务器也称组织与,国家域(.cn .ca  .hk  .tw);比如像.baidu就是权限域名服务器

  • 本地域名服务器 本地域名服务器不属于上述的域名服务器的等级结构。当一个主机发出DNS请求报文时,这个报文就首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。本地域名服务器离用户较近,一般不超过几个路由器的距离,也有可能就在同一个局域网中。本地域名服务器的IP地址需要直接配置在需要域名解析的主机中。

本地域名服务器也称主机名,比如www就是主机名

最多可达127级域名

2.3.1延伸

ICANN(The internet Corpora-tion for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理

2.3.2总结

根dns服务器只能解析  主机名  +  根域  ;例如根域无法解析www.baidu.com.,只能解析com.,但是会告诉该地址,它的下一级地址可以解析baidu.com.

顶级域(一级域)的dns服务器只能解析  主机名  +  一级域   +根域  ;例如www.baidu.com.

二级域的dns服务只能解析  主机名  +  二级域  +  一级域   +根域 ;例如www.baidu.com.

3.DNS域名解析过程

域名解析包含两种查询方式,分别是递归查询迭代查询,两种查询方式都可以得到结果,但是递归只需要询问一次即可得到结果,迭代需要询问多次才可以得到结果。

DNS域名解析的次数和域名长度有关 

3.1递归查询

一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

3.2迭代查询

一般情况下,本地的DNS服务器向其他DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询(需要自己手动)

3.3一次DNS解析的过程

假如我要访问www.baidu.com.服务器

1.首先看我本机的 /etc/hosts 文件,如果有的话直接访问,如果没有就去找你设置的缓存DNS服务器

2.如果缓存服务器有,直接反馈结果(递归)如果没有就需要迭代查询,直接去找根域服务

3.由于根域服务器只能解析根,无法解析www.baidu.com. ;但是,根域服务器会让你去找一级域服务器

4.一级域发现自己也解析不了,让你去找二级域

5.二级域发现这台服务器在自己的管理范围内,直接反馈结果给缓存服务器

6.缓存服务器再交给客户

4.DNS系统类型

4.1缓存域名服务器

  • 缓存域名服务器也称DNS高速缓存服务器
  • 通过向其他域名服务器查询获得域名→IP地址记录
  • 将域名查询结果缓存到本地,提高重复查询时的速度

4.2主域名服务器

  • 特定DNS区域的权威服务器,具有唯一性
  • 负责维护该区域内所有域名→IP地址的映射记录
  • 需要自行建立所负责区域的地址数据文件

4.3从域名服务器

  • 也称为辅助域名服务器,是对主域名服务器的热备份
  • 其维护的域名→IP地址记录来源于主域名服务器
  • 需要从主域名服务器自动同步区域地址数据库

权威DNS服务器,最后谁解析DNS,谁为权威服务器,最后解析成功的服务器为权威服务器

二、Bind(Berkeley Internet Name Daemon)

  • Bind是应用最广泛的DNS服务程序
  • 官方站点:https://www.isc.org/

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

  • bind:服务器
  • bind-libs:相关库
  • bind-utils: 客户端
  • bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

1.搭建内网DNS服务器

实验目的:在内网服务器上可以使用域名进行上网

1.1安装bind软件包

安装bind的时候会自动生成一个名叫named的用户

安装完软件后   要找到两个东西 (1.配置文件位置  2.主程序的位置)

rpm -qc 可以找到配置文件的位置

rpm -ql可以找到主程序的位置

1.2修改DNS地址

 安装完软件后,要找到两个东西(1.配置文件位置;2主程序位置)

rpm -qc  #可以找到配置文件的位置

rpm -qc  #可以找到主程序的位置

其中,bind是安装包的名字,namde是程序的名字

named程序的主要文件:

/etc/named.conf  #主配置文件

/etc/named.rfc1912.zones  #子配置文件  域名配置文件

/var/named   #程序库文件 

启动named程序的话 会先读取主配置文件

然后读取include包含的子配置文件

1.3重启网卡

会出现如下报错

1.4再次ping百度地址

DNS解析使用的是TCP和UDP的53端口

1.5配置本机为DNS内网解析服务器

修改监听端口为任意;修改权限为任意 

1.6修改客户端配置

1.7验证

此时内网DNS服务器就搭好了

2.正向解析——通过域名解析IP地址

实验目的:在内网环境中,需要有一台自己的dns服务器,去解析内网的服务

2.1安装bind工具包——bind-utlis

2.2修改配置

2.3手写域名配置文件

vim /etc/named.rpc1912.zones

2.4手写配置文件

拷贝named.localhost例子,到cxk.com.zone

vim /var/named/cxk.com.zone

@:域名;

IN:使用Internet协议

SOA:这条配置的基本功能

A:正向解析(将域名转化为IP地址);PTR:反向解析(将IP地址转化为域名)

master:定义了谁是dns服务器

2.5开启named服务

2.6验证

使用dig来解析域名

显示www.cxk.com的地址是192.168.241.111

2.6.1检测命令

named-checkconf  主配置文件

named-chechconf  /etc/named.conf

named-checkzone  域名  数据库文件

named-checkzone cxk.com /var/named/cxk.com.zone

3.反向解析

3.1修改配置文件

vim /etc/named.rfc1912.zones

3.2检查主配置文件格式

3.3复制数据库文件进行修改

3.4重启dns服务

3.5修改配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

3.6重启网卡

 

3.7测试

4.主从复制

4.1原理

4.2主从服务器一起配置

在Xshell中选择工具一栏,选择“发送键输入到所有会话”

关闭防火墙

4.3统一安装bind-utils

4.4修改主配置文件

4.5修改域名配置文件

4.6修改网卡配置——主从复制

4.7重启网卡 

4.8验证主服务器

4.9从服务器配置

4.10修改监听与权限配置

4.11修改从配置文件

4.212重启网卡验证从服务器

4.13关闭主服务器,测试从服务器

重启从服务器的dns服务 

4.14补充

5.分离解析

分离解析:一个服务器可以解析两个服务器地址

5.1安装工具包

5.2修改配置文件

 vim /etc/named.rfc1912.zones

5.3复制文件格式修改配置文件

 

5.4添加网卡

5.5复制且修改网卡配置信息

5.6设置Windows地址

6.CDN——内容分发网络

静态资源:不需要服务器二次处理的(图片、txt、视频)

动态资源:需要服务器二次处理的(java、Python、php)

状态代码:404错误、200正确、304缓存

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

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

相关文章

MES系统如何进行产品的质量管理

质量管理重点是对产品的检验,这里面包括:采购来料检验、工序检验、入库前检验等几个检验环节,并根据系统设定的检验标准进行检验,检验不通过的不能留到下个环节。质量管理也是万界星空科技云MES中的一个重要组成部分,旨…

Java接入Apache Spark(入门环境搭建、常见问题)

Java接入Apache Spark(环境搭建、常见问题) 背景介绍 Apache Spark 是一个快速的,通用的集群计算系统。它对 Java,Scala,Python 和 R 提供了的高层 API,并有一个经优化的支持通用执行图计算的引擎。它还支…

Unity 工具 之 Azure 微软连续语音识别ASR的简单整理

Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 目录 Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤 五、关键脚本 一、简单介绍 Unity 工具类,自己整理的一些游戏开发可能用到的模块&#x…

Vue:将以往的JQ页面,重构成Vue组件页面的大致思路梳理(组件化编码大致流程)

一、实现静态组件 组件要按照功能点拆分,命名不要与HTML元素冲突。 1、根据UI提供的原型图,进行结构拆分,拆分的粒度以是否方便给组件起名字为依据。并梳理好对应组件的层级依赖关系。 2、拆分好结构后,开始对应的写组件&#x…

vue3-响应式基础之reactive

reactive() 还有另一种声明响应式状态的方式&#xff0c;即使用 reactive() API。与将内部值包装在特殊对象中的 ref 不同&#xff0c;reactive() 将使对象本身具有响应性&#xff1a; 「点击按钮1」 <script lang"ts" setup> import { reactive } from vuec…

ATECLOUD-POWER测试系统如何检测电源稳定性?

电源模块做为一种电源供应器为电子设备提供供电&#xff0c;广泛应用于汽车电子、航空航天、医疗、通信等各个领域&#xff0c;因此检测电源模块的稳定性是非常重要的&#xff0c;确保其为电子设备提供稳定的电压和电流&#xff0c;保证电子设备可以正常稳定工作。 电源模块的稳…

四川古力未来科技有限公司:抖音小店的崛起之路

随着互联网的飞速发展&#xff0c;电子商务已经成为人们日常生活中不可或缺的一部分。作为一家以科技为核心的公司&#xff0c;四川古力未来科技有限公司在电子商务领域中崭露头角&#xff0c;特别是其抖音小店的发展引人注目。 四川古力未来科技有限公司的抖音小店自开业以来&…

RT-Thread:STM32 PHY 调试,使用软件包 WIZNET 驱动 W5500

说明&#xff1a; 1. 本文记录使用 RT-Thread 软件包 WIZNET驱动 W5500 的调试笔记。 2. 采用 RT-Thread Studio 工程 STM32F407VET6 芯片&#xff0c;W5500 PHY芯片&#xff0c;两者之间使用SPI接口链接 。 注意&#xff1a; 1.在按流程建立工程&#xff0c;和移植完 wizn…

LeetCode---121双周赛---数位dp

题目列表 2996. 大于等于顺序前缀和的最小缺失整数 2997. 使数组异或和等于 K 的最少操作次数 2998. 使 X 和 Y 相等的最少操作次数 2999. 统计强大整数的数目 一、大于等于顺序前缀和的最小缺失整数 简单的模拟题&#xff0c;只要按照题目的要求去写代码即可&#xff0c;…

2-Linux-应用-部署icwp-Linux虚拟机【Django+Vue+Nginx+uwsgi+Linux】

本文概述 本文章讲述基于Linux CentOS 7系统&#xff08;虚拟机&#xff09;&#xff0c;部署DjangoVue开发的前后端分离项目。 项目源码不开放&#xff0c;但是操作步骤可以借鉴。 该文章将项目部署在Linux虚拟机上&#xff0c;暂不使用Docker 相关指令尽量展示执行路径&am…

通义灵码 - 免费的阿里云 VS code Jetbrains AI 编码辅助工具

系列文章目录 前言 通义灵码&#xff0c;是阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff0c;提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力&#xff0c;并针对阿里云 SDK/OpenAPI 的使用…

最强联网Chat GPT 火爆全网高速 永久免费

&#x1f534;高速联网 秒响应支持语音通话&#x1f388; 首先介绍一下她的功能吧&#x1f601; 女友消息代回机&#x1f44c;&#x1f3fb; 朋友圈文案&#x1f44c;&#x1f3fb; 聊天话术&#x1f44c;&#x1f3fb; 高情商回复&#x1f44c;&#x1f3fb; 脱单助…

redis缓存雪崩、穿透和击穿

缓存雪崩 对于系统 A&#xff0c;假设每天高峰期每秒 5000 个请求&#xff0c;本来缓存在高峰期可以扛住每秒 4000 个请求&#xff0c;但是缓存机器意外发生了全盘宕机或者大量缓存集中在某一个时间段失效。缓存挂了&#xff0c;此时 1 秒 5000 个请求全部落数据库&#xff0c;…

Salesforce财务状况分析

纵观Salesforce发展史和十几年财报中的信息&#xff0c;Salesforce从中小企业CRM服务的蓝海市场切入&#xff0c;但受限于中小企业的生命周期价值和每用户平均收入小且获客成本和流失率不对等&#xff0c;蓝海同时也是死海。 Salesforce通过收购逐渐补足品牌和产品两块短板&am…

golang 记录一次协程和协程池的使用,利用ants协程池来处理定时器导致服务全部阻塞

前言 在实习的项目中有一个地方遇到了需要协程池的地方&#xff0c;在mt推荐下使用了ants库。因此在此篇记录一下自己学习使用此库的情况。 场景描述 此服务大致是一个kafka消息接收、发送相关。接收消息&#xff0c;根据参数设置定时器进行重发。 通过这里新建kafka服务&a…

阿尔泰科技——PXIe8912/8914/8916高速数据采集卡

阿尔泰科技PXIe8912/8914/8916高速数据采集卡是2通道同步采样数字化仪&#xff0c;专为输入信号高达 100M 的高频和高动态范围的信号而设计。 与Labview无缝连接&#xff0c;提供图形化API函数。模拟输入范围可以通过软件编程设置为1V 或者5V。配备了容量高达 2GB的板载内存。…

【抓包教程】BurpSuite联动雷电模拟器——安卓高版本抓包移动应用教程

前言 近期找到了最适合自己的高版本安卓版本移动应用抓HTTP协议数据包教程&#xff0c;解决了安卓低版本的问题&#xff0c;同时用最简单的办法抓到https的数据包&#xff0c;特此进行文字记录和视频记录。 前期准备 抓包工具&#xff1a;BurpSuite安卓模拟器&#xff1a;雷…

Redis重点总结补充

Redis重点总结 1.redis分布式锁 2.redission实现分布式锁 注意&#xff1a;加锁、设置过期时间等操作都是基于lua脚本完成. redisson分布式锁&#xff0c;实现可重入&#xff08;前提是同一个线程下 3.redis主从集群 实现主从复制 ( Master-slave Replication)的工作原理 : …

HTTP数据请求

文章目录 1 概述2 什么是HTTP3 如何发起HTTP请求4 参考链接 1 概述 日常生活中我们使用应用程序看新闻、发送消息等&#xff0c;都需要连接到互联网&#xff0c;从服务端获取数据。例如&#xff0c;新闻应用可以从新闻服务器中获取最新的热点新闻&#xff0c;从而给用户打造更…

机器学习降维技术全面对比评析

简介 在机器学习领域&#xff0c;处理高维数据带来了与计算效率、模型复杂性和过度拟合相关的挑战。降维技术提供了一种解决方案&#xff0c;将数据转换为低维表示&#xff0c;同时保留基本信息。本文旨在比较和对比一些突出的降维技术&#xff0c;涵盖线性和非线性方法。 线性…