申请报道

扫一扫,联系编辑获得审核机会

符合以下要求,获得报道机会

  • 1. 新公司求报道
  • 2. 好项目求报道
  • 3. 服务商求报道
  • 4. 投资融资爆料

当前位置:首页 >  IDC >  域名 >  正文

如何解决域名解析不生效问题?

 2018-03-29 14:37  来源:云栖社区  我来投稿

  2018年最火项目 电销机器人等你加盟

  一、前言

  域名解析不生效产生的原因很多,除了网络不可用, 域名劫持(已有成熟解决办法)等因素之外, 按照排查链路先后顺序列举如下:

  1.1 域名状态是否正常

  先检查域名的状态,可以查看注册服务商提供的 whois 域名信息,如果域名状态为 clienthold 或 serverhold 状态,说明域名是被禁止解析的。这种状态下,即使设置了域名解析,也无法生效,域名无法被访问到,需要联系域名注册商取消这个状态。

  1.2 权威修改是否已经修改生效

  请确认权威DNS的域名解析记录已修改成功。

  1.3 递归DNS缓存记录是否已更新

  修改域名解析后,还取决于各运营商递归DNS的缓存是否生效。

  1.4 客户端DNS缓存记录是否已更新

  客户端在老的解析记录TTL过期前无法更新。

  其中1.3,1.4是常见不生效原因,长时间无法生效大多由于1.3导致。

  

 

  二、域名解析不生效解决办法

  2.1 通过递归DNS解决

  2.1.1 方法一:使用HTTPDNS

  (1) HTTPDNS简介

  HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到HTTPDNS服务器,从而绕过运营商的Local DNS,能够解决Local DNS造成的域名劫持、调度不准确、域名解析不生效三方面问题,并且能够提升域名解析效率。

  (2) HTTPDNS原理

  HTTPDNS与传统的域名解析流程对比如下图所示。

  

 

  图一 HTTPDNS与传统DNS对比图

  (3) HTTPDNS如何使用

  参见文档如何使用HTTPDNS

  (4)使用HTTPDNS有什么限制?

  HTTPDNS需要修改应用的DNS解析过程,因此主要适用于C/S架构的场景。

  对于无法修改域名解析过程的场景,如PC浏览器访问、微信H5页面访问都无法使用HTTPDNS。

  2.1.2 方法二:使用公共DNS

  上面提到,由于ISP提供的递归域名服务器质量参差不齐,导致比较容易出现解析失败、解析不生效等问题,因此部分厂商提供了公共DNS解决这个问题。

  常见的公共dns有:

  

 

  

 

  备注:满分10分,分数越高说明方法优势越大

  对上面对比做一个说明:

  (1)HTTPDNS使用时需要开发者修改DNS解析流程,因此只适用于C/S架构的应用,对于PC浏览器、微信H5等场景不适用,程序编写也有一定的工作量,好在国内的HTTPDNS厂商都提供了封装好的SDK和示例代码供开发者使用和参考,大大降低了实现难度。

  (2)使用public dns的方法通用性很低,因为需要每个客户都对自己终端的DNS服务器配置进行修改,由于需要面向庞大的、水平参差不齐的终端用户,这种方式对于开发者而言实施难度非常大。

  2.2 通过客户端自身解决

  对于客户端缓存结果不能更新的问题,可以通过强制刷新系统DNS缓存来删除老的解析结果。以windows系统为例,方法如下:

  打开windows命令行,执行ipconfig/flushdns命令清空DNS缓存

  

 

  图二 Windows系统情况DNS缓存方法示意图

  三、悲催的域名解析不生效问题

  尽管权威DNS系统属于变更相对较少的一个底层服务,但系统管理员可能还会在以下几种情况下变更DNS服务器的域名解析记录:

  (1)域名对应IP变更(替换、增加、减少等情况)

  (2)接入CDN系统,增加域名的CNAME记录

  (3)系统受到攻击时切换IP躲避攻击!!!

  (4)其他需要变更的情形

  修改解析记录后常见难题是:**不生效**

  

 

  图三 域名解析不生效示意图

  下面首先看看域名解析的流程。

  四、域名解析过程分析

  以常见的递归解析方式为例,说明解析流程

  

 

  图四 域名解析流程示意图

  上图是相对完整的域名解析流程(假设各个环节的缓存没有命中):

  1) 用户终端发起域名解析请求www.abc.com

  2)本地递归域名服务器向根域名服务器(.)请求并得到.com域名服务器的IP地址

  3)本地递归域名服务器向.com域名服务器请求并得到abc.com权威域名服务器的地址

  4)本地递归域名服务器向abc.com发出www.abc.com的解析请求并得到返回结果

  5)用户终端从本地递归域名服务器得到最终的解析结果

  五、域名解析不生效根源

  5.1 域名结果缓存环节分析

  域名解析不生效(生效慢)是由于域名解析结果被缓存住,并且缓存结果短时间无法更新导致的。

  域名解析可能在访问终端系统、本地递归域名解析服务器两个环节被缓存住,如下图所示。

  

 

  图五 域名解析结果缓存环节分析示意图

  5.2 终端缓存特征

  终端的缓存是由终端应用(如PC浏览器)控制的,一般情况下会遵循域名解析结果的TTL规范,也就是在域名有效期过期后会自动重新请求,因此这个时间是可预期的,也是可控的(通过修改权威TTL)。

  5.3 递归域名服务器缓存特征

  本地递归域名服务器一般由提供服务的ISP设置,服务器自身也是由ISP维护,公网上存在大量的递归域名服务器不遵循权威的TTL,导致我们的域名解析修改不生效(全球生效时间最长可能有72小时之久)。

  由上面的分析可以知道,域名解析不生效最重要的诱因是递归域名服务器不能及时更新解析结果。

  六: TIPS

  耐心看到这里的读者必须予以奖励,这里提供几个域名解析的几个TIPS。

  6.1 域名解析从入门到中级

  看完这篇https://yq.aliyun.com/articles/58967就欧了。

  6.2 无线场景下的域名服务器设置

  Android/iOS在wifi接入场景下可以通过在系统的设置中找到修改DNS服务器的入口,但非wifi的网络制式接入(如2/3/4G网络)无法修改DNS服务器配置,因此当ISP为我们配置的默认递归域名服务器不合理时,就会碰到调度精确性的问题,这个问题可以参考移动场景下如何实现就近接入?

  6.3 黑科技:解析实时生效方法

  上面通过改进递归DNS设置(使用HTTPDNS或者配置公共DNS),可以确保域名解析结果在TTL过期后生效,但如果TTL设置时间较长(如10分钟),这时候我们仍然需要等待比较久的时间才能看到解析结果生效。

  有没有更好的办法? 从第五节的分析来看,域名解析不生效的关键环节之一是递归DNS服务器缓存的域名解析结果需要等待TTL过期才会去权威更新,这个等待时间能否消除掉?

  答案是肯定的。如果权威解析记录修改后,能够同步更新递归DNS的缓存记录,就可以实现解析记录的实时生效。

