帮你成功实现域控制器网络迁移的七个小贴士
活动目录域控制器(Active Directory domain controllers)应该是服务器上最不应该发生变化的服务了。它一般被用于协助域去验证用户和设备,因此一旦设置完成,最好是保持不变,特别是在涉及到其对应的主机名或网络详细信息的时候。
虽然业界曾流传过一句没脑子的断言:对于域控制器的重命名几乎是永远不会发生的事情。但实际上,在企业的运营过程中,您迟早会碰到这一天的到来,而且您必须对网络的设置做出相应的调整。比如说:在一家公司发生并购的时候,也许其相应的子网也要发生重组、甚至被淘汰;而与此同时,新的子网会被引入,或者由于一些其他的因素,各个域控制器也要得到加固。
如果您已经设置了冗余的域控制器(就像任何经验丰富的IT专业人士所常做的那样),那么将一个子网移至他处,相对来说还是比较容易的。而当两个子网同时被移动,并导致各个客户端计算机继续根据它们以往IP地址去寻找域控制器,却又无法找到的时候,痛点就可能会出现了。因此我并不建议这么做,因为它可能会导致各种连接上的问题,甚至会引起中断。但是如果您必须这样做的话,下面给您提供一条值得谨慎借鉴的“道路”。
这里会罗列出成功实现域控制器网络迁移的七个小贴士。
1. 检查并建立您的防火墙规则
防火墙规则,尤其是在复杂的环境中,很可能会造成巨大的麻烦。因此您需要确保子网之间所必需的流量,能够适用于在客户端和域控制器之间、各个域控制器之间所可能进行的通信。
所以无论您是要建立新的访问规则、还是简单地扩展您的已有规则,防火墙的设置都是非常关键。否则,您会发现在这些流量与域控制器企图进行“对话”的时候,系统会出现一些非常奇怪的行为和现象。
请至少保证如下的端口处于开启状态:
微软还指出:“在一个拥有基于Windows Server®2003域控制器的环境中,其默认的动态端口范围是从1025到5000。而根据互联网数字分配机构(Internet Assigned Numbers Authority,IANA)的建议,Windows Server 2008 R2和Windows Server 2008增加了动态端口连接的范围。新的默认区间是从端口49152到65535。”
这是一个较宽的范围,甚至超出了您的真实所需。因此,请检查上述微软设定的链接,以确保访问连接能够到位。
2. 在AD上配置站点和子网
如果您要对域控制器所处的子网进行实质性的变更的话,请认真遵循如下的步骤(当然,如果您只是想改变IP地址,而将其保持在原有的网络环境中的话,则可以忽略此步骤)。
活动目录使用既定的网站和子网来进行通讯、复制和其他后台操作性的任务。
因此,设置好活动目录相应的子网,对于确保域环境能够持续健康地运行是至关重要的。您最好按需来添加子网,并仔细复查各种和域环境有关的配置。同时,请不要提前移除任何即将“退役”的子网(如尚能使用的话),直到它们确实已被弃用。
3. 重点考虑DNS
DNS记录是确保客户端能够持续与它们的域控制器进行顺畅通信的重要条件之一。如果您使用的是动态DNS,那么只要您变更了域控制器的IP地址,那么其DNS记录也会做相应的更新;但是如果您使用的是静态记录的话,那么就需要在割接之后手动调整了(无论是哪一种方式,您都应该确认其对应记录的准确到位)。同时一定要检查与这些主机相关联的任何其他的静态记录,当然也包括正向和反向的DNS区域。
如果您的域控制器同时也为一些备用服务器提供DNS信息的话,您需要考虑的就不仅仅是活动目录的DNS记录那么简单了,您需要检查各种相关的设置,以发现更多需要更新的内容。
4. 检查主机(host)文件
虽然从表面上看,如今管理和使用DNS已经非常容易了,而再去担心主机文件的更新会略显多余。但是不管您是否相信,主机文件仍然被业界所频繁地使用着,特别是在一些生产环境中,或者是在DNS出现故障而导致域名解析困难的时候。
如果您在迁移的过程中涉及到几十、甚至上百个系统的话,逐一检查每台机器的主机文件将会是一个非常繁琐的过程。您可以使用一个简单的Windows批处理文件来实现(注意:您必须对各个目标系统拥有管理员的权限。在本例中,Windows文件夹被安装在C盘上,并以C$的形式被默认共享)。
- 创建一个名为c:\results的文件夹。
- 创建一个包含所有目标主机名的文本文件,然后将其保存到c:\results\computers.txt中用作检查。
- 创建一个文本文件,并包含如下一行内容:
FOR /F "tokens=1" %%i in (computers.txt) do xcopy \\%%i\c$\windows\system32\drivers\etc\hosts c:\results\%%i.txt将文件保存为c:\results\hostck.bat 运行c:\results\hostck.bat。
该文件的运行会去访问每个目标系统的主机文件,然后将其复制到c:\results文件夹,并以相应的计算机名来命名其文件。
然后根据您的修改,在c:\results文件夹里搜索相关的IP地址。您也可以按需在目标系统上进行同样的操作。显然,这样做有些繁琐,您可能要等到实际的变化发生之后才会去逐步操作。因此,我们在此也提供一个简单更新主机文件的方法:您可以创建一个批处理文件,命名为:c:\results\hostupdt.bat,其内容如下:
FOR /F "tokens=1" %%i in (computers.txt) do xcopy c:\results\%%i.txt \\%%i\c$\windows\system32\drivers\etc\hosts /y
5. 配置管理软件
诸如Puppet或Chef这样的配置管理软件,能够捕获域控制器的IP地址,以及子网物理连接,甚至能够生成各种主机文件。不过,配置管理客户端有时也会根据统一性将您的一些主机文件的改变自动更正回来,因此请记得手动检索一下您的域控制器的当前IP地址。
6. 确保虚拟机相关网络(如果适用)的存在与可用
如果您是在虚拟机上将一个域控制器迁移到另一个子网的话,请确保在虚拟环境中已经搭建了该子网,并且能够被虚拟机的管理程序所发现和调用。
当然,如果各个虚拟机的客户端只是与域控制器进行简单通信的话(记得要在第1步的防火墙规则中允许此类通信),您也不一定需要将该子网添加到虚拟环境中。不过,如果您打算让客户端与域控制器直接通信,而不必通过防火墙规则做检查的话,还是值得去考虑加入到虚拟环境中的。
7. 制定和执行您的计划
至此,各种设置已经准备到位,您可以开始制定并执行您迁移的计划了。您应当提前向用户告知迁移时间,当然最好是放在非工作时间进行,从而把影响降到最小。
请确保在新的网络设置环境中,一次只更新一台服务器。如有需要可以进行诸如修改配置软件、部署主机文件、或更新DNS记录等实时的调整。
如果可能,请在转换过程中实时监控网络流量,以确保各个客户端能够与新的环境中的服务器持续通信。您可以尝试着去ping它们,或是运行NSLOOKUP命令,也可以通过在Windows资源管理器中访问域控服务器,以确认您能查看到SYSVOL和NETLOGON的共享。您甚至可以通过关停其他的域控制器,来确认自己可以顺利登录到域中,并能访问到活动目录的资源。
一旦您完成了所有域控制器的切换,请确认原来与域控服务器交互协作的其他系统,如备用DNS服务器仍能照常互动。比如说您可以确认它们是否能以正常的方式从域控服务器上拉取各种区域文件(zone file)。