我正在迁移托管提供商。目前,我有大量域名指向我当前的 NS 服务器。我的新提供商有自己的 NS 服务器,我需要更新我的所有托管域名,以便它们指向新服务器。
由于使用新的 NS 记录更新几百个域名需要很长时间,我想知道是否可以使用 CNAMES 将我当前的 NS 记录指向新的主机 NS?
IE
ns1.myns.com => CNAME => ns1.newns.com
ns2.myns.com => CNAME => ns2.newns.com
所有当前指向 ns1.myns.com 的域名实际上都会指向 ns1.newns.com,其中 DNS 记录已被镜像并正确指向新服务器 IP。
这有道理吗?这会起作用吗?
答案1
不要这样做。如果您有权访问 nsX.myns.com 的 DNS 记录,则将 A 记录更改为指向 nsX.newns.com 的 A 记录。这就是它的工作设计方式。
答案2
如果可能的话那就太好了,但它只对某些客户端有效,而对其他客户端则失败。
问题是,cname 右侧的名称服务器会认为其名称正在被使用(委托),因为委托的名称服务器使用指向其名称服务器的 cname。如果您使用 IP(或子域/子名称服务器),其名称服务器将检查其名称,并且看不到对其名称服务器的任何委托(即使其 IP 正在使用),并且可能会使域脱机。(见过该问题)
令人难过的是,ns 记录中 cnames 并非 100% 支持,但一些 dns 客户端期望立即得到可解析的答案,因此在 cnames 上失败(非常糟糕的编程)。
有时我觉得那些 BIND 程序员应该被枪毙,因为破坏 BIND 服务器和伪造结果真的很容易,而且他们编写的程序看起来并不合逻辑。