扫一扫关注A5创业网公众号

扫一扫关注A5创业网公众号

责任编辑:西瓜

相关文章

  • 邮件服务器-PTR反向域名解析

    反向域名解析,ReverseDNS。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应。

    标签:
    域名解析
  • 4月全球域名商域名解析量23强:西数解析量破百万

    IDC评述网(idcps.com)04月26日报道:根DailyChanges公布的实时数据显示,截至2016年4月24日,中国万网与易名中国的域名解析量分别达到4,855,203个、3,245,724个,排名全球第2、第3。除此之外,另有DNSPod、爱名网的域名解析量跻身全球20强,可见中国域名

    标签:
    域名解析
  • 1月末中国域名商解析量13强:西数破百万指日可待

    IDC评述网(idcps.com)01月29日报道:根据DailyChanges公布的实时数据显示,截止至2016年1月25日,国内域名解析量十三强排名,与上期1月14日对比,无任何变化。值得一提的是,西部数码域名增势颇为强劲,环比净增169,841个,解析量随之达到953,250个,正向百万大关进

    标签:
    域名解析
  • 1月末全球域名商解析量23强:易名第四 西数居榜尾

    IDC评述网(idcps.com)01月28日报道:根据DailyChanges公布的实时数据显示,截至2016年1月25日,在全球域名解析量23强排行榜上,中国占据6个席位,分别是中国万网、易名中国、DNSPod、爱名网、新网、西部数码。与上期1月14日对比,排名发生变化。易名中国以解析量2,74

    标签:
    域名解析
  • 全球六大国际域名解析总量突破1.6亿 共净增48万

    IDC评述网(idcps.com)01月25日报道:根据DailyChanges公布的实时数据显示,截止至2016年1月20日,全球六大国际域名解析总量突破1.6亿大关,达到160,443,954个。与2015年12月30日对比,共净增479,080个,增势颇为强劲。其中,解析量实现上涨的仅.COM

    标签:
    域名解析
小程序

热门排行

信息推荐

扫一扫关注最新创业资讯