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

wKioL1nmwoPjF-0IAAAXt0vgJxo179.png

2.预设CNO计算机对象并禁用,注意这里的CNO对象一定要是禁用的,否则后面创建群集会报错!

wKioL1nmwrbRz_sjAAAbMQXea5A108.png

3.赋予群集创建账户对CNO完全控制权限

wKiom1nmxYzxRXbrAAAyuOji_ks496.png

4.修改CNO计算机属性如下,如果我们不预先修改,这些属性将是群集创建过程时需要修改的CNO属性,以区别于普通计算机。

wKioL1nmwxaTcAD2AAAdWa5YQxg964.png


wKioL1nmwyyDqBO_AAAWlaPRtYU408.png


wKiom1nmxeKhmVAsAAAXbgVac-Q538.png


wKiom1nmxeKy1NYsAAAgqTpKUAo348.png


wKioL1nmwyyQ8UxQAAApqvaUPaM371.png

5.缓存CNO至RODC,将CNO计算机对象加入Allow RODC Password Replication Group组

wKioL1nmw5SRrLRrAAAVJRPnDK4661.png


实验环境如下


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

wKiom1nmye2R99f9AAAaQomdiJo390.png

使用cluadmin登陆各群集节点,添加故障转移群集功能

wKiom1nmxu6Bxtt0AABWLA1IEOo552.png

为各群集节点连接存储

wKioL1nmxH3D1Ge9AAAaffKxawg379.png

创建群集,请务必准确输入事先预置好的CNO名称

wKiom1nmx1KxjILlAAAxIyvUzfo814.png


如果事先的预置过程都一切正常,群集下一步将会正常创建,并不会出现报错


wKioL1nmxN3jJrbLAAA07QlpR7A229.png

CNO对象得到正常的启用激活

wKiom1nmx5ODFZiVAABJqdYYAR4416.png

CNO DNS记录也得到创建

wKiom1nmx5PSzGMEAAB6hmEsNFk969.png


但事实上可以看到oa.com区域的名称服务器只有RWDC,因此对于DNS区域的更新请求都会被转发器转发至RWDC进行,RWDC更新完成后再把记录复制到RODC


wKioL1nmxN7yh5-VAAAwuZ0vhAQ322.png


wKioL1nmxN6jgm3ZAABX9RrcOXI358.png


群集创建完成后,下一步还需要在群集上面跑应用,需要注意的是在RODC工作形态的下的群集,每一个群集应用,都需要通过预置对象-预设复制的方式,事先处理好,群集才可以正常创建上层应用


6.预设VCO计算机对象并禁用

wKioL1nmxlnwZs70AAAWapztZKg740.png

7.赋予CNO计算机账户对VCO完全控制权限

wKiom1nmyUTjA9t4AACKsKLfaqw442.png

8.修改VCO计算机属性如下,同CNO需要修改的属性一样

wKioL1nmxsDDWLGaAAAdWa5YQxg608.png


wKioL1nmxtOQDxseAAAWvcrJ6ZE263.png


wKiom1nmyYmQnbV0AAAUtiJbfOM303.png


wKioL1nmxtPzzh6jAAAlDA2i6vk244.png


wKiom1nmyYnAqXmPAAArCJcIWK4494.png

9.缓存VCO至RODC,将VCO计算机对象加入Allow RODC Password Replication Group组

wKiom1nmybbw4_inAAAZ5wAFt_c368.png

在群集上面正常添加上层DTC应用,准确输入预置的VCO名称

wKioL1nmx3-CVWu1AAAuMLm8TyQ992.png

应用添加成功

wKiom1nmyijjNAhGAAAxpz31Aqs141.png


wKioL1nmx3KzV8YvAABA-Zy30z4579.png

VCO 对象得到正常激活

wKioL1nmx3KjNt8LAAAgRkw_QA0104.png

VCO DNS记录得到添加

wKiom1nmyijR_RWxAABf-vPYiM4342.png


到这里我们就完成了RODC下群集的创建以及上层应用的搭建,我们挑战成功~ 其实理解了之后也并没有很复杂


至此对于群集的部署,老王讲了传统AD依赖模型,传统AD依赖模型如何处理CNO VCO预置,如何恢复CNO VCO对象误删,WSFC2016 工作组部署模型,WSFC2016多域部署模型,WSFC 2012 无AD依赖部署模型,WSFC 2012 RODC部署模型,几乎所有常见的部署类型我们都有所涉猎,对于迁移我们也从MSCS 2003 一直迁移到WSFC 2016,其实微软的解决方案很多并不向表面看起来那么简单,内部也有很多种场景和功能可以玩,像是群集的部署模型,现在已经有了这么多的模型可以选择,多知道一些,多思考,在场景来到的时候我们就可以选择更好的方案,就是这样,希望可以为看到的朋友带来收获!


本文转自 老收藏家 51CTO博客,原文链接:http://blog.51cto.com/wzde2012/1973687


相关文章
|
Kubernetes 负载均衡 JavaScript
K8s网络配置和软负载的最佳实践|学习笔记
快速学习 K8s 网络配置和软负载的最佳实践|
199 0
K8s网络配置和软负载的最佳实践|学习笔记