这是一个与流程和最小化停机时间有关的问题。我有一个为多个域提供服务的 Ubuntu/Bind 配置。
名称服务器通过 123reg 设置为使用 example1.uk,并且所有域都指向该域的 ns1 和 ns2。
我想删除该域名并使用 example2.uk(example2 当前使用 example1 作为其名称服务器!)
实现这一目标的最佳流程是什么?
答案1
请注意,为了获得最佳性能,不建议同时使用旧设置和新设置。example3.uk 最好使用 ns1.example3.uk(同一域),因为粘合记录会使解析速度略快一些。
然而,这个答案正是针对您所问的。
首先测试新服务器是否能正确解析:
dig example3.uk @ns1.example2.uk # from the Internet *and* from your office; all domains along example3.uk
其次将区域文件更改为:
example3.uk IN NS ns1.example1.uk # old
example3.uk IN NS ns2.example1.uk # old
example3.uk IN NS ns1.example2.uk # new
example3.uk IN NS ns2.example2.uk # new
对所有区域文件 example2-example9 重复此操作。
检查所有绑定守护进程是否服务于更新的区域。
现在更改所有域的委托(不是你的区域文件(通常可通过某些注册商的网络面板获取的 123reg 管理的条目),将所有 NS *.example1.uk 替换为 *.example2.uk。
现在,您可以再次更改区域文件以从 NS 中删除 *.example1.uk,这次也从 SOA 中删除:
example3.uk IN SOA ns1.example2.uk ..... # change the SOA too
example3.uk IN NS ns1.example2.uk
example3.uk IN NS ns2.example2.uk
现在,您可能想在注册商面板上将自己从 example1.uk 的委托中移除。在 TTL 过去后(可能甚至 1 周!),您可以停止为 example1.uk 区域提供服务。