配置数据中心和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协议套件的一部分)进行安全通信协商,具体如下:
两个对等体相互验证,使用预共享密钥验证,在这种验证中,对等体交换一个称为预共享密钥(PSK)的文本字符串。预共享密钥相互匹配,进行身份验证。因此,为了认证成功,必须在对等体上配置相同的预共享密钥。
然后,对等体进行协商以达成以下协议:
- 一种加密算法
- 在一个对等体上加密数据,在另一个对等体上解密数据的加密密钥。
这种关于安全协议、加密算法和加密密钥的协议称为安全联盟(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隧道之前,请考虑以下几点:
- Citrix ADC设备必须具有一个面向公共的IPv4地址(类型SNIP),以用作CloudBridge Connector隧道的隧道端点地址。另外,Citrix ADC设备不应该位于NAT设备后面。
- Azure对CloudBridge连接器隧道支持以下IPSec设置。因此,在为CloudBridge Connector隧道配置Citrix ADC时,必须指定相同的IPSec设置。
- IKE版本= v1
- 加密算法= AES
- 哈希算法= HMAC SHA1
- 必须将数据中心边缘的防火墙配置为允许以下功能。
- 任何UDP包的端口500
- 端口4500的任何UDP包
- 任何ESP (IP协议号50)数据包
- 不支持IKE重密钥,即在CloudBridge Connector隧道端点之间重新协商新的加密密钥,以建立新的安全联盟。当安全联盟(Security association)到期时,隧道进入DOWN状态。因此,必须为sa的生存期设置一个非常大的值。
- 在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连接器隧道包括以下任务:
- 在数据中心中设置Citrix ADC设备.该任务涉及部署和配置Citrix ADC物理设备(MPX),或在数据中心的虚拟化平台上配置和配置Citrix ADC虚拟设备(VPX)。
- 为CloudBridge连接器隧道配置Microsoft Azure.该任务涉及在Azure中创建本地网络、虚拟网络和网关实体。本地网络实体指定数据中心端的CloudBridge Connector隧道端点(Citrix ADC设备)的IP地址,以及流量将穿过CloudBridge Connector隧道的数据中心子网。虚拟网络在Azure上定义了一个网络。创建虚拟网络包括定义一个子网,该子网的流量将穿过要形成的CloudBridge Connector隧道。然后将本地网络与虚拟网络关联起来。最后,创建一个网关,它将成为CloudBridge连接器隧道Azure端的端点。
- 在数据中心为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
使用Citrix ADC命令行创建IPSEC隧道,并将IPSEC安全框架绑定到隧道上:
在命令提示符下,输入:
add ipTunnel
使用Citrix ADC命令行创建策略路由规则,并将IPSEC隧道与之绑定
add pbr
示例配置
以下命令创建“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隧道
通过使用web浏览器访问GUI,连接到数据中心中的Citrix ADC设备的IP地址。
导航到系统>CloudBridge连接器.
在右边窗格的下面开始,点击创建/监控CloudBridge.
点击开始.
请注意:如果您已经在Citrix ADC设备上配置了任何CloudBridge连接器隧道,则不会出现此屏幕,您将被带到CloudBridge连接器设置窗格。
在“CloudBridge Setup”窗格中,单击微软Windows Azure.
在Azure设置窗格中,在网关IP地址输入Azure网关的IP地址。然后在Citrix ADC设备和网关之间设置CloudBridge连接器隧道。在子网(IP范围)文本框中指定一个子网范围(在Azure云中),其中的流量将通过CloudBridge连接器隧道。点击继续.
在Citrix ADC设置窗格中,从本地子网IP下拉列表,选择在Citrix ADC设备上配置的公共可访问SNIP地址。在子网(IP范围)文本框中,指定一个本地子网范围,其中的流量将通过CloudBridge Connector隧道。点击继续.
在CloudBridge设置窗格中,在“CloudBridge名称”文本框中,键入要创建的CloudBridge的名称。
在“加密算法”和“哈希算法”下拉列表中,分别选择“AES”和“HMAC_SHA1”算法。在“预共享安全密钥”文本框中,输入安全密钥。
点击完成.
监控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连接器隧道统计信息
登录到Windows Azure管理门户通过使用您的微软Azure帐户凭证。
在左侧窗格中,单击网络.
在虚拟网络选项卡,在“名称”列中,选择要显示其统计信息的与CloudBridge Connector隧道关联的虚拟网络实体。
在指示板页面,查看CloudBridge Connector隧道的“DATA IN”和“DATA OUT”计数器。