bik*_*y77 7 domain-name-system migration dns-zone
我正计划将大量网站(大约 100 个)迁移到新服务器,并且我正在迁移计划过程中。
每个网站的典型 DNS 区域有两个 A 记录指向 Web 服务器 IP,一个用于子域example.com
,一个用于www
子域。
当我们都设置好并准备好将新服务器投入生产时,更改 100x2 DNS 记录将非常耗时,因此我正在寻找一种方法来加快速度。在几个案例中,我阅读了有关创建 bash 脚本的内容,该脚本迭代 DNS 记录并使用新 IP 执行查找替换。在其他主题中,我阅读了有关使用新 IP 添加 A 记录的建议,以便当当前服务器不再可用时,DNS 服务器会将请求指向包含新 IP 的下一条记录。
除此之外,是否有任何情况可以用其他类型的 DNS 条目(即主机名)替换 A 记录,以便在时机成熟时,我只能使用新的主机名更改主机名的 IP 并拥有所有网站指向新服务器?我确定“主机名”不是正确的术语,但我希望你们都明白。
Jen*_*y D 12
您正在寻找的术语是CNAME,您的问题的答案是是和否。
首先,这是一个 CNAME 如何在区域文件中工作的示例。
example.se IN SOA ns1.example.se. hostmaster.example.se. (
[....]
)
server1 A 10.1.2.3
www CNAME server1
Run Code Online (Sandbox Code Playgroud)
现在你只需要更新server1
,以移动这两个纪录server1
,并www
以新的IP地址。
CNAME 不必指向同一域内的地址;它也可以是这样的:
example.se IN SOA ns1.example.se. hostmaster.example.se. (
[....]
)
www CNAME server1.example.org.
Run Code Online (Sandbox Code Playgroud)
现在,当您更新server1
zone 中的 A 记录时example.org
,该记录www.example.se
将跟随而无需任何进一步配置。
从您的角度来看,不好的部分是这不适用于顶级记录 - 这意味着“裸”域。换句话说,您可以制作www.example.com
CNAME,但不能使用example.com
. 这是因为当您使用 CNAME 记录时,您不能拥有该条目的任何其他记录 - 这意味着您不能拥有邮件服务器记录或名称服务器记录......这意味着域将停止工作。
最佳实践解决方案是使用某种配置管理软件,例如 puppet、chef 或 ansible,从模板生成区域文件。如果出于某种原因,这对您来说是不可能的,那么我会使用脚本来替换所有文件中的 IP 地址。
您还需要在迁移前适时降低域的 TTL 值。(而且别忘了更新区域文件的序列号——我有,而且很尴尬……)
归档时间: |
|
查看次数: |
1210 次 |
最近记录: |