解决域名在部分网络环境下 DNS 解析失败的问题 以及 DNS 扫盲(权威 DNS 递归 DNS)

本贴最后更新于 3287 天前,其中的信息可能已经时异事殊

在阿里申请了一个域名,没错,就是deyou.space,申请完后,自己在很多个网络环境下都试了一下访问,都正常,但是我用这个域名的一个地址作为微信支付对接回调的地址时,却老是不会回调(直接用IP则可以成功回调),当时就已经怀疑DNS有问题了,想把deyou.space的解析也加到腾讯的DNS中,但是云解析 一直报错 说TM 的是非法域名……给腾讯客服报告了BUG,然后就放下一段时间没理了…

 

但最近把这个域名登录到百度,让爬虫来爬爬的时候,居然抓去的信息也报告TMD DNS解析失败…好吧,这个时候我就再想回了DNS这回事,回去腾讯云一试,还是非法域名…烂…没办法,只好到其他地方注册了DNS解析,我到DNSPOD以及CNNIC中都注册了免费的域名解析服务,然后在阿里中把DNS解析服务器 指向了 DNSPOD,CNNIC以及 阿里 自身提供的DNS服务器。再试~好吧,百度爬虫的DNS报错信息没有了~

 

 

在我自己拥有一个域名之前,我是不知道需要为域名指定DNS服务器,甚至可以指定为自己搭建的DNS的。以前以为DNS服务器都是层层递进,直到根DNS服务器,根服务器存储了所有IP及网址的对应关系,但事实并不是这样,根DNS没有这么大的容量及处理能力,存储全世界的域名解析信息,这个解析是由一层一层的DNS服务器,依次解析过来的。

 

引用一篇文章里的定义:

域名授权: 指定谁是该域名的权威DNS,即由谁负责解析该域名。

权威DNS: 特指对特定域名具有权威发布能力的DNS;互联网上域名(域名记录)解析结果的原出处。

 

以域名deyou.space指定dns权威服务器为例。

域名授权就是指定 deyou.space顶级域名的权威DNS是谁,在这里,我把权威DNS设为了 DNSPOD,CNNIC及阿里的DNS。Deyou.space指向谁由上面几个DNS说了算。

 

那么有一个问题,域名授权是向谁申请的呢?在我这里,我是通过阿里的系统更改了deyou.space的权威DNS的,但实际上,域名授权并不由阿里管控,阿里只是调用了另外一个dns封装的接口,由这个DNS来存储deyou.space的权威DNS是谁。这个DNS就是space的权威DNS。

可能有点绕,但你的理解没错,space也是一个域名,称为根域名。它对应的权威DNS被称作顶级DNS。那么问题又来了,那么space对应的顶级DNS有没有域名授权呢?由谁指定space的权威DNS是谁呢?

答案是——有的。指定space权威dns的DNS被称作根DNS。根标志为”.”,根就是根,不需再要域名了。根dns存储了com,cn,space等根域名的权威dns的地址。

 

 

以上对于DNS的作用是不是好像跟我们日常生活中在路由设定的DNS好像不是一回事?

 

确实,它不是一回事….

DNS可以分为两类,一类是上面定义域名指向IP的,称为 权威DNS。另外一类是用来向根权威DNS,顶级权威DNS,二级域权威DNS…依次递归查询域名指向并缓存到本地的,称为递归DNS。

 

至此,DNS扫盲算结束了。

 

等等!

看完这些原理,你应该感到很奇怪,按照上面的权威DNS的逻辑,应该指定权威DNS后,那么无论在任何网络都可以获得某个域名解析了呀?但事实并不如此,大概是因为 阿里系 跟 腾讯系的互斗把(使用过阿里云访问微信服务器,在微信中打不开淘宝连接的人都知道....),腾讯的递归DNS访问阿里的权威DNS可能被BLOCK了,所以加多几个第三方DNS就能解决这些问题,至于百度为啥也参和进来了?我也不知道,哈哈哈

  • DNS
    25 引用 • 20 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 174 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖 • 1 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 1 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 52 关注
  • 996
    13 引用 • 200 回帖 • 6 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 95 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 31 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 384 关注
  • V2Ray
    1 引用 • 15 回帖
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 529 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 154 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 654 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 510 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 407 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 73 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 211 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 4 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    47 引用 • 25 回帖
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 399 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 680 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    266 引用 • 665 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 629 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    567 引用 • 3532 回帖