虚拟化是现今的热门话题,不过人们大多时候都只将它与虚拟机和操作系统虚拟化关联起来。但自 Windows NT 4.0 发布以来,终端服务就已开始抽象为远程运行的应用程序和桌面的表示层了。终端服务自那时起由来已久,而 Windows Server 2008 则提供了成熟而可靠的虚拟化演示平台。我重点谈一谈终端服务当中的重点改进区域。
终端服务中的新功能
Windows Server 2008 中的终端服务有许多新特色和功能:
终端服务 RemoteApp Windows Server 2008 中一个最显著的更改是远程运行单一应用程序的能力。在旧版的终端服务中,即使您只希望访问单一应用程序,还是会传输整个远程桌面。这对用户来说,常常容易造成混淆,因为有些应用程序出现在远程桌面上(通过终端服务),而有些出现在本地桌面上 — 要记住哪个桌面有哪个应用程序可能颇具挑战性。现在,通过终端服务访问的应用程序看上去和运行在用户的本地计算机上的应用程序一样,行为表现也一样。
终端服务 Web 访问 每个人都特别希望有个简单的方法能让最终用户激活应用程序。TS Web 访问满足了这项需要,它允许系统管理员将个别应用程序发布到网页。TS Web 访问包含一个默认网页,可供立即部署,也可以自定义并集成到 SharePoint 网站中。若要通过 TS Web 访问激活 TS RemoteApp,用户要访问一个网页(从 Internet 或内部网络访问),查看所有可用应用程序的列表,然后单击要激活的应用程序。
在 Windows Server 2003 中,要从浏览器启用连接,需要另外一个称为远程桌面网站连接 (RDWC) 的 ActiveX 控件。这个控件现在已直接内置到主要的远程桌面连接 (RDC) 客户端中,所以客户端上完全不需要下载或安装任何东西。另外还支持完整的远程桌面协议 (RDP) 功能集,而旧版的 RDWC 客户端是不支持该功能集的。
<span class="ArticleInlineTitle">终端服务网关 </span>TS 网关是 Windows Server 2008 中最重要的新功能之一。RDP 通信量在端口 3389 上运行,而系统管理员在将终端服务器部署到防火墙以外的用户时,碰到的最主要的一个问题就是必须在防火墙内打开该端口(不建议这样做),或使用不同的 VPN 解决方案(成本高昂)。有了 TS 网关,RDP 流量会通过 HTTPS(端口 443)以隧道方式传输,以便在 Internet 上的远程用户与终端服务器(或远程计算机)之间建立加密连接。更棒的是,即使用户或终端服务器位于基于网络地址转换 (NAT) 遍历的路由器背后,此方案依然可行。
TS 网关可与 Windows Server 2008 的另一项功能“网络访问保护”(NAP) 相结合,在授予终端服务资源的访问权之前,帮助确认客户端计算机的运行状况。
终端服务会话 Broker Windows Server 2000 推出了网络负载平衡 (NLB),它虽然与 Web 服务器搭配非常合适,但并不适合于终端服务的负载平衡。全新的 TS 会话 Broker 是绝佳的替代方案,它扩展了 Windows Server 2003 的会话目录功能来支持以会话为基础的负载平衡。
通过 TS 会话 Broker,新会话可以散布到场内负载最少的服务器,而且用户不必知道会话建立的位置,就能与现有会话重新连接。IT 管理员能够使用此功能将每个终端服务器的 IP 地址映射到单一 DNS 条目。此配置还能提供容错,如果其中某一个场服务器无法使用,用户可连接到场内负载次少的服务器。
终端服务轻松打印 打印一直是许多终端服务环境系统管理员的噩梦。因为服务器和客户端计算机上必须同时装有相匹配的打印驱动程序,所以最终用户安装打印机时的可选余地较小,系统管理员也必须费心考虑如何在服务器上管理打印驱动程序。相反,有了 TS Easy Print,用户现在可以从 TS RemoteApp 或完整的桌面会话可靠地打印到本地打印设备,无论是直接连接到设备还是通过网络连接到设备皆可。最棒的是,现在无需在终端服务器上安装驱动程序,就能支持打印机。
当用户要从 TS RemoteApp 程序或桌面会话打印时,可以在本地客户端看到完整的打印机属性对话框,还可以访问所有打印机功能(例如水印、自动分页和装订)。当用户打印时,打印作业在服务器上以 Microsoft XPS 文档格式呈现,并传送到客户端。另外,通过 TS Easy Print,系统管理员可以使用组策略来限制只重定向到默认打印机的打印机数目,从而减少开销并改进可伸缩性。
这些都是 Windows Server 2008 中的“重量级”功能。我们会在下文再度讨论 TS RemoteApp、TS Web 访问、TS 网关以及 TS 会话 Broker。首先,我们看一下此版本中其他同样出色但不太明显的功能。
安全性功能
安全性在新版本的终端服务中已得到增强。
网络级别身份验证 (NLA) 和服务器身份验证 (SA) 在旧版的 TS 中,用户在 RDC 客户端上单击“连接”之后,系统会显示登录屏幕,这为恶意攻击者对终端服务器的登录屏幕发动拒绝服务或拦截式攻击提供了可乘之机。现在,NLA 会在 TS 会话开始在服务器运行并向用户显示登录屏幕之前,先让用户、客户端计算机和服务器凭据彼此进行验证。服务器身份验证使用传输层安全性 (TLS) 来帮助确保客户端正在连接的是合法的终端服务器,而不是恶意计算机。
单一登录 用户希望能够使用一组凭据(用户和密码的组合,或智能卡和 PIN 的组合)只进行一次身份验证,而不是每次使用新资源时都被要求进行身份验证。在此版本中,如果计算机运行 Windows Vista 或 Windows Server 2008 并连接到基于 Windows Server 2008 的终端服务器或 TS 网关,而且加入了域,则现在可以利用单一登录。
系统级别强化 Windows Vista 和 Windows Server 2008 都有全新的系统级别强化,这基本上会将操作系统的组件模块化,并以较低权限级别来运行它们。在终端服务中,这项功能是通过将内核 TS 引擎 (termsrv.dll) 分成两个不同的组件(lsm.exe 和 termsrv.dll,前者为内核会话管理员,后者用于远程连接)而实现的。
在过去,termsrv.dll 以较高的系统权限级别运行。现在,在新的 lsm.exe 中,只有三分之一的原始 termsrv.dll 代码以该级别运行,其余三分之二都在低得多的网络服务权限级别运行。与 Windows Server 2003 相比,这项更改大幅减小了受攻击面。
用户体验功能
有不少改进可帮助用户:
自定义显示分辨率 随着大型监视器的发展和显示分辨率比例类型的日益广泛,Windows Server 2008 终端服务也进行了升级以满足您的需要。
用户能够设置自定义显示分辨率(高达 4096 x 2048),或将比例更改为 16:9 或 16:10 以获得宽屏幕体验。各种新监视器配置都得到支持,例如分辨率为 1680 x 1050 或 1920 x 1200 的监视器。Windows Server 2003 最高支持 1600 x 1200 的分辨率且只支持 4:3 显示分辨率比例,因此这是一项重大改进。您可以通过 RDC 客户端对话框、.rdp 文件或命令提示符来设置自定义显示分辨率。
若要在 .rdp 文件中设置自定义显示分辨率,请在文本编辑器中打开 .rdp 文件,并添加或更改下列设置(请注意 <value> 是分辨率,例如 1680 或 1050):
desktopwidth:i:<value>
desktopheight:i:<value>
mstsc.exe /w:<width> /h:<height>
监视器扩展 远程桌面会话现在能够扩展到多台监视器。要使这项功能正常运行,有几项先决条件:
-
所有监视器都必须使用相同的分辨率。例如,您可以扩展到都使用 1024 x 768 分辨率的两台监视器,但不能扩展到分辨率分别为 1024 x 768 和 800 x 600 的两台监视器。
-
所有监视器都必须水平对齐(也就是并排)。目前不支持在客户端系统上垂直扩展多台监视器。
-
所有监视器的总分辨率最高不得超过 4096 x 2048。
若要在 .rdp 文件中启用监视器扩展,请在文本编辑器中打开 .rdp 文件,并添加或更改下列设置(注意:<value>=0 表示监视器扩展已禁用,<value>=1 表示已启用):
Span:i:<value>
若要从命令提示符设置监视器扩展,请按下列语法使用 mstsc.exe 命令:
mstsc.exe /span
桌面体验 桌面体验让终端服务的桌面更像 Windows Vista 桌面体验。这项功能向远程桌面添加了几个组件,包括 Windows Media Player 11、桌面主题以及相片管理。以下是启用桌面体验的方法:
-
打开服务器管理器。单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
-
在“功能摘要”下,单击“添加功能”。
-
在“选择功能”页面上选中“桌面体验”复选框,再单击“下一步”。
-
在“确认安装选项”页面上,确认将安装桌面体验功能,再单击“安装”。
-
在“安装结果”页面上,会提示您重新启动服务器以完成安装过程。单击“关闭”,再按“是”以重新启动服务器。
服务器重新启动后,您必须确认桌面体验功能已安装。
字体平滑显示 字体平滑显示指终端服务支持 ClearType,它有助于更清晰地显示计算机字体,特别是在 LCD 监视器上。Windows Server 2008 中默认启用字体平滑显示,而且可以在客户端计算机连接时通过“远程桌面连接”中的复选框来启用,如图 1 所示。
图 1 启用字体平滑显示
您应该注意,字体平滑显示会增加客户端计算机与终端服务器之间使用的带宽(4 到 10 倍不等,视具体情形而定)。之所以会增加带宽,是因为 ClearType 字体在远程当作位图而不是字形来使用,而 RDP 使用字形的效率要高许多。
显示器数据优先使用 在 Windows Server 2003 中,打印大型作业往往会降低您的屏幕体验。显示器数据优先使用会自动控制虚拟通道通信,以便为显示器、键盘和鼠标数据指定比其他通信(例如打印或文件传输)更高的优先级。这种优先设计是为了确保您的屏幕、键盘和鼠标性能不致受到使用大量带宽的操作(例如大型打印作业)的影响。
默认设置为 70:30,即显示器和输入数据占据 70% 的带宽,所有其他通信(例如文件传输或打印作业)占 30%。
您可以更改终端服务器的注册表来调整此设置。为此,请在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD 子项下更改下列项的值:
FlowControlDisable
FlowControlDisplayBandwidth
FlowControlChannelBandwidth
FlowControlChargePostCompression
如果没有显示这些项,您可以通过右键单击 TermDD,指向“新建”,再单击“DWORD(32-位)值”,添加它们。
通过设置 FlowControlDisable=1 可禁用显示器数据优先使用。若禁用显示器数据优先使用,所有请求都会以先进先出的方式处理。默认值为 FlowControlDisable=0。
通过设置 FlowControlDisplayBandwidth 值可为显示器(和输入数据)设置相对带宽优先级。默认值为 70,允许的最大值为 255。同样,通过设置 FlowControlChannelBandwidth 值可为其他虚拟通道(例如剪贴板、文件传输或打印作业)设置相对带宽优先级。默认值为 30,允许的最大值为 255。
显示器数据优先使用的带宽比例基于 FlowControlDisplayBandwidth 和 FlowControlChannelBandwidth 的值。例如,若 FlowControlDisplayBandwidth 设为 150,FlowControlChannelBandwidth 设为 50,则比例为 150:50。因此显示器和输入数据将占据 75% 的带宽。
FlowControlChargePostCompression 值确定流控制是根据前置压缩字节还是后置压缩字节来计算带宽分配。默认值为 0,表示计算将根据前置压缩字节来进行。
如果您对注册表值进行任何更改,必须重新启动终端服务器以使更改生效。
即插即用设备重定向 在 Windows Server 2008 终端服务中,设备重定向已得到增强和扩展。现在,您可以重定向 Windows 便携设备,特别是以媒体传输协议 (MTP) 为基础的媒体播放程序以及以图片传输协议 (PTP) 为基础的数码相机。
这项功能可使用“远程桌面连接”中的“选项”按钮来启用。启用这项功能时,会显示目前处于插入状态的受支持即插即用设备的列表。不受支持的设备不会显示。您也可以选择该选项来重定向尚未插入的设备。图 2 显示了如何从 RDC 客户端启用这些功能。
图 2 启用尚未插入的设备
启动与远程计算机的会话后,您应该会看到经过重定向的即插即用设备被自动安装到远程计算机上 — 任务栏中将显示即插即用通知。重定向的即插即用设备安装好之后,即可在远程计算机的会话内使用。例如,如果您重定向 Windows 便携设备(例如数码相机),便可在远程计算机上从“扫描仪与相机向导”之类的应用程序直接访问它。
您可以使用以下某一组策略设置来控制即插即用设备重定向:
-
不允许位于“计算机配置\管理模板\Windows 组件\终端服务\终端服务器\设备及资源重定向”的支持的即插即用设备重定向。
-
策略设置位于“计算机配置\管理模板\系统\设备安装\设备安装重定向”。
您也可以使用“支持的即插即用设备”复选框在终端服务配置工具 (tsconfig.msc) 中的“客户端设置”选项卡上控制即插即用设备重定向。
远程访问更轻松
前面提到,TS RemoteApp 可让用户远程控制单一应用程序,而 TS Web 访问可让他们轻松地从网页访问应用程序,现在让我们稍微深入讨论一下这些功能以及一些配置细节。
TS RemoteApp RemoteApp 程序可通过各种方法部署到用户桌面。除了 TS Web 访问外,您还可以:
-
创建远程桌面协议文件。
-
通过以前分发的 Windows Installer (.msi) 程序包在桌面上或“开始”菜单中创建程序图标。
-
执行文件扩展名与 RemoteApp 程序关联的文件。这可由管理员使用 Windows Installer 程序包来配置。
有关用户如何才能访问 RemoteApp 程序的详细信息,请参阅位于 go.microsoft.com/fwlink/?LinkID=84895 的《Windows Server 2008 TS RemoteApp Step-by-Step Guide》(英文)中的“我应如何部署 RemoteApp 程序?”。
TS Web 访问 TS Web 访问允许从单一服务器或终端服务器场部署 RemoteApp 程序。TS RemoteApp 管理器提供了用于将应用程序发布到 TS Web 访问的非常快速且有效的过程 — 首先安装终端服务,然后安装要承载的应用程序。
使用 TS RemoteApp 管理器来添加为 TS Web 访问启用的 RemoteApp 程序。接下来,将 TS Web 访问安装到您希望用户通过 Web 连接的服务器上。将 TS Web 访问服务器的计算机帐户添加到终端服务器上的 TS Web 访问计算机组中。最后,配置 TS Web 访问服务器,以便从单一终端服务器或单一场填充其 RemoteApp 程序列表。
通过传统方法安装应用程序或通过应用程序虚拟化(前身为 SoftGrid)将应用程序传送到终端服务器之后,将这些应用程序发布到 TS Web 访问就很简单了。“RemoteApp 向导”引导管理员快速逐步完成几个简单步骤,之后应用程序就会显示在已发布的 RemoteApp 程序列表上。
应用程序默认发布到 TS Web 访问。RemoteApp 管理器随后会向您显示已经发布的应用程序以及通过 TS Web 访问提供给用户的所有应用程序的列表。
现在,让我们快速看一下默认的最终用户体验。TS Web 访问中的第一个选项卡显示所有已发布的应用程序的图标(见图 3),第二个选项卡供用户使用 Web 前端连接到特定的台式计算机。前面提到,此 Web 界面完全可以自定义,《TS Web 访问分步指南:使用 Windows SharePoint Services 自定义 TS Web 访问》(可从 go.microsoft.com/fwlink/?LinkID=111241 获得)是指导您逐步使用 SharePoint Services 完成自定义的理想资源。
图 3 输入 .rdp 文件的设置(单击可获得大图)
其他部署方法 除了使用 TS Web 访问之外,您还可以通过 .rdp 文件或 Windows Installer 程序包来部署 RemoteApp 程序。这些程序包可通过文件共享,或通过 Microsoft Systems Center Operations Manager 或 Active Directory 软件分发进行分发。下一节将引导您逐步完成一些主要步骤,以创建合适的软件包进行应用程序分发。
若要准备 RemoteApp 程序供通过文件共享或其他分发机制进行分发,您必须安装终端服务以及要发布的应用程序,并验证远程连接设置。“TS RemoteApp 向导”将帮助您添加 RemoteApp 程序及配置全局部署设置。您接下来就可以创建 .rdp 文件或 Windows Installer 程序包。
让我们快速完成“RemoteApp 向导”的步骤。在步骤 1 中,为 .rdp 文件配置终端服务器、TS 网关和证书设置(见图 4)。
图 4 程序包的设置选项(单击可获得大图)
在步骤 2 中,指定快捷方式图标要显示在桌面或“开始”菜单上的位置,和/或与客户端文件扩展名相关联,以便让本地文件随 RemoteApp 一同启动(见图 5)。
图 5 在 TS Web 访问中查看 RemoteApp 程序(单击可获得大图)
在最后一个步骤中,“RemoteApp 向导”会打开“已打包的程序”文件夹,让您使用所选的分发软件轻松地将这些已打包的应用程序部署到客户端计算机(见图 6)。
图 6 打包供进行部署的程序(单击可获得大图)
终端服务网关
现在我来分析 TS 网关如何帮助您的远程用户从防火墙外访问应用程序、数据或桌面。图 7 高度概括了部署 TS 网关以通过 Internet 向用户提供访问权的典型情景。
图 7 工作人员从家中的便携式计算机连接到公司网络(单击可获得大图)
实际上,TS 网关位于网络外围,并通过 HTTPS 传送 RDP 通信。您也可以将 SSL 终结器(例如 Microsoft Internet Security and Acceleration Server — ISA)置于网络外围中,并将传入 RDP 通信转发到另一端的 TS 网关。
图 7 中所示的步骤如下:
-
家用便携式计算机用户只需单击 RDP 文件或位于桌面上的 RemoteApp 程序图标、单击通过 TS Web 访问发布的 TS RemoteApp 图标或打开远程桌面连接客户端,即可通过 Internet 进行连接。
-
家用便携式计算机和终端服务器之间使用 TS 网关服务器的 SSL 证书建立 SSL 通道。连接建立之前,必须先根据终端服务连接授权策略 (TS CAP) 和终端服务资源授权策略 (TS RAP) 对用户进行身份验证和授权。TS RAP 和 TS CAP 策略(下文会讨论)强制执行之后,用户便可打开会话。
-
家用便携式计算机通过端口 443 将 SSL 内封装的加密 RDP 数据包与 TS 网关进行交换。TS 网关通过端口 3389 将 RDP 数据包转发到终端服务器。
对于大规模的安装,您可以创建 TS 网关服务器场,但您需要单独的解决方案(例如 NLB 或第三方负载平衡器)以平衡服务器场各系统间的负载。TS 会话 Broker 不处理 TS 网关服务器的负载平衡。
现在让我们快速看一下如何部署这项功能。简单的说,您必须为 TS 网关服务器获取并配置证书,并创建上文提到的两个授权策略:TS CAP 与 TS RAP。
获取证书 您可以使用现有的证书,也可以申请新证书。要让 TS 网关顺利运行,必须具备有效的证书,您在安装期间可以选择导入证书或创建自签名证书。
自签名选项适合用于内部测试,但是正式部署需要企业证书颁发机构(如 VeriSign)颁发的证书。安装证书后,便可考虑部署授权策略。
授权策略 TS CAP 将确定哪些用户可连接到 TS 网关,并指定用户在什么条件下可以连接。例如,您可以指定存在于本地 TS 网关服务器上或 Active Directory 中的用户组可连接到 TS 网关,而且该组成员必须使用智能卡进行连接。
另一方面,TS RAP 确定哪些内部资源用户可通过 TS 网关进行访问。例如,您可以创建计算机组(例如终端服务器场),并将它与您的 TS RAP 相关联。
您必须同时创建 TS CAP 和 TS RAP,才能让远程用户访问内部资源,因为用户必须至少有一个 TS CAP 和一个 TS RAP 才能获得访问权。管理员可通过 TS 网关管理器同时创建这两种类型,如图 8 和图 9 所示。
图 8 创建连接授权策略(单击可获得大图)
图 9 创建资源授权策略(单击可获得大图)
TS CAP 与 TS RAP 配合使用可提供两种不同类型的授权,以便您配置对内部网络上的计算机的更精细的访问控制级别。有关详细信息,请参阅《Terminal Services Gateway Step-by-Step Guide》,网址为 go.microsoft.com/fwlink/?LinkID=85872。
TS 会话 Broker
我要介绍的最后一个主题是会话 Broker,它提供了一套易于部署、基于会话的负载平衡解决方案。此功能在 Windows Server 2003 的“会话目录”功能(将用户重新连接到现有的会话)的基础上构建,并增加了在场中负载最少的服务器上创建新会话的能力。
让我们来看一下典型情景,即场内所有的终端服务器在映射到特定终端服务器场名(假设为 Farm1)的 DNS 中都有主机资源记录。因此,场中的任何终端服务器都能够充当重定向器并处理初始连接请求。
假设某用户启动 RDC 客户端,指定一个名为 Farm1 的终端服务器场。客户端会联系 DNS 服务器,将 Farm1 名称解析为 IP 地址,而 DNS 服务器(配置为使用轮循机制来平衡初始连接请求的负载)会返回为 Farm1 注册的 IP 地址的列表。
客户端将连接请求传送给 DNS 服务器返回的列表上的第一个 IP 地址。位于该地址的终端服务器会充当重定向器,查询 TS 会话 Broker 服务器以判断客户端应该登录哪台终端服务器。TS 会话 Broker 服务器检查其数据库,如果用户已有现有会话,会话 Broker 便会返回该终端服务器的 IP 地址。如果用户没有现有会话,则会话 Broker 会判断场内哪台终端服务器的负载最少(根据会话的数量和相对服务器权重值),然后返回该特定服务器的 IP 地址。
重定向器将该 IP 地址发送给客户端,接着客户端将连接请求发送给该服务器,由它来处理登录请求并通知 TS 会话 Broker 已成功登录。
请注意,虽然分发初始连接可以使用任何负载平衡机制,但 DNS 轮循机制是最易于部署的机制。不过,要注意 DNS 轮循机制的确有些限制,包括缓存客户端上的 DNS 要求,这可能会使客户端对每个初始连接请求都使用相同的 IP 地址,并且在用户重定向到处于脱机状态但仍列在 DNS 中的终端服务器时,可能产生 30 秒的超时延迟。
部署时将 TS 会话 Broker 负载平衡与网络级别负载平衡解决方案(例如 NLB 或硬件负载平衡器)相结合,可避免 DNS 的限制,又能利用 TS 会话 Broker 功能。TS 会话 Broker 负载平衡功能使您可为每个服务器指派相对权重值,这有助于在场内性能较强和性能较弱的服务器之间分配负载。例如,如果一台服务器可处理的会话数比场内另一台服务器多两倍,您就可以指定该服务器的权重值为 200,另一台的权重值为 100。
TS 会话 Broker 负载平衡限制特定终端服务器最多只能有 16 个待处理登录请求。这项功能有助于防止具有新登录请求的某一台服务器在特定情况下产生过大的负荷,例如,当您向场添加新服务器时或使用户能够登录到之前遭到拒绝的服务器时。
另外,还提供了全新的“服务器清空”机制,可使您防止新用户登录到准备进行维护的终端服务器。如果新登录在特定终端服务器上被拒绝,TS 会话 Broker 将允许具有现有会话的用户重新连接,但会将新用户重定向到配置为允许新登录的终端服务器。
有关详细信息,请参阅《TS Session Broker Load Balancing Step-by-Step Guide》,网址为 go.microsoft.com/fwlink/?LinkID=92670。本文篇幅有限,我不再进一步谈论 Windows Server 2008 TS 的新功能。不过,终端服务网站上有更多内容,包括深入网络广播。若要了解更多信息,请参考 technet.microsoft.com/ts。
Joshua Schnoll 具有 15 年以上的市场和技术经验,过去 6 年来一直专注于基于服务器的运算。他目前担任 Windows Server 终端服务的全球资深产品经理,加入 Microsoft 前,他曾在 Sun Microsystems 历任数职,包括 Sun Ray 超简化型客户端的推动产品市场营销经理。
文章出处:TechNet中文网
【编辑推荐】