打造个人的Windows Update服务器

来源:互联网 发布:linux tcp参数设置 编辑:程序博客网 时间:2024/05/21 19:23

大部分对计算机比较熟悉的朋友都知道,通常安装好Windows 操作系统后要做的第一件事就是上Windows Update网站去给Windows 安装补丁程序,否则各种漏洞对系统就是一个很大的威胁。不过遗憾的是很多人还没有这样的意识,疏忽了给系统打补丁。这也间接造成了病毒的横行,例如去年的蠕虫王和前几天的冲击波,这两个病毒都是利用了微软软件的漏洞编写和传播的,遗憾的是在这些病毒广泛流传之前,相应软件的补丁程序早就已经由微软发布出来并提供了免费下载,只要用户能经常性地访问Windows Update网站打补丁,就不会感染这些病毒,可是很多人都疏忽了这一点。好在经过这两次教训,更多的人知道“打补丁”的重要性,可是问题又来了。

微软的升级服务器都架设在国外,有时候由于网络的原因造成了国内用户连接服务器的速度非常慢,这些时候光下载补丁就要一个多小时的时间,效率非常低。另一方面,对于有上百台电脑的企业,每台电脑都连接到微软的服务器去下载上百兆字节的补丁程序,这对企业的网络带宽也是一个不小的负担,况且由于大家都到微软的服务器下载补丁,管理员就无法对补丁程序的内容进行控制,如果某个补丁正好跟企业内部广泛使用的某个软件有冲突的话,还可能造成更大的麻烦。现在,问题解决了,那就是使用微软的SUSSoftware Update Service,软件更新服务)服务。 

先决条件

SUS有自己的服务器端和客户端。

对于服务器端,有如下的要求:

硬件:700MHz主频以上的CPU512MB以上内存,6GB以上的硬盘空间

软件:Windows 2000 Server SP2 以上的操作系统,Windows Server 2003IIS 5以上版本,IE 5.5以上版本

可见SUS对硬件的要求比较高,不过这里有一点是要说明的,微软推荐的这种硬件配置可以同时为15000台计算机提供升级服务,因此如果你的网络没有这么大规模,硬件的条件可以适当放宽。另一方面,对于6GB的硬盘空间,这是用来保存所有语种的补丁文件的,如果你的网络中只有简体中文版或者英文版操作系统的计算机,那你可以通过设置而不下载其他语种的补丁文件,以节约硬盘空间。

对于客户端,同样有一些要求:

首先,SUS服务只能为Windows 2000 SP2/XP/2003提供升级服务,这就意味着Windows NTWindows 9x以及Windows 2000 SP1都无法通过这个服务升级。

对于Windows 2000 SP2Windows XP,首先还需要安装一个SUS的客户端程序;对于Windows 2000 SP3及以上版本,Windows XP SP1 及以上版本和Windows Server 2003,都不需要安装客户端,直接就可以在组策略中进行设置。

工作原理

对于服务器端,可以理解为微软升级服务器的一个本地镜像。服务器端可以自动或者手动跟微软的升级服务器同步,下载所有的补丁程序,然后发布在企业内部的网络中。

客户端则跟通常情况没有太大差别,只是通过组策略的设置把默认的微软服务器改为企业内部的升级服务器的路径,就可以自动下载和安装。

而如果你的网络环境有特别需要,你还可以架设多个SUS服务器,客户端可以选择任意一个服务器下载补丁。对于服务器,你还可以设置其它的SUS服务器都跟同一个主SUS保持同步,而不是各自去跟微软的服务器同步,这样进一步减少了网络流量。

应用范围

SUS只能提供Windows操作系统的关键更新和Service Pack,驱动程序和其他更新都是不包括在内的。而微软的其他产品,例如OfficeExchange等的升级也不包括。

服务器端的配置

在本文中,我们会练习在一台Windows Server 2003 Standard独立服务器上安装并配置SUS服务。

