偶尔无法访问的域的可能原因

我遇到类似于其他问题的症状。 也就是说,人们抱怨域名无法访问。 然后,突然开始工作了一段时间。 但是我怀疑这是因为DNS服务器不可靠。 他们是我的域名注册商,这在我的国家很受欢迎。

难道还有其他一些原因吗? 这是一个子域,就像在sub.example.com ,我使它与通配符的DNSlogging。 这可能是一个原因吗? 也许一些旧的DNS服务器不理解这些东西? 我能想到的另一个原因是在互联网上的一些暂时的问题,像一些主机不能访问其他的东西? 或者某些DNS服务器通过一些标准筛选出logging?

UPD设置很简单,没有负载均衡器,没有集群,没有循环的DNS服务器。 而我正在谈论公众可用的服务器。 用户是互联网的用户。 我正在pipe理example.comsub.example.com 。 他们在一个DNS区域。

UPD或者,毕竟这是因为域名注册商。 它的服务器响应超时:

 >nslookup sub.example.com ns.domain.registrar.com DNS request timed out. timeout was 2 seconds. Server: UnKnown Address: 52.16.198.15 Name: sub.example.com Address: 51.59.10.10 

我想,并不是所有的DNS服务器都会忍受超时,你不觉得吗?

从上面的评论,这绝对听起来像一个DNS问题。 我可以看到这是由于主机cachinglogging,DNS服务器本身cachinglogging(recursion),或者即使你有一个像F5设备一样的负载均衡器,可能会做caching。 一个是我更多的叮叮了我,我不介意的是Web代理执行parsing结果的caching。

访问一个网站,你有两个基本的部分,旅程和目的地。 旅程是预连接阶段,目标是到服务器的实际连接。 您需要将等式的预连接部分与实际连接隔离。

解决网站的IP地址后,请尝试在浏览器中inputIP地址而不是域名。 对这个IP地址进行pingtesting和traceroute。 IP地址是否响应? 它是否在一段时间内不断地响应(在Windows上是ping -t xxxx)还是正在上升和下降? 如果您可以使用IP而不是主机名来获取该站点,那就是您的DNS。 如果你无法解决这个问题,你就会遇到连接问题。 如果这对于域名或IP是间歇性的,则可能是间歇性的负载平衡问题(如循环DNS服务器或configuration不正确的群集),或者存在间歇性连接问题,例如第1层或第2层问题。

还有一件事要添加到你的工具箱是一个名为isitdownrightnow.com的望眼镜网站,它专门devise用来帮助你分辨出你的系统出现问题,或者是一个更为全球化的问题。

我提供的一些信息只是在黑暗中盲目拍摄,因为这是一个正在进行的故障排除过程,信息是有限的。 如果您可以发表更多的信息作为评论,我相信我们可以帮助你理顺。

对于未来,我只是从我的经验中添加一些提示:

  • 要正确诊断问题,最好有权访问DNS服务器
  • 相关的DNS服务器是用户使用的SOA和caching域名服务器
  • 它有帮助有Unix和Windows盒子进行诊断。
  • 如果DHCP服务器向用户提供DNS服务器,DHCP服务器将扮演重要angular色
  • IP冲突可能会产生奇怪的影响(并且本地networking上的所有设备都是可疑的)

在你使用的Unix机器上

 dig SOA example.com @8.8.8.8 dig SOA sub.example.com @my.domain.name.registrar dig sub.example.com @sub.example.com ... 

在你使用的Windows机器上

 ipconfig.exe /displaydns >logfile.txt ipconfig.exe /flushdns <=WITHOUT THIS YOU GET DISTORTED REALITY nslookup sub.example.com nslookup sub.example.com other.name.server nslookup.exe -q=soa sub.example.com 

我并没有完全理解example.comsub.example.com的 SOA(权威来源),以及它们是否与用户使用的cachingDNS(-es)不同,如果不是这样,所有三个或更多必须dig 。 DHCP可能会给用户多个DNS-es,他们可能对logging(caching)有不同的意见。

在Unix和Windows上,您都可以创buildcron作业 / 计划任务 ,每分钟将dig结果logging到某个日志文件,然后通过grep来收集一些难以捕捉的exception情况。 (这有助于certificate我们的服务器确实有时无法在本地networking上相互ping通!)