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

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

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

用例

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

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

以以下部署为例,该部署将 NetScaler 设备配置为转发代理缓存重定向、防火墙、两台路由器(路由器 1 和路由器 2)。网络流量分别通过路由器 1 流向互联网 1 和通过路由器 2 流向互联网 2。

本地化后的图片

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

  • 如果请求必须绕过防火墙进入互联网,则根据输入请求 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 地址