标签:凭据缓存 wsfc模型 rodc群集 wsfc 预置cno
之前Elden曾经说过WSFC支持部署在RODC场景下,虽然可以完成部署,但是配置过程非常麻烦,今天我们就来挑战一下把
那么,什么是RODC呢,简单来说,RODC就是一种域控制器的工作形态,域控制器分为两种工作形态,一种是RWDC,可写DC就是我们常用的传统DC,每台DC都可以提供完整的活动目录管控功能,我们可以在任意一台RWDC上面修改内容,修改的内容会被同步至其它所有DC
而RODC则并不相同,RODC是微软在2008时代新推出的DC工作形态,通过这项功能,我们可以让域控制器在一种只读的方式下工作,RODC和其它DC一样,会有活动目录里面所有对象和属性,用户,计算机,应用程序可以通过RODC读取查询活动目录里面的数据,但是并不能直接通过RODC写入信息,所有对于活动目录的写入要求,都会是在RWDC上面进行,RWDC写入完成后再复制到RODC,RODC不会把内容复制回RWDC
客户端可以登录到RODC,RODC可以处理身份验证登陆请求,但实际上每次用户的登陆请求,都会被RODC转发给RWDC,RWDC完成身份验证后,把凭据转回给RODC,客户端可以正常登陆,同时凭据也会被缓存在RODC一份,下次RODC就不需要再去找RWDC请求验证,通过这种机制可以尽可能的保证RODC的安全,域控上面本身就不储存凭据原始数据,只存放凭据的缓存,一旦RODC服务器丢失,被病毒攻击,管理员可以直接在RWDC上面删除RODC的计算机对象,这样所有被缓存到RODC凭据也将都无法使用。
通过上述描述,大家可以看出RODC主要具备只读的活动目录数据库,单向的活动目录复制,安全可控的凭据缓存管理等特点,基于这些特点,RODC就非常适用于一些场景,例如,缺少专业人员的分支机构,存在安全隐患的分支机构,可能有的分支机构并没有专业技术人员会管理AD,但是分支机构又有使用活动目录的需求,这时候就可以在分支机构部署一台RODC,RODC安装好了后并不需要过多的管理,由于RODC不提供写入功能,所以也可以防止不法分子或初级人员的误操作,而导致活动目录数据丢失,所有写入内容都将有RWDC完成,复制回RODC,不能写入,能够修改的功能就很有限,很大的程度上解决了误操作的风险问题。RODC单向复制,架设RODC,并不需要RODC把数据写回RWDC,RODC只需要接受RWDC复制给它的数据就可以,还可以减少一部分带宽开支。
总结一下,RODC主要具备以下功能
1.只读活动目录数据库:RODC提供和其它RWDC内容一样的活动目录数据库,用户,计算机,应用程序可以从RODC中读取查询数据,但不能对RODC执行修改操作,如果应用程序要对活动目录执行修改操作,请重定向至其它RWDC
2.只读DNS区域:RODC上面可以安装DNS服务器,为客户端提供DNS查询功能,但RODC并不支持直接进行DNS记录更新,实际上会在RODC上面创建一个转发器,凡是对于域DNS区域的更改记录都会被转发至RWDC的DNS进行,更改完成后的数据下次会被复制回RODC
3.单向复制:RODC只需要从RWDC复制数据,并不需要再把数据复制回RWDC,即减少误操作带来的风险,也节约一部分复制带宽
4.管理员权限委派:默认情况下只有domain admins和enterprise admins组成员可以对RODC进行安装和管理操作,但RODC支持权限委派,可以委派一个普通权限用户作为RODC管理员,今后该用户可以对RODC执行安装管理操作。
5.凭据缓存:默认情况下刚安装后的RODC,只保存自身的计算机凭据以及KRBTGT凭据,其中KRBTGT凭据用于RWDC验证RODC身份,除了这两个用户外,RODC不保存任何一个用户和计算机账户密码,正常情况下如果用户要通过RODC第一次登录,只有在RWDC在线情况下,才可以登录,RODC把登录请求转发至RWDC,RWDC返回凭据,用户可以正常登录,RODC同时缓存一份,如果按照这种默认情况来进行工作的话,当下次RWDC失去联系,那么只有之前正常登陆过的用户才可以在RODC上面登陆,之前没有成功登陆过的用户则不会拿到凭据登陆,除了这种默认的凭据缓存机制,RODC还提供了预设缓存机制,我们可以预先将一部分用户或计算机的凭据缓存至RODC,这样即便这些下次RWDC失去联系,这些用户和计算机也可以正常登陆,最后,即便RODC被攻击,或丢失,只要在RWDC删除掉RODC的计算机对象,之前缓存过的所有凭据也都将失效。
对于我们WSFC来说,核心最关注的就是这个凭据缓存功能,因为我们创建WSFC的时候,需要往群集写入CNO对象的,之后还要写入VCO对象,事实上WSFC群集创建VCO CNO对象不仅仅是创建,而且还需要在创建过程写入很多额外的属性,如果是RODC的情况,默认群集创建是一定没办法写入成功的。
原因是RODC环境下不支持直接写入AD数据,所以我们需要事先在RWDC上面预置CNO/VCO计算机对象及属性,并预设凭据缓存至RODC,以让RODC环境创建群集时可以正常使用
其它对于只读DNS,会有DNS转发器帮我们创建出CNO记录,单向复制也没关系,CNO,VCO只需要预置创建出来之后群集就可以在RODC环境运作,不更改就不再需要写入AD属性
在WSFC 2012时代开始,微软开始支持部署RODC模型,后续版本皆沿用此功能。
操作流程如下
1.缓存群集创建账户至RODC
2.预设CNO计算机对象并禁用
3.赋予群集创建账户对CNO完全控制权限
4.修改CNO计算机属性
5.缓存CNO至RODC
6.预设VCO计算机对象并禁用
7.赋予CNO计算机账户对VCO完全控制权限
8.修改VCO计算机属性
9.缓存VCO至RODC
1.添加群集创建账户至Allow RODC Password Replication Group组,加入该组的用户和计算机凭据将被缓存至RODC
2.预设CNO计算机对象并禁用,注意这里的CNO对象一定要是禁用的,否则后面创建群集会报错!
3.赋予群集创建账户对CNO完全控制权限
4.修改CNO计算机属性如下,如果我们不预先修改,这些属性将是群集创建过程时需要修改的CNO属性,以区别于普通计算机。
5.缓存CNO至RODC,将CNO计算机对象加入Allow RODC Password Replication Group组
实验环境如下
DC01&iscsi
lan:10.0.0.2 255.0.0.0
iscsi:30.0.0.2 255.0.0.0
DC02
lan:10.0.0.3 255.0.0.0
HV01
MGMET:10.0.0.12 255.0.0.0 DNS 10.0.0.3
ISCSI:30.0.0.12 255.0.0.0
CLUS:18.0.0.12 255.0.0.0
HV02
MGMET:10.0.0.13 255.0.0.0 DNS 10.0.0.3
ISCSI:30.0.0.13 255.0.0.0
CLUS:18.0.0.13 255.0.0.0
当前DC02为RODC
使用cluadmin登陆各群集节点,添加故障转移群集功能
为各群集节点连接存储
创建群集,请务必准确输入事先预置好的CNO名称
如果事先的预置过程都一切正常,群集下一步将会正常创建,并不会出现报错
CNO对象得到正常的启用激活
CNO DNS记录也得到创建
但事实上可以看到oa.com区域的名称服务器只有RWDC,因此对于DNS区域的更新请求都会被转发器转发至RWDC进行,RWDC更新完成后再把记录复制到RODC
群集创建完成后,下一步还需要在群集上面跑应用,需要注意的是在RODC工作形态的下的群集,每一个群集应用,都需要通过预置对象-预设复制的方式,事先处理好,群集才可以正常创建上层应用
6.预设VCO计算机对象并禁用
7.赋予CNO计算机账户对VCO完全控制权限
8.修改VCO计算机属性如下,同CNO需要修改的属性一样
9.缓存VCO至RODC,将VCO计算机对象加入Allow RODC Password Replication Group组
在群集上面正常添加上层DTC应用,准确输入预置的VCO名称
应用添加成功
VCO 对象得到正常激活
VCO DNS记录得到添加
到这里我们就完成了RODC下群集的创建以及上层应用的搭建,我们挑战成功~ 其实理解了之后也并没有很复杂
至此对于群集的部署,老王讲了传统AD依赖模型,传统AD依赖模型如何处理CNO VCO预置,如何恢复CNO VCO对象误删,WSFC2016 工作组部署模型,WSFC2016多域部署模型,WSFC 2012 无AD依赖部署模型,WSFC 2012 RODC部署模型,几乎所有常见的部署类型我们都有所涉猎,对于迁移我们也从MSCS 2003 一直迁移到WSFC 2016,其实微软的解决方案很多并不向表面看起来那么简单,内部也有很多种场景和功能可以玩,像是群集的部署模型,现在已经有了这么多的模型可以选择,多知道一些,多思考,在场景来到的时候我们就可以选择更好的方案,就是这样,希望可以为看到的朋友带来收获!
本文出自 “老王的微软技术研究乐园” 博客,请务必保留此出处http://wzde2012.blog.51cto.com/6474289/1973687
标签:凭据缓存 wsfc模型 rodc群集 wsfc 预置cno
原文地址:http://wzde2012.blog.51cto.com/6474289/1973687