将网站移动到新服务器,但 DNS 解析为旧服务器的 IP 地址



在我开始之前,请注意我是一个新手,仍在学习。

昨天 10 小时后,我不得不将所有托管网站移动到新服务器(更具体地说 - 从一个液滴移动到一个新的液滴)。因此,由于网站已移至新服务器,这意味着它们的IP地址也会更改。因此,我更新了所有网站的dns配置,以现在指向新的 IP 地址。但我不知道以前的 dns 配置已将 ttl 设置为86400(1 天)。在谷歌上搜索为什么我的网站仍然会解析到旧服务器后,我了解到这个概念。

所以,这基本上意味着旧的dns配置被缓存了1天,我必须等待那么长时间才能看到域名解析的变化,以反映新服务器的网站。

因此,我尝试在域上执行nslookupdig命令以仅检查剩余的 ttl。但是,这就是我现在不高兴的地方。

带有-debug参数的nslookup命令给出了以下结果:

请注意:- 我已将我网站的域名替换为 (mywebsite.com),并将新服务器的 IP 地址替换为实际 nslookup 结果中的 (new.server.ip.address)

nslookup -debug mywebsite.com new.server.ip.address

------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = REFUSED
header flags:  response, want recursion
questions = 1,  answers = 0,  authority records = 0,  additional = 0
QUESTIONS:
address.ip.server.new.in-addr.arpa, type = PTR, class = IN
------------
Server:  UnKnown
Address:  new.server.ip.address
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags:  response, auth. answer, want recursion
questions = 1,  answers = 1,  authority records = 2,  additional = 2
QUESTIONS:
mywebsite.com, type = A, class = IN
ANSWERS:
->  mywebsite.com
internet address = new.server.ip.address
ttl = 14400 (4 hours)
AUTHORITY RECORDS:
->  mywebsite.com
nameserver = ns2.centos-webpanel.com
ttl = 86400 (1 day)
->  mywebsite.com
nameserver = ns1.centos-webpanel.com
ttl = 86400 (1 day)
ADDITIONAL RECORDS:
->  ns1.centos-webpanel.com
internet address = 127.0.0.1
ttl = 14400 (4 hours)
->  ns2.centos-webpanel.com
internet address = 127.0.0.1
ttl = 14400 (4 hours)
------------
------------
Got answer:
HEADER:
opcode = QUERY, id = 3, rcode = NOERROR
header flags:  response, auth. answer, want recursion
questions = 1,  answers = 0,  authority records = 1,  additional = 0
QUESTIONS:
mywebsite.com, type = AAAA, class = IN
AUTHORITY RECORDS:
->  mywebsite.com
ttl = 86400 (1 day)
primary name server = ns1.centos-webpanel.com
responsible mail addr = myemail@gmail.com
serial  = 2013071601
refresh = 86400 (1 day)
retry   = 7200 (2 hours)
expire  = 3600000 (41 days 16 hours)
default TTL = 86400 (1 day)
------------
Name:    mywebsite.com
Address:  new.server.ip.address

现在,这就是让我心烦意乱的地方。如上述结果所示,ttl(即使在更改 dns 配置后的 10 小时后)显示 86400。我期待它显示剩余的 ttl,但 ttl 恒定在 86400。这是否意味着我的网站的dns永远不会更新?ttl 只是不会减少。

因此,为了进一步验证,我尝试使用linux的dig command,这是我得到的结果。

请注意:- 我已将我网站的域名替换为 (mywebsite.com),并将旧服务器的 IP 地址替换为实际挖掘结果中的 (old.server.ip.address)

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> mywebsite.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15423
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;mywebsite.com.         IN  A
;; ANSWER SECTION:
mywebsite.com.      83221   IN  A   old.server.ip.address
;; Query time: 0 msec
;; SERVER: 67.207.67.2#53(67.207.67.2)
;; WHEN: Mon Feb  5 01:55:05 2018
;; MSG SIZE  rcvd: 44

现在在这里,dig 命令将域解析为我的旧服务器的 IP 地址,并将 ttl 显示为 83221 !!就像我说的,我更新了 dns 配置以指向新服务器的 IP 地址,这需要10 多个小时。但是,即使在 10 小时过去后,ttl 仍显示 83221 !!!

再次运行 dig 命令确实反映了此处ttl的减少,这与nslookup命令不同。

那么,你们认为这里一直在发生的问题是什么?还是我误解了什么??如果是这样,请纠正我。任何形式的帮助都会严重帮助很多。如果有人可以解释这里发生了什么以及出了什么问题,或者我的新服务器出了问题,那真的会对我有所帮助。

如果它有帮助,我已经将网站的文件保存在旧服务器和新服务器上。

谢谢。

编辑:- (已解决)

因此,这就是解决我面临的所有问题的方法。我在我的服务器上使用 centos 网页面板,它与 freedns 管理器捆绑在一起。因此,freedns 中的一个错误使我的域名服务器和域的 dns 无法更新。因此,我选择了cloudflare dns,并解决了所有问题。

您的域配置不正确,请使用在线诊断工具(如 dnsviz.net),请参阅报告:http://dnsviz.net/d/mkinfra.in/dnssec/

你处于一个蹩脚的代表团情况。

如果我们查询您域.IN权威名称服务器,他们会回复:

mkinfra.in.     86400   IN  NS  ns1.centos-webpanel.com.
mkinfra.in.     86400   IN  NS  ns2.centos-webpanel.com.
mkinfra.in.     86400   IN  NS  ns3.centos-webpanel.com.
mkinfra.in.     86400   IN  NS  ns4.centos-webpanel.com.
mkinfra.in.     86400   IN  NS  ns5.centos-webpanel.com.

如果我们为您的域名查询这 5 个域名服务器中的任何一个,他们会回复:

mkinfra.in.     86400   IN  NS  ns1.centos-webpanel.com.
mkinfra.in.     86400   IN  NS  ns2.centos-webpanel.com.

这不是同一组记录。您首先需要解决此差异。

对于您的网站,他们的回复都相同:

www.mkinfra.in.     86400   IN  CNAME   mkinfra.in.
mkinfra.in.         86400   IN  A   139.59.63.210

所以他们都会回复你的旧IP,而不是新IP。您的问题与 TTL 无关:您域的权威名称服务器仍然没有提供您想要的新 IP 地址,因此您必须正确配置它们。如果您自己做,请记住更新区域的序列号以进行任何更改。

该系列实际上是遵循模式 YYYYYMMDDXX 的2018012401,因此我们可以推断该区域在 1 月 24 日发生了变化,但从那时起就没有更改过(或者已更改但序列号未更新,因此根本不考虑新内容)。

并回答您的另一个问题:如果您查询权威名称服务器,您将始终获得相同的TTL,这是每个设计。只有当您查询解析和缓存名称服务器时,您才会看到 TTL 从一个查询减少到另一个查询,因为案例正在慢慢忘记它过去解析的数据。永远不要使用nslookup,但总是dig但始终指定您在要求人们检查您正在做什么时使用的命令(使用@参数指定您查询的名称服务器非常重要dig因为结果将与权威或递归名称服务器大不相同)。

相关内容

  • 没有找到相关文章

最新更新