阿里云云解析DNS核心概念与应用

news2024/10/5 13:01:42

文章目录

    • 1.DNS解析基本概念
      • 1.1.DNS基本介绍
      • 1.2.域名的分层结构
      • 1.3.DNS解析原理
      • 1.4.DNS递归查询和迭代查询的区别
      • 1.5.DNS常用的解析记录
    • 2.使用DNS云解析将域名与SLB公网IP进行绑定
      • 2.1.进入云解析DNS控制台
      • 2.2.添加域名解析记录
      • 2.3.验证解析是否生效

1.DNS解析基本概念

DNS官方文档:https://help.aliyun.com/document_detail/102237.html

1.1.DNS基本介绍

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

我们在访问一个应用系统时,在没有使用DNS前,都是使用IP去访问的,IP的组成都是数字,难以记忆,DNS可以将IP解析成方便记忆的域名,例如jiangxl.com,在浏览器中输入jiangxl.com就可以跳转到对应的应用服务器,为我们提供服务,域名和IP相比,域名是非常好记忆的。

DNS核心功能

  • 记录域名与IP的对应关系
  • 通过DNS可以将经常需要变换IP的固定成一个访问入口,即使变换了IP,使用者无感知。

DNS的分类

  • 公网DNS(万网)通过此类DNS可以访问任意互联网应用。
  • 私网DNS(bind9)此类DNS只能在局域网环境使用。

一个典型使用DNS迁移场景 如下图所示

当我们的MySQL数据库需要进行迁移,数据库从上海迁移到了北京机房,IP肯定是要变的,当更改了IP,连接数据库的程序都需要进行修改成新的IP,如果我们WEB节点较少还可以接收,如果我们的WEB节点有几十台甚至上台,我们一个个的去修改程序连接会变得非常麻烦,即使我们有自动化更新流程,时间也是很长的,也会涉及到WEB程序的重启。

针对这种情况,我们可以将数据库的IP和域名写入到一个本子里,方便程序记忆,这个本子就是/etc/hosts文件,这个文件可以记录域名与IP的对应关系,我们给MySQL服务器设置一个域名,比如叫mysql.example.com,将数据库的IP和域名的对应关系写入到/etc/hosts文件中,当我们需要更换数据库IP时,只需要将每个服务器/etc/hosts中域名对应的IP进行修改即可完成迁移,并且程序也不需要重启。

虽然将IP和域名写入到了一个文件里,修改文件即可,但是如果面对上千台服务器时,过程也会变得繁琐。

针对新的问题,从而就需要应用DNS服务器了,在服务器环境中部署一个DNS服务器,在DNS服务器中记录数据库IP与域名的对应关系,并且在DNS中开启for转发配置,然后在每台WEB服务器中指定本地DNS的地址,当我们程序需要连接数据库时,会通过DNS找到提供MySQL服务的地址,当访问互联网时也会通过for配置转发到公网DNS服务器,当我们需要更换数据库IP时,就可以直接修改DNS的域名解析记录即可完成。

image-20220126141140184

DNS的几个关键的专业术语

  • DNS缓存

    • DNS缓存也就是CDN,在使用CDN之前一定要搞清楚DNS,DNS缓存就是将解析的数据存储在距离用户最近的网络节点,最终目的就是让用户减少迭代查询的速度,从而加速网站的访问。
  • TTL

    • TTL全称为Time To Live,这个值用于去设定域名解析结果缓存的时间,时间结束后会自动删除解析记录,再次使用时还需要重新进行递归和迭代查询。
  • TLD Server

    • 顶级域服务器
  • DNS Resolver

    • 本地DNS服务器
  • Root Server

    • 根域服务器

1.2.域名的分层结构

在互联网中使用域名的用户非常多,因特网在命名时将域名分为根域、顶级域、主域名、子域名四层。

根域服务器全球只有13台,并且根域只有一个,那就是点".",DNS的解析流程最开始到达的也就是根域。

顶级域就是我们常见的.com、.cn、.edu等等,这类域名统称为顶级域名,所有用户都可以在顶级域的基础上去申请主域名。

主域名也就被称为一级域名,如jiangxl.com这个主域名,每个用户都需要在顶级域的基础上去申请自己的一级域名,每个人每家企业都都独立的主域名。

子域名也就是我们常常说到的二级域名或者主机头,在主域名的基础上申请二级域名,可以为不同的应用程序申请不同的二级域名,例如www.jiangxl.com这个域名就是在主域名的基础上申请的二级域名。

另外还可有三级域名,三级域名就看个人和企业的需求了,可以在二级域名的基础上再申请三级域名,例如cn201212.www.jiangxl.com.cn这个域名,通常一个应用程序有不同的区域使用,不同的区域可以通过不同的三级域名作为区分的标准。

image-20220126144357503

1.3.DNS解析原理

以用户访问www.jiangxl.com域名为例讲解DNS的解析原理。

