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

可以在 Citrix ADC 设备上配置转发代理缓存重定向虚拟服务器,以便将缓存重定向虚拟服务器上登录的请求的目标 IP 地址转换为源服务器 IP 地址。无论请求是发送到缓存的服务器还是源服务器,都会发生此转换。以 前,服务提供商环境中的转发代理缓存重定向虚拟服务器无法有效地用于跨防火墙发送流量,因为使用内容切换策略进行缓存重定向的限制。当数据包发送到缓存时,缓存重定向虚拟服务器没有将源 IP 地址转换为目标 IP。只有从缓存服务器提供请求时,目标 IP 地址才是源服务器的 IP 地址。

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

用例

在为转发代理缓存重定向、防火墙和重复使用的客户端 IP 地址配置了 Citrix ADC 设备的部署中,防火墙无法区分/使用重复使用的 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>

示例

set cr vserver cvsrv1 -useoriginIpPortForCache YES

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

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

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

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

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

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

  4. 单击确定

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