首先来这里下载服务器端的安装文件,然后直接执行安装,其中一切选项都可以按照默认设置进行。需要注意的是,由于安全方面的原因,SUS服务器的系统盘和保存SUS补丁文件的硬盘分区都必须是NTFS文件系统。另外,如果你是在Windows 2000 Server操作系统上安装SUS,安装程序还会同时为你安装IIS Lockdown Tool,这是一个提高IIS安全性的软件。

服务器端软件安装好后就可以开始设置了,设置SUS服务器有两种方法:本地设置和远程设置,设置需要你有Administrators组的权限。

对于本地设置,只要在控制面板的管理工具中双击“Microsoft Software Update Services”即可。 

而远程管理则需要在远端计算机上打开IE浏览器(5.5以上版本),然后在地址栏输入“http://服务器名或IP/susadmin” 然后回车,接着输入相应的用户名和密码登录。

配置界面非常眼熟,这跟我们平常访问的微软Windows Update网站非常相似,所有的功能都可以在左侧的列表中打开。

首先要对这个服务器进行设置,在左侧的“Other Options”菜单下点击的“Set Options”,接着可以看见图二的界面。排在最前面的是防火墙设置,在“Select a proxy server configuration”下,你可以输入你的防火墙参数,通常只要你在IE中进行过设置,在这里使用默认设置就可以了。

接着在“Specify the name your clients use to locate this update server”下可以为服务器起一个比较好记的名称,这样在客户端就可以通过服务器名来访问升级服务器而不是IP地址。

在“Select which server to synchronize content from”下可以设置同步补丁内容的来源,如果你的这个服务器打算从微软的升级服务器同步,就选中“Synchronize directly from the Microsoft Windows Update servers”;如果你想从网络中的其他SUS服务器上同步内容,则选中“Synchronize from a local Software Update Services server”,并在下面输入目标服务器的名称或者IP地址。

在“Select how you want to handle new versions of previously approved updates”下,我们可以设置 一个已经经过审核发布的补丁有了新版本后将采取什么操作。如果你觉得新版本的补丁都可以不经过测试直接发布的话,就在这里选择“Automatically approve new versions of previously approved updates”; 否则就选中“Do not automatically approve new versions of approved updates. I will manually approve these updates later”,这样如果 已有补丁程序有新版本发布,这些新版的程序不会被马上发布出去,而等待管理员验证,然后手工发布。

在“Select where you want to store updates”下你可以设置保存补丁程序的方式。你可以简单的选择“Maintain the updates on a Microsoft Windows Update server”,这样SUS服务器的补丁下载就会跟微软的服务器保持完全同步,而不管那些补丁是否真正需要。所以通常还是建议你在这里选择“Save the updates to a local folder”,并且仅选择你需要的补丁语种,这样会减少额外的下载。

一切都设置完成后点击页面右下角的“Apply”保存设置。

接着进行服务器的同步工作。点击左侧的“Synchronize server”,可以看见图三的界面。

你可以点击“Synchronize Now”按钮,马上开始同步。这将会是一个漫长的过程,尤其是你要同步的补丁语种比较多以及网速较慢的时候。所以建议你设置自动同步,点击“Synchronization Schedule”按钮,然后看到图四的界面。

选中“Synchronize using this schedule”,然后在下面设置同步方式,如果你的服务器是24小时不间断运行的,建议你设置服务器在每天凌晨进行同步,因为这段时间网络的利用率最低,容易获得较高的下载速度。设置后点击“OK”按钮保存设置。

在服务器同步完成后,如果你设置了在发布前先批准,那么就要开始批准的工作了。在左侧的列表中点击“Approve updates”,可以看到图五的界面。

