当前环境:两台 Windows Server 2003 服务器,未加入我们的域(这些服务器用于处理我们的外部 DNS 请求)。
方案:立起Windows Server 2012 R2服务器,不加入我们的域。提供 IP 并在服务器上安装 DNS 角色。将服务器标记为我们的主 DNS 服务器(即 Windows Server 2003)的从属服务器。复制完成后,将 2012 R2 DNS 服务器标记为主服务器。在2012 R2平台搭建二级DNS服务器,作为slave加入2012 R2 master。然后停用 2003 DNS 服务器。
我的问题是,这个计划有什么“陷阱”或问题吗?2003服务器和2012 R2服务器会不会有兼容性问题?我们的计划可行吗?我一直在四处寻找,但没有从 Microsoft 或他们的合作伙伴那里找到任何关于这样做的信息。
我以前也复制过这种方法。这只是一个区域转移,真的。
作为迁移到新的 2008 DC 的一部分,我不得不这样做,以准备提高功能级别和更换旧硬件。我在 2003 年遇到的问题是广告集成的 DNS 不能很好地运行。可能只是因为这个域是从 NT 4.0 -> win2k -> win2k3 然后升级到 win2k8。只有 2k12 个成员服务器……话虽如此:
https://support.microsoft.com/en-us/kb/323383
https://technet.microsoft.com/en-us/library/cc739904(v=ws.10).aspx
我遇到的最大问题是内部服务器具有 DHCP 地址但手动配置了 DNS 服务器(我知道这没有意义)。我的建议是让旧服务器保持运行状态,并在停用旧服务器之前更改您的外部 NS 记录以指向新服务器(外部 DNS 仍应接受 SOA 用于辅助服务器)。这将使您在外部 DNS 区域传播期间保持活力。它还可以让您以更少的痛苦回滚。
编辑:
请注意以下仅传输 A 记录,没有其他记录,因此您仍然需要手动输入剩余的记录。
我从未做过上述事情,但另一种选择是:
可以在 2003 服务器上导出 DNS 条目。您应该有一个类似于下面的文本文件。
将文件放入 XLS 并将 Host & (A) 转换为列,这样您就只剩下了。
用户-PC 10.24.2.48
文件服务器 10.25.2.49
然后,您可以使用
for & dnscmd
将条目导入您的服务器 2012。下面是 dnscmd 语法,下面是一个示例,它将使用您创建的 .txt 作为输入多次运行该命令。它将用主机名替换 %i ,用 IP 地址替换 %j。DNScmd 语法:
我们在 2003 域服务器环境中将我们的 DNS 服务器升级为从属服务器。我知道您提到过不在域环境中,但只要您拥有主 DNS 服务器的访问/管理权限,我认为这不会是一个问题。为新的 2012 服务器配置 DNS 角色后,您将在某个阶段获得从主 DNS 服务器复制的选项。正如 stuart 所提到的,它主要是区域传输,不应该导致任何问题同时运行,但理想情况下您希望降级/停止使用 2003 服务器。
@Ankh2054 - 很好的答案!确保您明确说明您仅使用脚本传输 A 记录。(我很抱歉没有直接评论,我还不能评论帖子)
在使用 AD 的内部环境中的 Windows 中,您通常拥有由 AD 创建的 SRV 记录,MX 记录是司空见惯的。NS 记录也相当大,即使在内部使用 DHCP 提供的 NS IP 也是如此。为方便起见,不要忘记反向区域(PTR 记录),如果没有用于完整性检查的外部 PTR,一些邮件服务器会抱怨。
原始海报没有说明他们是否使用 SPF、Google Apps 或其他一些通常需要添加带有指纹、验证密钥或类似内容的 TXT 记录的联合服务。外部 CNAME 记录很常见,并且是提供手动故障转移到备份服务器并将服务与运行它们的 IP 隔离的能力的好方法。
不过,您的脚本是一个非常优雅的解决方案。我使用了一些接近(但不那么干净)的东西来批量添加丢失的 PTR 记录。