1)用户在浏览器中输入"www.jiangxl.com",若在/etc/hosts文件中有域名解析记录,则直接返回给用户,若不存在本地解析记录,则由本地DNS服务器开始递归查询。

2)本地DNS服务器没有域名解析记录,开始采用迭代查询找到根域服务器,并向根域服务起询问"你知道谁是.com吗"。

3)根域服务器向本地DNS服务器说我知道".com"域名是谁,并将.com的服务器信息一并告知本地DNS服务器。

4)本地DNS服务器根据信息找到了."com"的顶级域服务器,开始询问你知道谁是"jiangxl.com"吗。

5)顶级域服务器说我知道谁是"jiangxl.com",并将"jiangxl.com"域名发服务器信息告知本地服务器。

6)本地服务器根据信息找到了"jiangxl.com"主域服务器,开始询问你知道谁是"www.jiangxl.com"吗。

7)主域服务器说我知道谁是"www.jiangxl.com",并将"www.jiangxl.com"域名服务器的信息告知给本地服务器。

8)本地DNS拿到"www.jiangxl.com"域名对应的服务器信息后,将解析记录反馈给客户端。

9)浏览器根据解析记录,向"www.jiangxl.com"对应的WEB服务器发送HTTP请求。

10)该WEB服务器将结果呈现在用户的浏览器中。

在这里插入图片描述

1.4.DNS递归查询和迭代查询的区别

DNS查询分为递归查询和迭代查询两种。

  • 递归查询

    • 是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结构提交给用户。
    • 简而言之,递归查询必须返回给用户一个准确的解析地址,如果查找的服务器不存在该记录就需要询问其他服务器
    • 递归查询就好比工作中领导安排一件事情,不管过程,只要最终的结果。
  • 迭代查询

    • 是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。
    • 简而言之,迭代查询是指当前服务器并不知道这条解析记录,但是这个服务器知道哪个服务器拥有这条记录,并将信息告知。
    • 迭代查询就好比是在工作中,你要处理一个问题,询问了你的同事,你同事说我不知道但是领导肯定指定,让你去问领导。

递归查询和迭代查询效果图如下,蓝线表示递归查询,可以看到直接就需要返回给客户端,黑线表示迭代查询,一层层的进行查询。

在DNS的解析过程中,用户与本地服务器直接使用递归查询,本地服务器与其他服务器直接采用迭代查询。

image-20220126160755933

1.5.DNS常用的解析记录

A记录:将域名解析到指定的IPV4地址。

CNAME:将域名解析到另一个域名,由另一个域名提供具体的服务

AAAA:将域名解析到IPV6地址。

NS:将域名指定到另一个DNS服务器进行解析。

MX:将域名解析到邮箱服务器。

2.使用DNS云解析将域名与SLB公网IP进行绑定

2.1.进入云解析DNS控制台

在控制台中找到云解析,点击进入云解析DNS的控制台。

1642477916630

2.2.添加域名解析记录

1)在域名解析这里找到我们的域名,点击解析设置。

1642478029543

2)点击添加记录—>记录类型为A记录—>在主机记录这里填写主机名—>记录值为SLB的公网地址,也就是域名要解析的地址。

1642482365652

2.3.验证解析是否生效

解析添加完成后,就可以在本地cmd中ping我们的域名,并且从此以后可以直接在浏览器中通过域名访问我们的程序。

1642482879745

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

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

相关文章

RNN模型简单理解和CNN区别

目录 神经网络:水平方向延伸,数据不具有关联性 ​ RNN:在神经网络的基础上加上了时间顺序,语义理解 ​RNN: 训练中采用梯度下降,反向传播 ​ 长短期记忆模型 ​输出关系:1 toN,N to N 单入…

还在手动调节温湿度?一招实现远程监控

无论是在医疗保健、食品加工、物流仓储还是制造业,精确的温湿度控制都是保障产品质量、设备稳定性以及人员健康的重要因素。 无论是在实验室中追求精确数据,还是在农田中寻求最佳生长条件,温湿度监控都在发挥着不可或缺的作用,塑造…

赴日程序员 RUN个地方生活最低要多少钱?

要说最低成本的话,那肯定不是以投资的方式,而是要以工作的方式才行,那么不管是去哪个国家工作,都是需要有一个基本学历在的,像日本的话基本上是需要本科的学历,如果是专科的话,需是要相关专业或…

VS2017编译同事VS2022创建的库,报错无法运行rc.exe

项目场景: 项目场景:有一个qt的版本,迁移到VS中进行开发编译,同事使用的是VS2022已经编译成功。但是拷贝到我电脑,我使用VS2017打开编译,却报错:报错无法运行rc.exe。 原因分析: 1.…

【前端|Javascript第5篇】全网最详细的JS的内置对象文章!