所有已经下载回来的补丁程序都会列在这里,每个补丁的右侧会显示该补丁的状态,如果是“Approved”则表示该补丁已经经过了测试,并批准发布出去;如果一个补丁的状态是“Not Approved”就需要注意了,你接下来就应该在少数测试用途的计算机上安装这些补丁程序,如果一切正常,那么就选中这个补丁程序名称前面的复选框,然后点击右下角的“Approve”按钮。接着你要同意补丁程序的最终用户许可协议,在这里遇到了一个小问题,就是弹出的显示许可协议的对话框上并没有任何按钮,你需要按Tab键使这个按钮显示出来并点击。

除了补丁的状态外,在这里你还可以看到其他更多的信息,例如每个补丁中都会用绿色的字显示这个补丁所应用的操作系统,而如果安装了这个补丁后需要重启动,则补丁的描述中回用显眼的红色字迹表示出来。每个补丁都还带有一个链接,点击后就可以连接到微软网站察看补丁的详细内容。

注意:如果你设置了补丁发布前先批准,那么只有经过批准的程序才会被客户端下载和安装。

至此,服务器端的基本设置都已经完成了。

客户端的配置

客户端我们分两种情况说明,那就是域环境和工作组环境。首先看看工作组环境。

注意:以下内容涉及到活动目录以及组策略,而Windows XP Home Edition即没有组策略也无法加入域,因此不在我们这里的讨论范围。

工作组环境下需要对每台客户端计算机分别设置,如果网络中有较多的计算机这样显然很麻烦,好在通常计算机数量多的情况下管理员都会使用活动目录的方式管理,因此这个问题并不严重,我们继续看下去。

对于Windows 2000 SP2Windows XP,我们要先安装SUS客户端,在这里下载,

安装后,在客户端的运行中输入“gpedit.msc”打开组策略编辑器,并依次展开“计算机配置”-“管理模板”,然后在“管理模板”上点击鼠标右键,选择“添加/删除模版”,然后在图六的界面上点击“添加”按钮,并找到%windir%/inf目录下的wuau.adm文件,双击添加。接着继续打开“Windows组件”-Windows Update”(这一项只有在安装了客户端软件并添加后才会出现),在窗口右侧就会显示出两条可用的策略。其中“配置自动更新”可以让你设置进行更新的时间和处理方法,“指定企业内部互联网”则用来指定服务器的位置,你可以以“http://服务器名称”或者“http://服务器IP”的方式输入。而接下来你要做的就是分别在网络中的每台计算机上进行同样的设置。

处理好这些后就可以了,以后每到预先设置的时间,程序就会自动连接到指定的升级服务器检查更新,如果有更新,则会按照预先的设置,或者自动下载并询问安装,或者提示用户。需要注意,SUS对于客户端没有可访问的页面,所有的升级只能在后台自动进行。

对于Windows XP SP1Windows 2000 SP3 还有Windows Server 2003,这些操作系统已经安装了客户端,因此直接在组策略中按照上面的方法设置即可。

如果你的网络规模比较大,应用了活动目录,那么管理起来会更加方便。

在域控制器上的运行中输入“dsa.msc”并回车,打开Active Directory用户和计算机设置窗口,在要创建策略的OU或者域上点击鼠标右键,选择“属性”,然后在属性窗口中打开“组策略”选项卡,并点击“新建”按钮,给新建的策略命名(例如叫做SUS,图七)。选中新建的组策略,点击“编辑”按钮,接着会弹出一个组策略设置窗口,这跟我们平常运行gpedit.msc打开的窗口很类似,不过这里可以为整个域中的所有计算机设置组策略。

在这个窗口中依次展开“计算机配置”-“管理模板”-Windows 组件”-Windows Update”,然后通过设置这里的策略就可以给所有登入域的计算机设置SUS客户端的工作参数。有一点是需要注意的,如果客户端的操作系统是Windows 2000 SP2Windows XP,那么首先仍然需要安装SUS客户端软件。

整个客户端的设置工作就是这样了。相信经过设置,以后管理员的维护工作将会更加轻松,而网络中的计算机也会更加安全!