远程桌面网关(RD 网关)是一项角色服务,使授权远程用户可以从任何连接到 Internet 并且可以运行远程桌面连接 (RDC) 客户端的设备连接到内部企业网络或专用网络上的资源。网络资源可以是远程桌面会话主机(RD 会话主机)服务器、运行 RemoteApp 程序的RD 会话主机服务器或启用了远程桌面的计算机。
RD 网关使用 HTTPS 上的远程桌面协议 (RDP) 在 Internet 上的远程用户与运行其生产力应用程序的内部网络资源之间建立安全的加密连接。
简单来说,如果企业内部网络有多个远程桌面(终端服务器)要发布到Internet,在通常的情况下,是需要将这些远程桌面服务器通过防火墙发布到Internet(使用不同的端口),Internet上的用户使用不同的端口连接到不同的内网服务器。而在Windows Server 2008 R2中,通过配置RD网关,可以让Internet使用“远程桌面连接”程序,通过RD网关服务器直接连接到内网的多个远程桌面计算机。下面通过图1所示的实验拓扑进行介绍。
clip_p_w_picpath002
图1 RD实验拓扑
在图1中,主机安装Windows 8,在主机上安装VMware Workstation 9。VM1、VM2是VMware Workstation中的两台虚拟机,VM1安装Windows Server 2008 R2,配置有两块虚拟网卡,第一块虚拟网卡使用VMnet8,设置192.168.80.10的IP地址,另一块虚拟网卡使用LAN Segment网卡(创建lan21),设置192.168.11.10的IP地址。另一虚拟机VM2配置一块虚拟网卡,使用lan21,这个用来模拟内网。
在配置完RD网关之后,192.168.80.1的计算机可以使用“远程桌面”直接连接到192.168.11.11的主机,而正常情况下是不能直接连接的。

1 Windows Server 2008 R2基本配置

切换到VM1的虚拟机,重命名两个网卡分别为wan与lan,如图2所示。
clip_p_w_picpath004
图2 重命名网卡
然后分别为wan与lan设置IP地址,如图3所示。
clip_p_w_picpath006 clip_p_w_picpath008
图2 设置wan网卡地址 图3 设置lan网卡地址

2 申请证书

登录一个证书服务器,为远程桌面服务申请一个证书,首先要下载CA根证书,如图2-11所示。
clip_p_w_picpath010
图2-11 下载根证书
然后将下载的根证书导入“受信任的证书颁发机构”,如图2-12所示。
clip_p_w_picpath012
图2-12 安装根证书
之后申请“服务器身份验证证书”,申请名称为“远程桌面”会话主机对外公布的名称,例如rc.msft.com,并且选中“标记密钥为可导出”,如图2-13所示。因为在Web页申请的证书会保存在“证书-当前用户”存储中,而服务器证书要保存在“证书(本地计算机)”存储中。所以需要将证书从“证书-当前用户”存储导出另用。
clip_p_w_picpath014
图2-13 申请证书
然后将证书导出,并导出私钥,如图2-14所示。
clip_p_w_picpath016
图2-14 导出证书

3 安装远程桌面服务

打开“服务器管理器”,安装远程桌面服务,主要步骤如下。
(1)右击“角色”在弹出的快捷菜单中选择“添加角色”,如图3-4所示。
clip_p_w_picpath018
图3-4 添加角色
(2)在“选择服务器角色”对话框中,单击“远程桌面服务”复选框,如图3-5所示。
clip_p_w_picpath020
图3-5 选择远程桌面服务
(3)在“选择角色服务”对话框,依次选中“远程桌面会话主机”、“远程桌面授权”、“远程桌面网关”、“远程桌面Web访问”复选框,如图3-6所示。
clip_p_w_picpath022
图3-6 选择角色服务
(4)在“指定远程桌面会话主机的身份验证方法”对话框,单击“不需要使用网络级别身份验证”,如图3-7所示。
clip_p_w_picpath024
图3-7 指定远程桌面会话主机身份验证方法
(5)在“指定授权模式”对话框,选择“每用户”,如图3-8所示。
clip_p_w_picpath026
图3-8 每用户
(6)在“选择SSL加密的服务器身份验证证书”对话框中,单击“导入”按钮,导入图2-14中导出的证书,如图3-9所示。
clip_p_w_picpath028 clip_p_w_picpath030
图3-9 导入证书 图3-10 导入后的证书
(7)其他选择默认值,直到安装完成,如图3-11所示。
clip_p_w_picpath032
图3-11 安装完成

4 配置RD网关管理器

