缘起
我厂原来的权威 DNS 服务器放在阿里云上的(三个完全不同的节点每个节点一台),但现在这几个节点要撤了,所以这些个权威 DNS 服务器必须要要迁往别处了。
技术背景
DNS架构
DNS 的结构管理就像一个倒着的大树,上一级的权威服务器上可以把自己下一级的管理权通过 DNS 纪录里的 NS 纪录(NS 这里是 nameserver 的意思)指派给别的服务器(这个服务器就叫做“权威服务器”)
glue record
由于往往会把类似于 xxx.com 这种域的 NS 纪录指向 ns1.xxx.com、ns2.xxx.com 这种纪录,而这种纪录最终指向的 IP 地址,又是需要通过 ns1.xxx.com、ns2.xxx.com 这两台机器来解析,这样就陷入了死循环,为了避免这种问题的发生,.com 和 .net 域出了一种新的策略:所以成为 NS 纪录的域名(类似上面例子中的 ns1.xxx.com 和 ns2.xxx.com),必须先要注册到 Verisign 的库里,也就是说,需要先能在 Verisign 的这里 (点“Name Server”再输入查询)查的到的域名,才能作为某个域的 NS 纪录。Verisign 这个库里的这些纪录,就叫做“glue record”。
至于怎么修改 glue record 或者注册新的 glue record,理论上来讲,需要通过你自己域名的 registrar 的系统。
问题又来了,谁是你的域名的 registrar 呢?一般来讲,如果你没迁移过域名托管的话,那么你在哪里注册的域名,你的 registrar 就是谁,比如 GoDaddy。
这里顺便鄙视一下国内很多 registrar:维护 glue record 需要先续费 5 年,掉钱眼儿里去了吧!
实施步骤
情况说明
- 我司使用的域有好多,但 NS 纪录都是指向的 ns1.xa.com、ns2.xa.com 和 ns3.xa.com。
- 由于 xa.com 这个域名的 registrar 在国内,需要续费 5 年才能使用 glue record 功能,所以果断另外启用 registrar 在国外的另外一个域名 xb.com 来做 glue record:ns1.xb.com、ns2.xb.com 和 ns3.xb.com。最后 NS 纪录也会用这三个域名
具体步骤
原理弄明白了,做起来就要简单有条理很多:
- 首先是先部署好新的 DNS 服务器(三台),并将域名:ns1.xb.com、ns2.xb.com 和 ns3.xb.com 分别指向新的 DNS 服务器
- 修改我司域所有 6 台权威服务器的 NS 纪录,加入三条:ns1.xb.com、ns2.xb.com 和 ns3.xb.com;同时在域 xb.com 的 registrar 的系统里加上新的 glue record:ns1.xb.com、ns2.xb.com 和 ns3.xb.com
- 等 DNS 解析记录收敛的差不多(客户端查 NS 纪录能出所有老的和新的 6 台 DNS 服务器);这时,在 Verisign 的库里 (点“Name Server”再输入查询)能查询到 ns1.xb.com、ns2.xb.com 和 ns3.xb.com 了
- 在 registrar (上级)的系统里修改我司域的 NameServer 由 ns1.xa.com、ns2.xa.com 和 ns3.xa.com 到 ns1.xb.com、ns2.xb.com 和 ns3.xb.com
- 等上级(registrar)里关于我司域的 NameServer 的纪录改为 ns1.xb.com、ns2.xb.com 和 ns3.xb.com 之后
- 修改我司域所有 6 台权威服务器上的 NS 纪录,删除掉 ns1.xa.com、ns2.xa.com 和 ns3.xa.com 三台,留下 ns1.xb.com、ns2.xb.com 和 ns3.xb.com 三台
- 在三台老 DNS 服务器的 query log,发现差不多没有请求过来以后,把服务停掉即可。
常见问题
- 千万不能直接在权威服务器上修改 ns1.xa.com、ns2.xa.com 和 ns3.xa.com 指向新 DNS 服务器
网友评论