双跳DMZ部署中的通信流程
要理解双跳DMZ部署中涉及的配置问题,您必须对双跳DMZ部署中的各种Citrix Gateway和Citrix Virtual Apps组件如何通信以支持用户连接有一个基本的了解。StoreFront与Web Interface的连接过程相同。
尽管用户连接过程发生在一个连续流中,但该过程涉及以下高级步骤。
- 验证用户身份
- 创建会话票证
- 启动Citrix Workspace应用程序
- 完成连接
下图显示了用户连接StoreFront或Web Interface过程中的步骤。在安全网络中,运行Citrix虚拟应用程序的计算机还运行安全票证授权(STA)、XML服务和已发布的应用程序。
连接过程
对用户进行身份验证是双跳DMZ部署中用户连接过程的第一步。
该部署的用户连接流程如下图所示。
在用户认证阶段,基本流程如下:
- 用户输入Citrix网关地址,如:https://www.ng.wxyco.com连接到第一个DMZ中的Citrix Gateway。如果您在Citrix网关侧启用了登录页面认证,则由Citrix网关对用户进行认证。
- 第一个DMZ中的Citrix网关接收请求。
- Citrix网关将web浏览器连接重定向到web界面。
- Web接口将用户凭据发送到内部网络中服务器场中运行的Citrix XML服务。
- Citrix XML Service对用户进行身份验证。
XML服务创建授权用户访问的已发布应用程序的列表,并将该列表发送到Web界面。
注意:
如果在Citrix Gateway上启用身份验证,设备将向用户发送Citrix Gateway登录页面。用户在登录页面上输入身份验证凭据,设备对用户进行身份验证。然后,Citrix Gateway将用户凭据返回给Web界面。
如果不启用鉴权,则Citrix网关不进行鉴权。设备连接到Web界面,检索Web界面登录页面,并将Web界面登录页面发送给用户。用户在Web界面登录页面上输入认证凭据,Citrix网关将用户凭据传递回Web界面。
在双跳DMZ部署中,创建会话票证是用户连接过程的第二阶段。
在会话票证创建阶段,发生以下基本过程:
- Web接口与内部网络中的XML服务和安全票证授权机构(STA)通信,为授权用户访问的每个已发布的应用程序生成会话票证。会话票证包含运行Citrix虚拟应用程序的计算机的别名地址,该计算机承载已发布的应用程序。
- STA保存承载已发布应用程序的服务器的IP地址。然后STA将请求的会话票证发送到Web接口。每个会话票证都包含一个别名,该别名表示承载发布应用程序的服务器的IP地址,但不是实际的IP地址。
Web界面为每个发布的应用程序生成一个ICA文件。ICA文件包含STA发出的票据。然后,Web界面创建并填充一个包含已发布应用程序链接列表的网页,并将该网页发送到用户设备上的Web浏览器。
启动Citrix Workspace应用程序是双跳DMZ部署中用户连接过程的第三个阶段。基本流程如下:
用户在Web界面中单击指向已发布应用程序的链接。Web界面将发布的应用程序的ICA文件发送到用户设备的浏览器。
ICA文件包含指示web浏览器启动Receiver的数据。
ICA文件还包含第一个DMZ区域中Citrix网关的FQDN (fully qualified domain name)或DNS (domain name System)名称。
web浏览器启动Receiver,用户使用ICA文件中的Citrix Gateway名称连接到第一个DMZ中的Citrix Gateway。发生初始SSL/TLS握手,以建立运行Citrix网关的服务器的身份。
完成连接是双跳DMZ部署中用户连接过程的第四个阶段,也是最后一个阶段。
在连接完成阶段,发生以下基本过程:
- 用户在Web界面中单击指向已发布应用程序的链接。
- 浏览器接收到web Interface生成的ICA文件,并启动Citrix Workspace应用程序。注:ICA文件中包含指示浏览器启动Citrix Workspace应用程序的代码。
- Citrix Workspace应用程序启动到第一个DMZ中的Citrix Gateway的ICA连接。
- 位于第一个DMZ区的Citrix Gateway与内部网络中的STA通信,将会话票据中的别名地址解析为运行Citrix Virtual Apps或StoreFront的计算机的真实IP地址。此通信由Citrix Gateway代理通过第二个DMZ代理。
- 第一个DMZ中的Citrix Gateway完成到Citrix Workspace应用程序的ICA连接。
- Citrix Workspace应用程序现在可以通过Citrix网关设备与内部网络上运行Citrix Virtual Apps的计算机进行通信。
完成用户连接过程的具体步骤如下:
- Citrix Workspace应用程序将发布应用程序的STA票证发送到第一个DMZ中的Citrix Gateway。
- 第一个DMZ中的Citrix Gateway与内部网络中的STA联系以验证票据。为了与STA联系,Citrix Gateway与第二个DMZ中的Citrix Gateway代理建立SOCKS或SOCKS SSL连接。
- 第二个DMZ中的Citrix Gateway代理将票证验证请求传递给内部网络中的STA。STA验证票证并将其映射到运行Citrix Virtual Apps的计算机,该计算机托管已发布的应用程序。
- STA向第二个DMZ中的Citrix Gateway代理发送响应,该响应被传递到第一个DMZ中的Citrix Gateway。此响应完成票证验证,并包含承载已发布应用程序的计算机的IP地址。
- 第一个DMZ中的Citrix Gateway将Citrix Virtual Apps服务器的地址合并到用户连接数据包中,并将该数据包发送给第二个DMZ中的Citrix Gateway代理。
- 第二个DMZ中的Citrix Gateway代理向连接数据包中指定的服务器发出连接请求。
- 服务器响应第二个DMZ中的Citrix Gateway代理。第二个DMZ中的Citrix Gateway代理将此响应传递给第一个DMZ中的Citrix Gateway,以完成服务器与第一个DMZ中的Citrix Gateway之间的连接。
- 第一个DMZ中的Citrix网关通过将最终连接数据包传递给用户设备来完成与用户设备的SSL/TLS握手。完成用户设备与服务器的连接。
- 用户设备与服务器之间的ICA流量通过位于第一个DMZ区的Citrix Gateway和位于第二个DMZ区的Citrix Gateway代理。