【IT168 专稿】在Windows Server 2008 R2中,微软增加了1000多个Windows Server 2008 R2和Windows 7特有的组策略对象及多个新组件,用来扩充Windows 活动目录组策略管理的核心能力。但组策略的基本功能没有变化,但具有更多的选项和设置。下面的一例事件是我在日常工作中遇到的Windows 2003和Windows 2008域控制器共存时出现的问题。
事情的起因是这样的:
公司需要将现有Windows Server 2003域环境切换到Windows Server 2008域环境,遂需要进行域升级,具体就是将Windows Server 2008逐步加入现有环境,替代现有Windows Server 2003 域控制器提供服务。
正当我满心欢喜的将Windows Server 2008提升为域控制器,并夺取5个FSMO成为GC后,问题来了。
环境拓扑:
问题:
从Windows Server 2008域控制器安装好正式上线,事件查看器里就不停地报如下错误:
看到这个错误,我被雷住了:不会是Windows Server 2008加入的新特性导致的与Windows Server 2003不兼容吧?
在查看提示中的"详细信息"选项卡,如下:
- Provider
[ Name] Microsoft-Windows-GroupPolicy
[ Guid] {aea1b4fa-97d1-45f2-a64c-4d69fffd92c9}
EventID 1006
Version 0
Level 2
Task 0
Opcode 1
Keywords 0x8000000000000000
- TimeCreated
[ SystemTime] 2009-06-02T05:52:00.756Z
EventRecordID 1294
- Correlation
[ ActivityID] {61BEE069-2BC8-4CB5-87B5-FE33D9A1495D}
- Execution
[ ProcessID] 272
[ ThreadID] 3152
Channel System
Computer XXX
- Security
[ UserID] S-1-5-18
- EventData
SupportInfo1 1
SupportInfo2 4934
ProcessingMode 0
ProcessingTimeInMilliseconds 6022
ErrorCode 81
ErrorDescription 服务器不在工作
DCName
看了详细信息,似乎有了些眉目,"ErrorDescription 服务器不在工作",猜想也许是因为DNS解析问题?
切换到目录服务中,发现了如下警告信息:
(1) 未请求签名(完整性验证)的 SASL (协商式、Kerberos、NTLM 或摘要式) LDAP 绑定,或
(2) 在明文(非 SSL/TLS 加密的)连接上执行的 LDAP 简单绑定
当前未将此目录服务器配置为拒绝这样的绑定。通过将此目录服务器配置为拒绝这样的绑定,可显著增强该服务器 的安全性。有关如何对服务器进行此配置更改的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=87923。
过去 24 小时内收到的关于这些绑定数量的摘要信息如下。
您可以启用其他日志记录以在每次客户端进行这样的绑定时记录一个事件,其中包括关于哪个客户端进行该绑定的 信息。要执行此操作,请将“LDAP 界面事件”事件日志记录类别的设置提升至级别 2 或更高。
没有 SSL/TLS 而执行的简单绑定的数量: 1
未签名而执行的协商式/Kerberos/NTLM/摘要式绑定的数量: 0
看上去还是跟LDAP的验证问题关系,没什么思路,只能请教伟大的搜索引擎了。
PS:通过多次排错搜索问题的经验来看,微软官方的帮助和支持中心准确率相对较高,建议在排除微软产品错误时使用。
通过查找关键字,搜到一篇类似错误的文章:
http://support.microsoft.com/kb/939820/zh-cn#mtDisclaimer
虽然有一模一样的错误信息,但看上去跟我这个问题不太搭调,无奈又找不到其他办法,做好系统备份,将域内的Windows Server 2003装上此KB,重启DCs后,和我想的一样,错误提示并没有停止。
看来还是跟LDAP验证有关系,换了关键字后,找到Windows 2008KB一篇:
http://support.microsoft.com/kb/957072/zh-cn#mtDisclaimer
这个比较符合我的思路,不过适用于非Windows LDAP客户端的验证问题,还是有点小担心,做好备份,装好KB,重启,错误依然在闪。
峰回路转:
在继续搜索无果后,我使出了杀手锏,给专家(就是岳老师)打电话,哈哈,要不说姜是老的辣呢,岳老师一语道破天机,说老胡写了两篇关于Windows 2008组策略排错的文章。立刻翻看老胡博客,发现此文: 描述与我的环境极为相似,大受启发,特别是此句:"我觉得我们在学习和了解WinSrv08的过程中,不能带着对以前产品的惯性思维来看待它,而应该把我们脑子里的那桶水全部倒掉,重新审视这个全新的产品。因为它跟以前完全不一样了。"相当经典。
继而直奔主题页面:http://support.microsoft.com/kb/943729/zh-cn 发现其实是Windows Server 2008添加了新的组策略首选项,而Windows 2008以下的操作系统默认是没有这些首选项的,所以需要在域内相关系统中安装补丁,以支持这些新的首选项。
在火速打完补丁,重启之后,本以为万事大吉,没想到万恶的错误提示又出现了,我这个郁闷,反复思考着,经董君同学指点Windows Server 2008有些服务默认是不启动的,顺藤摸瓜,在系统服务里折腾半天,依然无果。
解决方案:
就在接近晕菜的时候,我又重新回味了老胡的话,偶然想起网络连接里IPV6让我禁用了,因不对此报有希望,也就试试,没想到居然启用IPV6之后,错误提示居然消失了。想到在Windows 2008中IPV6地址的优先级是高于IPV4地址的,于是Windows 2008 就不停的使用本身IPV6地址来与Windows 2003进行通信,由于当前环境没有任何协议转换服务,所以两种通信协议无法正常通信,就造成了上面的问题。