1、首先搭建主DC(主DC和从DC我们都用Server 2012来搭建,2008也OK,只要Forest和Domain的功能级别选对应的就行):先在Server Manager中选择Add Roles and Features,安装ActiveDirectory Domain Services和DNS Server(弹出的选项都保持默认即可):
2、后面的选项保持默认即可。安装完成后,在上面通知的地方找到安装成功的通知,在上面会有一个“Promote this server to a domain controller”:
3、对于主DC我们选择下面的选项创建一个新的Forest:
4、接着我们选择Forest和Domain的功能级别,如果希望2008的系统也可以加入域的话,就可以把级别调低一些:
5、后面的选项都保持默认就可以了,最后点击Install:
6、搭建好主DC后,我们再搭建一台从DC,从DC也是要安装ADDS和DNS服务(与主DC的过程完全相同),完成后,在“Promotethis server to a domain controller”的过程中有一点不一样,我们选择“Add a domain controller to an existing domain”:
7、在Domain这填上“daniel.com”,也就是我们前面创建的Forest下的domain。点击Select后需要我们使用域管理员认证。完成后点击下一步,后面的步骤保持默认选项完成即可。做完之后,我们在DNS的域名上面选择右键菜单中的属性:
8、确认一下Dynamic updates选项选择的是“Secure only”:
9、然后我们找第三台机器,将第三台机器加入域中,然后查看主DNS和从DNS上面的记录,可以看到DNS记录自动加到DNS记录中:
10、接着修改第三台机器的内网IP,然后使用ipconfig /registerdns手动注册一下DNS记录:
11、查看DNS上面的记录已经更新:
12、在实际操作过程中,客户环境中遇到一个问题,加入域的一台机器,在修改了机器的内网IP后,机器的DNS并没有在DNS服务器上更新成功。通过在两个DC上抓包可以看到,DNS记录的同步顺序是,客户端首先会与自己的首选DNS服务器同步,通过UDP的53端口进行通信,如果UDP的53不通,会使用TCP的53端口通信,然后首选DNS服务器所在的DC会利用LDAP协议与其他DC同步记录。根据上面的判断,检查了虚拟机防火墙规则以及网络中的安全规则,发现53端口并没有被屏蔽,所以排除网络原因。进一步对比抓包看到正常更新主机DNS记录的交互过程如下:
13、更新请求会经过2次申请,第一次DNS服务器会Refuse掉,然后客户端会发送一个Query请求,进行认证:
14、认证完成后,会带着认证得到的Record再次进行更新。而客户环境中的过程是:
15、可以看到两次都失败了。在客户端上面查看Windows System Events中,找到下面的报错信息:
16、进一步查看客户的DNS服务器的记录的Security中有一个未知用户(Account Uknown):
17、查看客户端这台机器,发现这台机器的本地管理员被Disable了。对比正常的环境发现,这条记录其实是需要客户端本地管理员的Full control权限的,而这里之所以显示未知账户,是因为本地管理员Disable之后,加入域的时候识别不到这个用户了。因为缺少了这个权限,导致更新的时候被DNS服务器refuse掉。手动添加客户端机器的本地管理员用户的权限后,再次手动同步后问题解决。