将请求的目标 IP 地址转换为来源 IP 地址

您可以在 Citrix ADC 设备上配置正向代理缓存重定向虚拟服务器,以将缓存重定向虚拟服务器上的请求的目标 IP 地址转换为源服务器 IP 地址。无论请求是发送到缓存的服务器还是原始服务器,都会进行这种转换。 以前,由于使用内容交换策略的缓存重定向存在限制,服务提供商环境中的转发代理缓存重定向虚拟服务器无法有效用于通过防火墙发送流量。将数据包发送到缓存时,缓存重定向虚拟服务器未将源 IP 地址转换为目标 IP。仅当缓存服务器提供请求时,目标 IP 地址才是源服务器的 IP 地址。

注意: 透明缓存重定向虚拟服务器不支持将请求的目标 IP 地址转换为源 IP 地址。对于透明的缓存重定向虚拟服务器,必须将此选项设置为 OFF。

用例

在将 Citrix ADC 设备配置为正向代理缓存重定向、防火墙和重复使用的客户端 IP 地址的部署中,防火墙无法区分/使用重复使用的 IP 地址。因此,必须将这些重复使用的 IP 地址转换为不同的 IP 地址。要转换重复使用的 IP 地址,Citrix ADC 设备必须执行以下操作:

  1. 查询 DNS 负载平衡虚拟服务器以解析目标。
  2. 更新目标中的源 IP 地址和端口号。
  3. 将请求发送回防火墙。

考虑以下部署,其中配置了用于正向代理缓存重定向的 Citrix ADC 设备、防火墙、两台路由器(路由器 1 和路由器 2)。网络流量分别通过路由器 1 流向 Internet 1 和通过路由器 2 流向 Internet 2。

本地化后的图片

在此示例中,来自客户端的输入请求来自两个不同的 VLAN,即 VLAN11 或 VLAN12。客户端 IP 地址 (10.0.0.0) 被重复使用。 根据缓存重定向和内容交换策略,请求可以直接发送到原始服务器或防火墙。

  • 如果请求必须绕过防火墙进入 Internet,则根据输入请求 VLAN,选择路由器 1 或路由器 2,然后将请求发送到 Internet 1 或 Internet 2。

  • 如果请求必须通过防火墙,则必须将请求的源 IP 转换为特定的 IP 地址。转换后的 IP 地址可用于识别请求通过的 VLAN。例如,如果输入请求来自 VLAN11,则源 IP 地址将转换为 11.x.x.x。如果请求来自 VLAN12,则源 IP 地址将转换为 12.x.x.x。

防火墙处理请求后,将请求发送回设备。然后,设备使用监听策略和网络配置文件将源 IP 地址转换回原始 IP 地址,并根据输入 VLAN ID 将请求发送到路由器 1 或路由器 2。

注意: 绑定到缓存的负载平衡虚拟服务器的模式必须始终设置为 MAC 模式。尽管此功能的 IP 模式未被阻止,但设置为 IP 模式会导致意外行为。

使用 CLI 将请求的目标 IP 地址和端口号转换为源 IP 地址

在命令提示窗口中,键入:

set cr vserver <vsname> -useoriginIpPortForCache <YES|NO>
<!--NeedCopy-->

示例

set cr vserver cvsrv1 -useoriginIpPortForCache YES
<!--NeedCopy-->

当 useOriginipportForCache 设置为“是”时,如果请求必须由缓存的服务器提供,则请求的目标 IP 将转换为源服务器 IP 地址。

注意:如果启用了 useOriginipportForCache,请务必将绑定到缓存的负载平衡虚拟服务器设置为 MAC 模式。

使用 GUI 将请求的目标 IP 地址和端口转换为源 IP 地址

  1. 导航到“流量管理”>“缓存重定向”>“虚拟服务器”,然后单击“添加”。

  2. 指定缓存重定向虚拟服务器的详细信息。

  3. 选择“使用源 IP 端口 进行缓存”以启用将请求的目标 IP 地址转换为源 IP 地址。

  4. 单击确定

将请求的目标 IP 地址转换为来源 IP 地址