首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNS解析问题

DNS解析问题
EN

Server Fault用户
提问于 2014-03-31 14:30:45
回答 4查看 2.1K关注 0票数 0

最近,我通过将一个网站的A记录更改为其新服务器的IP地址,将其移动到一个新服务器。

在4小时内,我们网络上的所有机器都正确地解决了问题,在24小时内,每个名称服务器dig / cachecheck.opendns.com / etc都找到了正确的IP。

然而,客户端的机器似乎是世界上唯一仍能解决旧IP问题的机器。

这是72小时,他已经刷新了他的DNS,他不能改变他的DNS解析器,因为他说这会引起其他问题。

目前,我创建了一个将IP重写为URL的配置,并创建了一个php header指令,该指令通过新IP将旧站点重定向到新站点(我一直在祈祷它不会导致重定向循环)。

我能找到的每一个同名服务器到底是如何为这个网站提供正确的IP地址的,而客户端的机器却还在使用旧的?

我也有:

nslookup [the-domain] [all-three.nameservers.com]没有效果;它们都显示了正确的IP。

我是否可以在旧服务器上设置一些指令,上面写着“对不起,伙计,错误的IP”-?或者我还能做些什么,因为我们不能复制这个--?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2014-03-31 15:36:07

DNS响应可以缓存TTL时间。每个DNS服务器和缓存客户端都应该在TTL秒之后忘记所有关于旧IP的内容,因为您已经更改了上一次权威服务器上的记录。

如果您的旧记录的TTL尚未通过,那么客户仍然可以看到旧的IP。这很可能发生在您的客户端,因为他们经常使用您的DNS记录和缓存它。

如果您的旧TTL已经通过,那么您和您的客户端之间就会有一些buggy (这在客户端并不完全必要)。不幸的是,在您的端没有固定的方法(除了可能使用原始ip地址或新的DNS名称)。

我将按以下顺序检查:

  • 检查域的权威服务器列表(键入NS表示区域)
  • 检查每个权威服务器是否确实返回新地址。
  • 确保TTL没有更改或找到旧的TTL (即从旧区域的备份)。

如果所有这些都表明你的记录到处都是新鲜的,而TTL自上一次改变以来就已经过去了,那么你的球队似乎还不错。

  • 请客户端使用dig或其他报告记录TTL的工具解析您的名称(不确定是否可以使用nslookup完成此操作),并检查此TTL是否足够。自上一次缓存记录更新以来,cacher报告的TTL (至少应该是)减少了,因此您将看到几个请求之间的时间减少了。如果没有-有错误的或配置错误的DNS。
票数 5
EN

Server Fault用户

发布于 2014-03-31 14:44:55

听起来问题完全在客户那一边。尽管你想以任何可能的方式帮助他们是高尚的,但如果他们不愿意看到问题在他们的头上,你就无能为力了。

让他们在他们的终端测试nslookup,并验证其解析为旧IP。

然后让他们做同样的nslookup测试,但使用:

  1. nslookup
  2. server 8.8.8.8 (这将临时更改它们的DNS解析器,以便在命令期间进行测试)
  3. www.domain.com

它应该在这一点上显示出正确的知识产权。如果还没有.问题就在你头上。如果它确实显示了正确的IP,那么问题就在您的客户端,您可以将它们指向他们的DNS服务器,看看他们是否可能在DNS服务器上为网站设置手动条目,或者仍然在缓存旧IP。

票数 4
EN

Server Fault用户

发布于 2014-03-31 19:59:41

当然,客户端计算机中的主机文件中没有您的域的数据,是吗?

一段时间前,我被一个DNS缓存卡住了,没有遵守TTL --如果您的客户端正在使用其中的一些缓存,那么可能需要重新启动它们。

希望这能帮上忙。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/585652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档