前言 在当今数字时代,前端技术正日益成为塑造用户体验的关键。我们在开发中需要用到很多js的内置对象的一些属性来帮助我们更快速的进行开发。或许你是刚踏入前端领域的小白,或者是希望深入了解内置对象的开发者,不论你的经验如何&#xff0c…

使用@antv/x6-vue-shape 遇到的问题

最近用antv/x6开发一个功能,遇到的坑太多了,心累啊。。。 想用官方提供的antv/x6-vue-shape ,目的是使用vue组件创建画布元素。 官方文档: 链接:使用 HTML/React/Vue/Angular 渲染 | X6 使用npm install 安装 报错…

【工具】 删除Chrome安装的“创建快捷方式”

创建Chrome的快捷方式,可以放在桌面,想用时双击就可以打开网页,比书签(brookmark)结构化管理更方便。 但是,安装一时爽,卸载有问题。 如果用 windows 控制面板\所有控制面板项\程序和功能 卸载…

C++超基础语法

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 C👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大…

企业到什么阶段需要进行数字化转型?

数字化转型并不是一个一刀切的过程,也不存在普遍规定企业必须在何时经历数字化转型的特定阶段。然而,有一些常见的触发因素或情况往往会促使企业考虑或踏上数字化转型之旅: 1.不断变化的商业格局:当企业面临客户行为、市场动态或…

visual studio 2022配置

前提:我linux c 开发 一直在使用vscode 更新了个版本突然代码中的查找所用引用和变量修改名称不能用了,尝试了重新配置clang vc都不行,估计是插件问题,一怒之下改用visual studio 2022 为了同步2个IDE之间的差别,目前…

Unity小项目__打砖块

//1.添加地面 1)创建一个平面,命名为Ground。 2)创建一个Materials文件夹,并在其中创建一个Ground材质,左键拖动其赋给平面Plane。 3)根据喜好设置Ground材质和Ground平面的属性。 // 2.创建墙体 1)创建一个Cube&…

无涯教程-Perl - unshift函数

描述 此函数按顺序将LIST中的元素放在ARRAY的开头。这与shift()相反。 语法 以下是此函数的简单语法- unshift ARRAY, LIST返回值 此函数返回ARRAY中新元素的数量。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -warray ( 1, 2, 3, 4);print "Value of a…

关于svg

1.svg是一种基于XML语法的图像格式,是一种图像格式,是一种对图像的描述,不是基于像素处理的,因此他的本质是文件,而且体积小不易失真。 2.svg文件可以直接插入网页,也就是html文件中,成为dom的…

批量爬虫采集完成任务

批量爬虫采集是现代数据获取的重要手段,然而如何高效完成这项任务却是让许多程序员头疼的问题。本文将分享一些实际操作价值高的方法,帮助你提高批量爬虫采集的效率和专业度。 目标明确,任务合理划分: 在开始批量爬虫采集前&…

带你快速认识Java异常和bug的解决过程

一 常见异常介绍 1.1 编译时异常 1. 操作数据库产生的异常 SQLException 2. 操作文件产生的异常 IOException 3. 文件找不到的异常 FileNotFoundException 4. 类找不到异常 ClassNotFoundException 5. 非法参数异常 IllegalArguementException 1.2 运行时异常 1. 空指针异…

ONNX版本YOLOV5-DeepSort (rknn版本已经Ready)

目录 1. 前言 2. 储备知识 3. 准备工作 4. 代码修改的地方 5.结果展示 1. 前言 之前一直在忙着写文档,之前一直做分类,检测和分割,现在看到跟踪算法,花了几天时间找代码调试,看了看,展示效果比单纯的检…

linux--链表动态创建

头插法: 核心代码: s->next head->next; head->next s; 尾插法 核心代码: tail head; s->next NULL; tail->next s; tail s; 当用头插法依次插入值分别为1,2,3,4,5的结点后, 单链表顺序为: he…

第一章 Java反射机制(韩顺平老师Java基础学习记录)

文章目录 前言一、没有反射机制前的java代码存在什么问题?二、使用反射机制解决问题1.加载类2.读入数据 总结 前言 每一项新技术以及新概念的提出都是源于存在着新“问题”,放在代码领域可以说是存在着新需求,那么为了解决这个需求&#xff…

谈谈无线充电技术

目录 1.无线充电的概念 2.无线充电的原理 3.无线充电技术的发展过程 4.无线充电的优势 5.无线充电的潜在危害 1.无线充电的概念 无线充电是一种无需通过物理连接,通过电磁感应或者共振等技术,实现设备充电的方式。它消除了传统有线充电中需要插拔电…

等保案例 7

用户简介 廊坊市审计局主管全市审计工作,负责对全市财政收支和法律法规规定属于审计监督范围的财务收支的真实、合法和效益进行审计监督;对审计、专项审计调查和核查社会审计机构相关审计报告的结果承担责任,并负有督促被审计单位整改的责任…