Citrix ADC

配置数据中心和Azure云之间的CloudBridge连接器隧道

Citrix ADC设备提供企业数据中心和微软云托管提供商Azure之间的连接,使Azure成为企业网络的无缝扩展。Citrix ADC对企业数据中心和Azure云之间的连接进行加密,以便在两者之间传输的所有数据都是安全的。

CloudBridge连接器隧道如何工作

要将数据中心连接到Azure云,需要在驻留在数据中心中的Citrix ADC设备和驻留在Azure云中的网关之间设置CloudBridge Connector隧道。数据中心中的Citrix ADC设备和Azure云中的网关是CloudBridge连接器隧道的端点,被称为CloudBridge连接器隧道的对等点。

局部的图片

数据中心和Azure云之间的CloudBridge Connector隧道使用开放标准的IPSec (Internet Protocol security)协议套件,以隧道模式保护CloudBridge Connector隧道中对等体之间的通信。在CloudBridge Connector隧道中,IPSec可以确保:

  • 数据完整性
  • 数据源认证
  • 数据保密(加密)
  • 防止重放攻击

IPSec采用隧道方式,先对完整的IP报文进行加密,再对其进行封装。加密采用ESP (Encapsulating Security Payload)协议,通过HMAC哈希函数保证报文的完整性,通过加密算法保证报文的机密性。ESP协议对负载进行加密并计算HMAC后,生成ESP报头,并插入到加密的IP报文前面。ESP协议还生成一个ESP拖车,并将其插入到报文的末尾。

IPSec协议通过在ESP头之前添加一个IP头来封装产生的报文。在IP头中,目的IP地址设置为CloudBridge connector对等体的IP地址。

CloudBridge Connector隧道中的对等体使用IKEv1 (Internet Key Exchange version 1)协议(IPSec协议套件的一部分)进行安全通信协商,具体如下:

  1. 两个对等体相互验证,使用预共享密钥验证,在这种验证中,对等体交换一个称为预共享密钥(PSK)的文本字符串。预共享密钥相互匹配,进行身份验证。因此,为了认证成功,必须在对等体上配置相同的预共享密钥。

  2. 然后,对等体进行协商以达成以下协议:

    • 一种加密算法
    • 在一个对等体上加密数据,在另一个对等体上解密数据的加密密钥。

    这种关于安全协议、加密算法和加密密钥的协议称为安全联盟(security Association, SA)。sa是单向的(单形)。例如,当在数据中心中的Citrix ADC设备和Azure云中的网关之间建立CloudBridge Connector隧道时,数据中心设备和Azure网关都有两个sa。一个安全联盟用于处理出方向的报文,另一个安全联盟用于处理入方向的报文。sa在指定的时间间隔(称为生存期)后到期。

CloudBridge连接器隧道配置和数据流示例

作为CloudBridge连接器隧道的演示,考虑一个示例,在数据中心中的Citrix ADC设备CB_Appliance-1和Azure云中的网关Azure_Gateway-1之间建立CloudBridge连接器隧道。

CB_Appliance-1还充当L3路由器,它使数据中心中的私有网络通过CloudBridge Connector隧道到达Azure云中的私有网络。作为路由器,CB_Appliance-1支持通过CloudBridge Connector隧道在数据中心中的客户机CL1和Azure云中的服务器S1之间进行通信。客户端CL1和服务器S1在不同的私网中。

在CB_Appliance-1上,CloudBridge Connector隧道配置包括一个名为CB_Azure_IPSec_Profile的IPSec安全框架实体、一个名为CB_Azure_Tunnel的CloudBridge Connector隧道实体和一个名为CB_Azure_Pbr的策略路由实体。

IPSec安全框架实体CB_Azure_IPSec_Profile指定了CloudBridge Connector隧道中IPSec协议使用的IKE版本、加密算法、哈希算法等IPSec协议参数。CB_Azure_IPSec_Profile绑定IP隧道实体CB_Azure_Tunnel。

CloudBridge连接器隧道实体CB_Azure_Tunnel指定本端IP地址(Citrix ADC设备上配置的一个公共IP (SNIP)地址)、远端IP地址(Azure_Gateway-1的IP地址)和用于建立CloudBridge连接器隧道的协议(IPSec)。CB_Azure_Tunnel与策略路由实体CB_Azure_Pbr绑定。

