DNS服务的部署与配置(1)

一、DNS的定义

1、域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。

         它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 DNS使用UDP端口53。 当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

2、DNS的作用

       当我们在浏览器输入www.baidu.com时,计算机并不知道谁是baidu 计算机只能识别ip,所有我们需要将www.baidu.com这个域名解析为ip才能继续通信 dns就提供了这个解析功能

3、DNS的分类

(1)权威DNS:
       权威DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人。
如COM顶级服务器可以授权dns.com这个域名的的权威服务器为NS.ABC.COM。
同时NS.ABC.COM还可以把授权转授给NS.DDD.COM。
这样NS.DDD.COM就成了ABC.COM实际上的权威服务器了。
平时我们解析域名的结果都源自权威DNS。
比如dns.com的权威DNS服务器就是帝恩思的ns1.dns.com ns2.dns.com
权威名称服务器的类型包括:
Master : 包含原始区域数据,有时称作 “主要 ”名称服务器
Slave : 备份服务器,通过区域传送从 Master 服务器获得的区域数据的副本,有时称作 “次要 ”名称服务器

(2)递归DNS(也叫本地DNS):
     其核心功能一个是缓存、一个是递归查询。
收到域名查询请求后其首先看本地缓存是否有记录,
如果没有则一级一级的查询根、顶级域、二级域……直到获取到结果然后返回给用户。
日常上网中运营商分配的DNS即这里所说的递归DNS。
//
负责接受用户对任意域名查询,并返回结果给用户。
递归DNS可以缓存结果以避免重复向上查询。
我们平时使用最多的就是这类DNS,他对公众开放服务,一般由网络运营商提供。
递归DNS一定要有可靠的互联网连接方可使用。
比如谷歌的8.8.8.8和8.8.4.4以及114的114.114.114.114和114.114.115.115都属于这一类DNS。
本地电脑上设置的DNS就是这类DNS。

(3)转发DNS:
      转发DNS是一种特殊的递归。
如果本地的缓存记录中没有相应域名结果时,
其将查询请求转发给另外一台DNS服务器,由另外一台DNS服务器来完成查询请求。
//
负责接受用户查询,并返回结果给用户。
但这个结果不是按标准的域名解析过程得到的,而是直接把递归DNS的结果转发给用户。
它也具备缓存功能。
他主要使用在没有直接的互联网连接,但可以连接到一个递归DNS那里,这时使用转发DNS就比较合适。
其缺陷是:直接受递归DNS的影响,服务品质较差。
比如我们用的路由器里面的DNS就是这一类,查看本地电脑的DNS一般都是192.168.1.1。

4、DNS的解析过程

     比如,一个域名为:abc.com,是想看到这个现HTTP服务,如果要访问网站,就要进行解析。
首先在域名注册商那里通过专门的DNS服务器解析到一个WEB服务器的一个固定IP上:211.214.1.XXX
然后,通过WEB服务器来接收这个域名,把abc.com这个域名映射到这台服务器上。
那么,输入abc.com这个域名就可以实现访问网站内容了。

      人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的
它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。
      DNS是一种c/s的结构。
客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。

5、DNS解析方式:逐级解析

根域名 :.root 或者 . ,通常是省略的
顶级域名,如 .com,.cn 等
次级域名,如 baidu.com 里的 baidu,这个是用户可以进行注册购买的
主机域名,比如 baike.baidu.com 里的baike,这个是用户可分配的

主机名.次级域名.顶级域名.根域名baike.baidu.com.root

##根域名服务器都在美国,一共有13个

6、DNS记录类型(域名解析规则)

A:地址记录(Address),返回域名指向的IP地址。

NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。
该记录只能设置为域名,不能设置为IP地址。

MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。

CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。

PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名,详见下文。

7、DNS解析报错信息

1.no servers could be reached    ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败                     ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR                         ##表示查询成功
REFUSED                         ##服务拒绝访问
SERVFAIL                         ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN                         ##此域名A记录在dns中不存在

SOA:授权起始主机,SOA给出如图答案意思是没有这样一台主机

8、地址解析命令

host www.baidu.com ##地址解析命令,内容简略!

dig www.baidu.com ##地址详细解析信息命令,内容详细!

dig命令

host命令

二、高速缓存DNS服务器

所谓高速缓存dns就是:
内网内的dns服务器主机(非权威dns)把缓存下来的数据共享给其他内网主机。
只有第一次访问时间较长,访问后就会保存下来,之后内网内使用该dns服务器的主机再次访问就可以直接从缓存里取,速度会非常快

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

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

相关文章

超简单白话文机器学习 - 回归树树剪枝(含算法介绍,公式,源代码实现以及调包实现)

