WSUS
的链式部署
在前面的博文中,我们介绍了如何进行
WSUS2.0
的部署以及如何利用
WSUS
进行补丁分发。今天我们要考虑这样一个场景,在一个大型企业中,一台
WSUS
服务器满足不了所有用户的更新需求,这时我们可以考虑进行
WSUS
服务器的链式部署,即分别设置
WSUS
上游服务器和下游服务器。链式部署的拓扑如下图所示,上游服务器从微软下载更新,下游服务器则从上游服务器下载更新。一般我们可以把总公司的
WSUS
服务器配置为上游服务器,把分支机构的
WSUS
服务器配置为下游服务器。
注意,链式部署很少超过两层,否则会引起性能下降。
我们今天的实验拓扑如下图所示,
Florence
是父域的域控制器,
Berlin
是父域的
WSUS
服务器,
Berlin
承担上游服务器的角色;
perth
是子域的域控制器,
firenze
是子域的
WSUS
服务器,
Firenze
承担下游服务器的角色。我们通过实验来看一下游服务器如何从上游服务器获取更新数据。
下游服务器同步上游服务器时需要访问上游服务器的
ServerSyncWebService
虚拟目录,如果我们不对下游服务器进行身份验证,允许任何计算机成为下游服务器,那么只需采用默认设置允许匿名访问
ServerSyncWebService
虚拟目录即可;如果想对下游服务器进行身份验证,那么需要在
ServerSyncWebService
虚拟目录上禁止匿名访问,同时需要配置上游服务器的
web.config
文件。现在我们先不考虑需要对下游服务器进行身份验证。
Firenze
上先安装好
WSUS2.0SP1
,具体方法请参考
实战详解WSUS2.0+SP1部署:WSUS2.0系列之一
。然后在
Firenze
上打开
WSUS
的管理页面,点击页面上方的“选项”,如下图所示,选择“同步选项”。
在同步选项的更新源中我们选择从上游服务器进行同步,如下图所示,填写好上游服务器的计算机名及端口后点击页面左侧的“保存设置”,然后点击“立即同步”。
如下图所示,
Firenze
已经开始从上游服务器同步了,同步的速度明显比从微软同步快。
同步结束后,查看管理页面中的更新,如下图所示,
Firenze
已经从上游服务器下载了更新元文件。
试着批准安装一些更新,看看下游服务器能否正常工作。我们在组策略中将
Firenze
设置为
shanghai.wsustest.com
域内的
WSUS
服务器,过了一段时间后,域内的计算机陆续找到了
Firenze
,开始从
Frienze
下载更新并安装。我们在
WSUS
服务器的报告中可以看到,如下图所示,已经有计算机从
Firenze
上安装更新了,这说明
Firenze
作为
WSUS
的下游服务器已经配置成功!
我们在下游服务器上可以自主审批更新,但却无法更改从上游服务器继承的某些设置,在下游服务器的
WSUS
管理页面上打开同步选项,如下图所示,我们发现无法对产品和分类进行更改。
更新文件和语言也无法更改,原因是这些设置会影响
WSUS
服务器的元数据库结构,而上下游服务器的元数据库结构需要保持一致,因此微软不允许你更改这些设置。
如果我们希望对下游服务器的人选进行限制,只允许指定的计算机成为下游服务器,那么上下游服务器必须在同一域内或在有信任关系的两个域内,而且我们还需要在上游服务器上进行下列操作:
1)
修改
web.config
2)
修改虚拟目录
ServerSyncWebService
的身份验证方法
一
修改
web.config
如果上游服务器只允许
Firenze
成为下游服务器,那么上游服务器应该修改
C:\Program Files\Update Services\WebServices\serversyncwebservice\web.config
,如下图所示,我们
可以在此文件中使用
< authorization>
元素来定义一个认证列表,只有此认证列表中的
WSUS
服务器才能和上游服务器进行同步
。注意,我们
必须把
< authorization>
元素添加在
<system.web>
元素下!
allow users
=
”shanghai\firenze$”
意思是允许
shanghai.wsustest.com
域中的
firenze
与上游服务器同步,域内的计算机账号都是以
$
结尾的。
Deny users=”*”
意思是拒绝其他所有的计算机同步上游服务器。这两行语句的顺序决定了执行的优先级,如果我们一不小心弄错了顺序,把
deny users
=
”*”
放到了前面,那所有的计算机都会被上游服务器所拒绝,这点和
ISA
的防火墙策略执行顺序完全一样,切记!
二
修改虚拟目录
ServerSyncWebService
的身份验证方法
我们既然已经修改了
web.config
,只允许
shanghai
子域内的
Firenze
成为下游服务器,那么访问
ServerSyncWebService
虚拟目录的计算机必须证明自己是
firenze
才能成为下游服务器。匿名访问无法证明访问者的身份,因此我们需要更改虚拟目录的身份验证方式。由于下游服务器的同步选项中没有办法输入用户名和口令来向上游服务器证明自己的身份,因此下游服务器只能利用集成验证来验明正身了,这也是为什么要求上下游服务器在用一域内或在有信任关系的两个域内。在上游服务器依次点击
开始-程序-管理工具-
Internet
信息服务(
IIS
)管理器,右键点击
虚拟目录
ServerSyncWebService
,如下图所示,选择“属性”。
在虚拟目录属性中切换到“目录安全性”标签,如下图所示,选择“编辑”。
如下图所示,我们取消“启用匿名访问”,勾选“集成
Windows
身份验证”。
这样我们就完成了上游服务器对下游服务器的身份验证需求,以后
Firenze
可以同步上游服务器,其他
WSUS
服务器试图同步上游服务器时则会出现
401
号错误(未经授权)。