策略路由实体CB_Azure_Pbr指定了一组条件和一个CloudBridge连接器隧道实体(CB_Azure_Tunnel)。源IP地址段和目的IP地址段是CB_Azure_Pbr的条件。源IP地址范围指定为数据中心的子网,目的IP地址范围指定为Azure云的子网。任何来自数据中心子网中的客户端、目的地为Azure云子网中的服务器的请求包都匹配CB_Azure_Pbr中的条件。然后,该数据包被认为是CloudBridge处理,并通过与策略路由实体绑定的CloudBridge连接器隧道(CB_Azure_Tunnel)发送。

在Microsoft Azure上,CloudBridge Connector隧道配置包括一个名为My-Datacenter-Network的本地网络实体、一个名为Azure- network -for CloudBridge- tunnel的虚拟网络实体和一个名为Azure_Gateway-1的网关。

本地(本地到Azure)网络实体My-Datacenter-Network指定数据中心端的Citrix ADC设备的IP地址,以及流量将穿过CloudBridge Connector隧道的数据中心子网。虚拟网络实体Azure- network -for cloudbridge - tunnel在Azure中定义了一个名为Azure- subnet -1的私有子网。子网的流量通过CloudBridge Connector隧道。服务器S1在该子网中发放。

本地网络实体“My-Datacenter-Network”与虚拟网络实体“azure - network -for cloudbridge - tunnel”关联。这种关联定义了Azure中CloudBridge连接器隧道配置的远程和本地网络细节。网关Azure_Gateway-1是为该关联创建的,以成为CloudBridge连接器隧道Azure端上的CloudBridge端点。

局部的图片

有关设置的更多信息,请参阅CloudBridge连接器隧道设置pdf。

CloudBridge连接器隧道配置需要考虑的要点

在配置数据中心中的Citrix ADC设备与Microsoft Azure之间的CloudBridge Connector隧道之前,请考虑以下几点:

  1. Citrix ADC设备必须具有一个面向公共的IPv4地址(类型SNIP),以用作CloudBridge Connector隧道的隧道端点地址。另外,Citrix ADC设备不应该位于NAT设备后面。
  2. Azure对CloudBridge连接器隧道支持以下IPSec设置。因此,在为CloudBridge Connector隧道配置Citrix ADC时,必须指定相同的IPSec设置。
    • IKE版本= v1
    • 加密算法= AES
    • 哈希算法= HMAC SHA1
  3. 必须将数据中心边缘的防火墙配置为允许以下功能。
    • 任何UDP包的端口500
    • 端口4500的任何UDP包
    • 任何ESP (IP协议号50)数据包
  4. 不支持IKE重密钥,即在CloudBridge Connector隧道端点之间重新协商新的加密密钥,以建立新的安全联盟。当安全联盟(Security association)到期时,隧道进入DOWN状态。因此,必须为sa的生存期设置一个非常大的值。
  5. 在Citrix ADC上指定隧道配置之前,必须先配置Microsoft Azure,因为隧道的Azure端(网关)的公网IP地址和PSK是在Azure中设置隧道配置时自动生成的。您需要这些信息来指定Citrix ADC上的隧道配置。

配置CloudBridge Connector隧道

为了在您的数据中心和Azure之间设置CloudBridge Connector隧道,您必须在您的数据中心安装CloudBridge VPX/MPX,为CloudBridge Connector隧道配置Microsoft Azure,然后在数据中心为CloudBridge Connector隧道配置Citrix ADC设备。

配置数据中心中的Citrix ADC设备与Microsoft Azure之间的CloudBridge连接器隧道包括以下任务:

  1. 在数据中心中设置Citrix ADC设备.该任务涉及部署和配置Citrix ADC物理设备(MPX),或在数据中心的虚拟化平台上配置和配置Citrix ADC虚拟设备(VPX)。
  2. 为CloudBridge连接器隧道配置Microsoft Azure.该任务涉及在Azure中创建本地网络、虚拟网络和网关实体。本地网络实体指定数据中心端的CloudBridge Connector隧道端点(Citrix ADC设备)的IP地址,以及流量将穿过CloudBridge Connector隧道的数据中心子网。虚拟网络在Azure上定义了一个网络。创建虚拟网络包括定义一个子网,该子网的流量将穿过要形成的CloudBridge Connector隧道。然后将本地网络与虚拟网络关联起来。最后,创建一个网关,它将成为CloudBridge连接器隧道Azure端的端点。
  3. 在数据中心为CloudBridge Connector隧道配置Citrix ADC设备.该任务涉及在数据中心的Citrix ADC设备中创建IPSec配置文件、IP隧道实体和策略路由实体。IPSec安全框架实体指定了CloudBridge Connector隧道中使用的IPSec协议参数,包括IKE版本、加密算法、哈希算法、PSK等。IP隧道指定CloudBridge连接器隧道端点(数据中心中的Citrix ADC设备和Azure中的网关)的IP地址和CloudBridge连接器隧道中使用的协议。然后将IPSec安全框架实体与IP隧道实体进行关联。策略路由实体指定数据中心和Azure云中的两个子网,它们将通过CloudBridge连接器隧道相互通信。将IP隧道实体与策略路由实体进行关联。