1. 回归树 1.1 算法介绍 大家看到这篇文章时想必已经对树这个概念已经有基础了,如果不是很了解的朋友可以看看笔者的这篇文章: 超简单白话文机器学习-决策树算法全解(含算法介绍,公式,源代码实现以及调包实现&#x…

BL121DT网关在智能电网分布式能源管理中的应用钡铼技术协议网关

随着全球能源结构的转型和智能电网技术的飞速发展,分布式能源管理系统在提高能源利用效率、促进可再生能源接入及保障电网稳定运行方面发挥着日益重要的作用。然而,分布式能源系统内设备种类繁多,通信协议各异,如何高效整合这些设…

如何从http免费升级到https

使用https协议开头是为了在用户访问网站时提供更安全的网络环境。相比http,使用https有数据加密、身份验证、保护隐私、搜索引擎优化等优势。一般获取https证书,则需要支付费用给证书颁发机构(CA)。还有一些免费的证书证书颁发机构…

解决 SpringBoot 的 Date、LocalDateTime 变成时间戳和数组的问题,创建自定义对象消息转换器

问题描述 SpringBoot 项目,当返回前端的数据类型为 Map 的时候,在 Map 中 put() 时间对象会出现以下问题: 传递的 Date 对象会变成时间戳传递的 LocalDateTime 对象会变成数组 问题复现 编写一个 Controller 方法,返回值为 Ma…

Java并发: 基于Unsafe的CAS实现无锁数据结构

在上一篇Java并发: 面临的挑战文章中说过CAS是解决原子性问题的方案之一。Unsafe提供了CAS的支持,支持实例化对象、访问私有属性、堆外内存访问、线程的启停等功能。 许多Java的并发类库都是基于Unsafe实现的,比如原子类AtomicInteger,并发数…

多线程(C++11)

多线程(C) 文章目录 多线程(C)前言一、std::thread类1.线程的创建1.1构造函数1.2代码演示 2.公共成员函数2.1 get_id()2.2 join()2.3 detach()2.4 joinable()2.5 operator 3.静态函数4.类的成员函数作为子线程的任务函数 二、call…

【Linux学习】深入探索进程等待与进程退出码和退出信号

文章目录 退出码return退出 进程的等待进程等待的方法 退出码 main函数的返回值:进程的退出码。 一般为0表示成功,非0表示失败。 每一个非0退出码都表示一个失败的原因; echo $?命令 作用:查看进程退出码。&#xf…

I.MX6ULL Linux C语言开发环境搭建(点灯实验)

系列文章目录 I.MX6ULL Linux C语言开发 I.MX6ULL Linux C语言开发 系列文章目录一、前言二、硬件原理分析三、构建步骤一、 C语言运行环境构建二、软件编写三、链接脚本 四、实验程序编写五、编译下载验证 一、前言 汇编语言编写 LED 灯实验,但是实际开发过程中汇…

Go语言的内存泄漏如何检测和避免?

文章目录 Go语言内存泄漏的检测与避免一、内存泄漏的检测1. 使用性能分析工具2. 使用内存泄漏检测工具3. 代码审查与测试 二、内存泄漏的避免1. 使用defer关键字2. 使用垃圾回收机制3. 避免循环引用4. 使用缓冲池 Go语言内存泄漏的检测与避免 在Go语言开发中,内存泄…

【已解决】C#设置Halcon显示区域Region的颜色

前言 在开发过程中,突然发现我需要显示的筛选区域的颜色是白色的,如下图示,这对我们来说不明显会导致我的二值化筛选的时候存在误差,因此我们需要更换成红色显示这样的话就可以更加的明显,二值化筛选更加的准确。 解…

java: 无法访问org.springframework.ldap.core.LdapTemplate

完整错误: java: 无法访问org.springframework.ldap.core.LdapTemplate错误的类文件: /E:/apache-maven-3.6.3/repository/org/springframework/ldap/spring-ldap-core/3.2.3/spring-ldap-core-3.2.3.jar!/org/springframework/ldap/core/LdapTemplate.class类文件具…

《2024年中国机器人行业投融资报告》| 附下载

近年来,国内机器人行业取得了显著的技术进步,包括人工智能、感知技术、自主导航等技术方面的突破,使得机器人能够更好地适应复杂环境和任务需求,带动了机器人行业加快发展。 当然,技术的进步是外在驱动因素&#xff0…

探索集合python(Set)的神秘面纱:它与字典有何不同?

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、集合(Set)与字典(Dictionary)的初识 1. …

L2-038 病毒溯源

详解代码 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 10010,M10010;int n; int h[N], e[M], ne[M], idx;//邻接表,h表示顶点&#xff0c;e表示当前边的终点&#xff0c;ne表示下一条边&#xff0c;idx当…

海外动态IP代理如何提高效率?

动态住宅IP代理之所以能够有效提升数据爬取的效率和准确性&#xff0c;主要归功于其提供的IP地址具有高度的匿名性和真实性。这些IP地址来自于真实的用户网络&#xff0c;因此相比于数据中心IP&#xff0c;它们更不容易被网站的安全系统标识为爬虫。此外&#xff0c;由于IP地址…

【vue-1】vue入门—创建一个vue应用

最近在闲暇时间想学习一下前端框架vue&#xff0c;主要参考以下两个学习资料。 官网 快速上手 | Vue.js b站学习视频 2.创建一个Vue3应用_哔哩哔哩_bilibili 一、创建一个vue3应用 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…

NodeJS安装并生成Vue脚手架(保姆级)

文章目录 NodeJS下载配置环境变量Vue脚手架生成Vue脚手架创建项目Vue项目绑定git 更多相关内容可查看 NodeJS下载 下载地址&#xff1a;https://nodejs.org/en 下载的速度应该很快&#xff0c;下载完可以无脑安装&#xff0c;以下记得勾选即可 注意要记住自己的安装路径&…

【Linux】简单模拟C语言文件标准库FILE

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

R可视化:可发表的Y轴截断图

Y轴截断图by ggprism Y轴截断图by ggprism 介绍 ggplot2绘制Y轴截断图by ggprism加载R包 knitr::opts_chunk$set(message = FALSE, warning = FALSE)library(tidyverse) library(ggprism) library(patchwork)rm(list = ls()) options(stringsAsFactors = F) options(future.…

Go语言的中间件(middleware)是如何实现的?

文章目录 Go语言的中间件&#xff08;Middleware&#xff09;是如何实现的&#xff1f;中间件的工作原理中间件的实现步骤示例代码总结 Go语言的中间件&#xff08;Middleware&#xff09;是如何实现的&#xff1f; 在Go语言中&#xff0c;中间件&#xff08;Middleware&#…