打开“RD网关管理器”属性,在“SSL证书选项卡”中,选择“将证书导入RD网关RC证书(本地计算机)/个人存储”,单击“浏览并导入证书”按钮,选择图2-14中导出的证书,如图4-11所示。
clip_p_w_picpath034
图4-11 导入证书
然后在“服务器场”中,将当前的主机名称(RC)添加到“RD网关服务器场成员”中,如图4-12所示。
clip_p_w_picpath036
图4-12 服务器场

5 远程桌面会话主机配置

在“管理工具→远程桌面服务”中选择“远程桌面会话主机配置”,在“授权”选项组中双击“远程桌面授权服务器”,在“授权”选项卡中选择“每用户”,然后单击“添加”按钮添加当前主机为许可服务器,如图5-11、图5-12所示。
clip_p_w_picpath038 clip_p_w_picpath040
图5-11 远程桌面会话主机配置 图5-12 远程桌面授权服务器
然后双击“连接”选项组中的“RDP-Tcp”,在“常规”选项卡中,单击“选择”按钮,选择名为rc.msft.com的证书,如图5-13所示。
clip_p_w_picpath042
图5-13 选择证书

6 客户端验证

在主机上,编辑hosts文件,添加rc.msft.com的解析,使其指向192.168.80.10。然后安装根证书(为RD会话主机申请证书的证书颁发机构)。打开远程桌面连接,连接192.168.11.11,步骤如下。
(1)打开“远程桌面连接”程序,单击“显示选项”按钮,在“高级”选项卡中,单击“设置”按钮,如图6-11所示。
clip_p_w_picpath044
图6-11 设置
(2)在“连接设置”中,单击“使用这些RD网关服务器设置”,在“服务器名”文本框中输入RD网关服务器的名称rc.msft.com,如图6-12所示。如果RD网关服务器与后台受保护的服务器的密码相同,可以选中“将我的RD网关凭据用于远程计算机”单选框,如果不同,则不需要选中。
clip_p_w_picpath046
图6-12 连接设置
(3)在“常规”选项卡,在“计算机名”文本框中输入要连接的远程计算机,例如192.168.11.11,然后单击“连接”按钮,如图6-13所示。
clip_p_w_picpath048
图6-13 连接到远程计算机
(4)在“RD网关服务器凭据”对话框中,输入RD网关服务器的用户名及密码,然后单击“记住我的凭据”,如图6-14所示。
clip_p_w_picpath050
图6-14 输入RD网关服务器凭据
(5)之后会出现“登录到Windows”的提示,此时登录的是受RD网关服务器保护的内部服务器,如图6-15所示。
clip_p_w_picpath052
图6-15 连接到内部服务器

7 Internet用户验证

如果你的计算机能连接到Internet,可以让Internet用户进行验证,此时实验拓扑如图7-10所示。
clip_p_w_picpath054
图7-10 Internet用户进行验证
(1)首先修改VM1虚拟机的虚拟网卡,将原来为“NAT”的虚拟网卡修改为“桥接”,并设置IP地址、网关。我是在我家的计算机上设置的,计算机通过宽带路由器共享上网。我暂时将Windows 2008 R2的虚拟机设置为10.10.10.102的IP地址,并设置网关地址,如图7-11所示。
clip_p_w_picpath056
图7-11 设置IP地址
(2)登录宽带路由器,映射3389与443端口到10.10.10.102,如图7-12所示。
clip_p_w_picpath058
图7-12 映射3389与443端口到RD主机
(3)查看当前的IP地址,本例为27.185.227.178,如图7-13所示。
clip_p_w_picpath060
图7-13 查看当前的IP地址
(4)登录到远程的一台服务器中,修改hosts文件,添加如下一行:
27.185.227.178 rc.msft.com
如图7-14所示。
clip_p_w_picpath062
图7-14 修改hosts文件
(5)运行“远程桌面连接”,添加RD网关服务器,如图7-15所示。
clip_p_w_picpath064
图7-15 添加RD网关服务器
(6)连接到192.168.11.11,如图7-16所示。
clip_p_w_picpath066
图7-16 连接到远程桌面
(7)输入安全凭据,如图7-17所示。
clip_p_w_picpath068
图7-17 连接到RD网关服务器
(8)提示远程桌面是一个早于Windows Vista的版本,如图7-18所示。,
clip_p_w_picpath070
图7-18 提示
(9)输入192.168.11.11的用户名密码登录,如图7-19所示。
clip_p_w_picpath072
图7-19 连接到远程桌面
(10)切换到VM1的虚拟机,执行netstat -an -p tcp,可以查看远程的连接,如图7-20所示。
clip_p_w_picpath074
图7-20 查看远程的连接信息