为CloudBridge连接器隧道配置Microsoft Azure

要在Microsoft Azure上创建CloudBridge连接器隧道配置,请使用Microsoft Windows Azure管理门户,这是一个基于web的图形界面,用于在Microsoft Azure上创建和管理资源。

在Azure云中开始CloudBridge连接器隧道配置之前,请确保:

  • 您有Microsoft Azure的用户帐户。
  • 您对Microsoft Azure有一个概念上的理解。
  • 您熟悉Microsoft Windows Azure管理门户。

要配置数据中心和Azure云之间的CloudBridge Connector隧道,请使用Microsoft Windows Azure管理门户在Microsoft Azure上执行以下任务:

  • 创建本地网络实体.在Windows Azure中创建一个本地网络实体,用于指定数据中心的网络细节。本地网络实体指定数据中心端的CloudBridge Connector隧道端点(Citrix ADC)的IP地址,以及流量要通过CloudBridge Connector隧道的数据中心子网。
  • 创建虚拟网络.在Azure上创建定义网络的虚拟网络实体。此任务包括定义私有地址空间,在其中提供属于地址空间中指定范围的私有地址和子网的范围。子网的流量将穿过CloudBridge连接器隧道。然后将本地网络实体与虚拟网络实体关联起来。这种关联允许Azure为虚拟网络和数据中心网络之间的CloudBridge Connector隧道创建配置。在Azure中为这个虚拟网络创建的网关将是CloudBridge Connector隧道Azure端上的CloudBridge端点。然后为要创建的网关定义一个私有子网。该子网属于虚拟网络实体地址空间中指定的范围。
  • 在Windows Azure中创建一个网关.创建一个网关,它将成为CloudBridge连接器隧道Azure端的端点。Azure从它的公共IP地址池中分配一个IP地址给创建的网关。
  • 收集网关的公网IP地址和预共享密钥。对于Azure上的CloudBridge Connector隧道配置,网关的公网IP地址和PSK (pre-shared Key)由Azure自动生成。把这些信息记下来。在数据中心的Citrix ADC上配置CloudBridge Connector隧道时将需要它。

注意:

为CloudBridge连接器隧道配置Microsoft Azure的过程可能会随着时间的推移而改变,这取决于Microsoft Azure的发布周期。有关最新的程序,请参阅Microsoft Azure文档

在数据中心为CloudBridge Connector隧道配置Citrix ADC设备

要在数据中心和Azure云之间配置CloudBridge Connector隧道,需要在数据中心的Citrix ADC上执行以下任务。您可以使用Citrix ADC命令行或GUI:

  • 创建IPSec安全框架.IPSec安全框架实体指定了CloudBridge Connector隧道中使用的IPSec协议参数,如IKE版本、加密算法、哈希算法、PSK等。
  • 创建带IPSec协议的IP隧道,并关联IPSec安全框架.IP隧道指定本端IP地址(Citrix ADC设备上配置的公共SNIP地址)、远端IP地址(Azure中网关的公共IP地址)、用于建立CloudBridge Connector隧道的协议(IPSec)和IPSec配置文件实体。创建的IP隧道实体也称为CloudBridge Connector隧道实体。
  • 创建策略路由规则,并关联IP隧道.策略路由实体指定了一组条件和一个IP隧道(CloudBridge Connector隧道)实体。源IP地址段和目的IP地址段是策略路由实体存在的条件。源IP地址范围用于指定要穿过该隧道的数据中心子网,目的IP地址范围用于指定要穿过CloudBridge Connector隧道的Azure子网。任何从数据中心子网中的客户端发出、到Azure云子网中的服务器的请求报文都匹配策略路由实体的源IP和目的IP范围。然后将此数据包考虑为CloudBridge连接器隧道处理,并通过与策略路由实体关联的CloudBridge连接器隧道发送。

GUI将所有这些任务组合在一个名为CloudBridge Connector的向导中。使用Citrix ADC命令行创建IPSEC安全框架:

