在 Microsoft Azure 上的 Citrix ADC VPX 实例的网络体系结构

在 Azure Resource Manager (ARM) 中,Citrix ADC VPX 虚拟机 (VM) 驻留在虚拟网络中。可以在虚拟网络的给定子网中创建单个网络接口,并且可以连接到 VPX 实例。您可以在具有网络安全组的 Azure 虚拟网络中筛选进出 VPX 实例的网络流量。网络安全组包含允许或拒绝来自 VPX 实例的入站网络流量或出站网络流量的安全规则。有关详细信息,请参阅安全组

网络安全组筛选对 Citrix ADC VPX 实例的请求,VPX 实例将这些请求发送到服务器。来自服务器的响应以相反方向通过相同的路径。网络安全组可以配置为筛选单个 VPX 虚拟机,或者通过子网和虚拟网络,可以筛选部署多个 VPX 实例时的流量。

NIC 包含网络配置详细信息,如虚拟网络、子网、内部 IP 地址和公用 IP 地址。

在 ARM 上,最好知道以下 IP 地址用于访问使用单个网卡和单个 IP 地址部署的虚拟机:

  • 公用 IP (PIP) 地址是直接在 NetScaler 虚拟机的虚拟网卡上配置的面向 Internet 的 IP 地址。这允许您直接从外部网络访问 VM。
  • Citrix ADC IP(也称为 NSIP)地址是在 VM 上配置的内部 IP 地址。该地址不可路由。
  • 虚拟 IP 地址 (VIP) 是使用 NSIP 和端口号配置的。客户端通过 PIP 地址访问 NetScaler 服务,当请求到达 NetScaler VPX 虚拟机的网卡或 Azure 负载平衡器时,VIP 将转换为内部 IP (NSIP) 和内部端口号。
  • 内部 IP 地址是指 VM 的来自虚拟网络的地址空间池的专用内部 IP 地址。此 IP 地址无法从外部网络进行访问。此 IP 地址默认是动态的,除非您将其设置为静态。根据在 NSG 上创建的规则,来自 Internet 的流量路由到此地址。NSG 与 NIC 配合使用,以将正确类型的流量选择性发送到 NIC 上的正确端口,这取决于在 VM 上配置的服务。

下图显示了流量如何通过 ARM 中置备的 NetScaler VPX 实例从客户端传输到服务器。

本地化后的图片

通过网络地址转换的流量

您还可以为 Citrix ADC VPX 实例(实例级别)请求公用 IP (PIP) 地址。如果您在 VM 级别使用此直接 PIP,则不需要定义入站和出站规则即可拦截网络流量。来自 Internet 的传入请求直接在虚拟机上接收。Azure 执行网络地址转换 (NAT) 并将流量转发到 VPX 实例的内部 IP 地址。

下图显示 Azure 如何执行网络地址转换以映射 NetScaler 内部 IP 地址。

本地化后的图片

在此示例中,分配给 NSG 的公用 IP 地址为 140.x.x.x,内部 IP 地址为 10.x.x.x。定义入站和出站规则后,公用 HTTP 端口 80 被定义为接收客户端请求的端口,对应的专用端口 10080 被定义为 Citrix ADC VPX 实例侦听的端口。客户端请求在公用 IP 地址 (140.x.x.x) 上接收。Azure 执行网络地址转换,以将 PIP 映射到端口 10080 上的内部 IP 地址 10.x.x.x,并转发客户端请求。

注意

高可用性的 Citrix ADC VPX 虚拟机由外部或内部负载平衡器控制,这些均衡器在其上定义了入站规则,以控制负载平衡流量。外部流量首先被这些负载平衡器拦截,流量将根据配置的负载平衡规则进行转移,该规则包含在负载平衡器上定义的后端池、NAT 规则和运行状况探测。

端口使用指南

您可以在创建 Citrix ADC VPX 实例时或在置备虚拟机之后配置更多入站和出站规则 n NSG。每个入站和出站规则都与一个公用端口和一个专用端口相关联。

在配置 NSG 规则之前,请注意以下关于可使用的端口号的指南:

  1. Citrix ADC VPX 实例保留以下端口。在使用公用 IP 地址处理来自 Internet 的请求时,不能将这些端口定义为专用端口。

    端口 21、22、80、443、8080、67、161、179、500、520、3003、3008、3009、3010、3011、4001、5061、9000、7000。

    但是,如果您希望 VIP 等面向 Internet 的服务使用标准端口(例如端口 443),则必须使用 NSG 创建端口映射。然后,标准端口会映射到 NetScaler 上为此 VIP 服务配置的其他某个端口。

    例如,VIP 服务可能正在 VPX 实例上的端口 8443 上运行,但映射到公用端口 443。因此,当用户通过公用 IP 访问端口 443 时,请求被定向到专用端口 8443。

  2. 公用 IP 地址不支持动态打开端口映射的协议,例如被动 FTP 或 ALG。

  3. 高可用性不适用于使用与 VPX 实例关联的公用 IP 地址 (PIP) 而不是在 Azure 负载均衡器上配置的 PIP 的流量。有关详细信息,请参阅使用单个 IP 地址和单个 NIC 配置高可用性设置

  4. 在 NetScaler Gateway 部署中,您无需配置 SNIP 地址,因为在未配置 SNIP 的情况下,可将 NSIP 用作 SNIP。 必须通过使用 NSIP 地址和一些非标准端口号来配置 VIP 地址。对于后端服务器上的回调配置,VIP 端口号必须与 VIP URL(例如 url: port)一起指定。

注意

在 Azure Resource Manager 中,Citrix ADC VPX 实例与两个 IP 地址关联:一个公用 IP 地址 (PIP) 和一个内部 IP 地址。外部流量连接到 PIP,而内部 IP 地址或 NSIP 是不可路由的。要在 VPX 中配置 VIP,请使用内部 IP 地址 (NSIP) 和任何可用的空闲端口。请勿使用 PIP 来配置 VIP。

例如,如果 Citrix ADC VPX 实例的 NSIP 为 10.1.0.3,可用的空闲端口为 10022,那么您可以通过提供 10.1.0.3:10022(NSIP 地址+端口)组合来配置 VIP。

在 Microsoft Azure 上的 Citrix ADC VPX 实例的网络体系结构