域使一个安全边界,在有些情况下,我们需要越过这个边界,那么这个时候,我们就需要使用域信任了。
举个例子,有两个域,nswl.local和xuelan.local这两个域,如果当nswl.local域的用户需要访问xuelan.local域中的资源,或xualan.local域中账户需要在nswl.local的域中进行账户验证,那么,你可以通过在两个域之间设置信任来实现;
信任可以分为单向信任和双向信任,单向信任就是A信任B,而B不信任A;双向信任则是,A信任B,B也信任A;同时域的信任也是可传递的,如,A信任B,B信任C,那么A也信任C;信任也分林信任和外部信任,这两者的区别在于,林信任可以被传递到林中的所有域,而外部信任则不会传递。设置了域信任关系会不会影响安全?信任关系不会影响安全,只是允许对方访问,至于访问权限,仍然需要管理员授权;这也是为什么我们应该避免在资源上给每个人(everyone)允许权限,因为一旦建立信任,那么受信任的域中的每个人都将能够访问这些资源。
林功能级别是Windows Server 2003
实验架构:
两个域之间创建信任很简单,麻烦的是怎么才能让两个域都能互相解析到,方法有很多种,比如,创建辅助区域、创建反向查找区域等等,我这里使用的是创建辅助区域:
1、在nswl.local的这台域控制器上面,打开DNS管理器,右击选择“属性”,选择“区域传送”对话框,勾选“允许区域传送”并选择“只允许到下列服务器”,然后选择“编辑”并添加xuelan.local这台域控制器的DNS地址;然后选择“确定”;
2、在xuelan.local这个域中,打开DNS管理器,右击“正想查找区域”并选择“新建区域”;
3、打开“欢迎使用新建区域向导”窗口,并选择“下一步”;
4、在区域类型页面,选择“辅助区域”并选择“下一步”;
5、输入区域名称(我们这里需要的是复制nswl.local的DNS区域,所以这里输入的是nswl.local。),然后选择“下一步”;
6、输入前面输入的区域名称所在的服务器的IP地址,并选择“添加”,然后选择“下一步”;
7、创建成功后,选择“完成”;
8、此时打开DNS管理器会发现多了一个nswl.local区域;
使用同样的方法,在xuelan.local这个域的DNS服务器管理里面开启区域传送,并将nswl.local这个域的DNS服务器添加到允许列表中,然后再nswl.local这个域的DNS服务器管理中新建辅助区域。
创建完成后可以通过“nslookup”看能否互相解析到;
如果有问题,可以先尝试:
Ipconfig /flushdns 清除DNS缓存
ipconfig /registerdns 刷新所有dhcp租约,并重新注册DNS名称
Net stop netlogon 停止netlogon
Net start netlogon 启动netlogon
创建好辅助区域后,下面就应该创建信任了:
1、打开“Active Directory 域和信任关系”右击域名,选择“属性”;
2、选择“信任”对话框,并选择“新建信任”;
3、打开“新建域信任向导”,选择“下一步”;
4、输入加入信任域的名称,然后选择“下一步”;
5、在“信任类型”选择“外部信任”(这种信任是不可传递的。),然后选择“下一步”;
6、在信任方向选择“双向”,然后选择“下一步”;
7、在信任方选择“此域和指定的域”;然后选择“下一步”;
8、输入xuelan.local域的管理员账户密码,然后选择“下一步”;
9、在传出信任身份验证级别窗口选择“全域身份验证”(一般情况下,我们都会选择“全局性身份验证”;但如果有不同的需求可以选择下面一个“选择性身份验证”,每个选项都有相关说明,这里我就不说了。),然后选择“下一步”;
10、选择传出新任身份验证级别,一般选择“全局性身份验证”,即所有用户;如果选择“选择性身份验证”则需要事后手动选择用户;然后选择“下一步”;
11、在“选择信任完毕”窗口选择“下一步”;
12、在“信任创建完毕”窗口,选择“下一步”;
13、在“确认传出信任”窗口,选择“是,确认传出信任”并选择“下一步”;
14、在“确认传入信任”窗口,选择“是,确认传入信任”并选择“下一步”;
15、在“正在完成新建信任向导”窗口,选择“完成”;
16、在弹出“Active Directory 域服务”选择“确定”;
17、此时,在信任属性窗口中,可以看到,相关域之间的属性;
18、到另一个域中打开域信任属性窗口,同样也可以看到两个域之间的信任。