在命令提示符下,输入:

add ipsec profile -psk -ikeVersion v1

使用Citrix ADC命令行创建IPSEC隧道,并将IPSEC安全框架绑定到隧道上:

在命令提示符下,输入:

add ipTunnel -protocol IPSEC -ipsecProfileName .使用实例

使用Citrix ADC命令行创建策略路由规则,并将IPSEC隧道与之绑定

add pbr ALLOW -srcIP -destIP ipTunnel apply pbrs .使用实例

示例配置

以下命令创建“CloudBridge连接器配置和数据流示例”中使用的Citrix ADC设备CB_Appliance-1的所有设置。

> add ipsec profile CB_Azure_IPSec_Profile -psk DkiMgMdcbqvYREEuIvxsbKkW0FOyDiLM -ikeVersion v1 -lifetime 31536000 Done > add iptunnel CB_Azure_Tunnel 168.63.252.133 255.255.255.255 66.165.176.15 -protocol ipsec -ipsecProfileName CB_Azure_IPSec_Profile Done > add pbr CB_Azure_Pbr -srcIP 10.102.140.7 -10.102.147.255 -destIP 10.20.0.0-10.20.255.255 -ipTunnelCB_Azure_Tunnel Done > apply pbrs Done 

使用GUI在Citrix ADC设备中配置CloudBridge Connector隧道

  1. 通过使用web浏览器访问GUI,连接到数据中心中的Citrix ADC设备的IP地址。

  2. 导航到系统>CloudBridge连接器

  3. 在右边窗格的下面开始,点击创建/监控CloudBridge

  4. 点击开始

    局部的图片

    请注意:如果您已经在Citrix ADC设备上配置了任何CloudBridge连接器隧道,则不会出现此屏幕,您将被带到CloudBridge连接器设置窗格。

  5. 在“CloudBridge Setup”窗格中,单击微软Windows Azure

    局部的图片

  6. 在Azure设置窗格中,在网关IP地址输入Azure网关的IP地址。然后在Citrix ADC设备和网关之间设置CloudBridge连接器隧道。在子网(IP范围)文本框中指定一个子网范围(在Azure云中),其中的流量将通过CloudBridge连接器隧道。点击继续

    局部的图片

  7. 在Citrix ADC设置窗格中,从本地子网IP下拉列表,选择在Citrix ADC设备上配置的公共可访问SNIP地址。在子网(IP范围)文本框中,指定一个本地子网范围,其中的流量将通过CloudBridge Connector隧道。点击继续

    局部的图片

  8. CloudBridge设置窗格中,在“CloudBridge名称”文本框中,键入要创建的CloudBridge的名称。

    局部的图片

  9. 在“加密算法”和“哈希算法”下拉列表中,分别选择“AES”和“HMAC_SHA1”算法。在“预共享安全密钥”文本框中,输入安全密钥。

  10. 点击完成

监控CloudBridge Connector隧道

您可以查看用于监视数据中心中的Citrix ADC设备与Microsoft Azure之间的CloudBridge Connector隧道性能的统计数据。要查看Citrix ADC设备上的CloudBridge连接器隧道统计信息,请使用GUI或Citrix ADC命令行。要在Microsoft Azure中查看CloudBridge连接器隧道统计信息,请使用Microsoft Windows Azure管理门户。

在Citrix ADC设备中显示CloudBridge连接器隧道统计信息

有关在Citrix ADC设备上显示CloudBridge连接器隧道统计信息的信息,请参见监控CloudBridge连接器隧道

在Microsoft Azure中显示CloudBridge连接器隧道统计信息

下表列出了用于监视Microsoft Azure中的CloudBridge Connector隧道的统计计数器。

统计计数器 指定
数据 自创建网关以来,Azure网关通过CloudBridge Connector隧道接收的总千字节数。
数据 自创建网关以来,Azure网关通过CloudBridge Connector隧道发送的总千字节数。

使用Microsoft Windows Azure管理门户显示CloudBridge连接器隧道统计信息

  1. 登录到Windows Azure管理门户通过使用您的微软Azure帐户凭证。

  2. 在左侧窗格中,单击网络

  3. 虚拟网络选项卡,在“名称”列中,选择要显示其统计信息的与CloudBridge Connector隧道关联的虚拟网络实体。

    局部的图片

  4. 指示板页面,查看CloudBridge Connector隧道的“DATA IN”和“DATA OUT”计数器。

    局部的图片

配置数据中心和Azure云之间的CloudBridge连接器隧道