可以通过用户指定的显式地址(源 NAT (SNAT) IP 地址)覆盖 NSX Advanced Load Balancer SE 用于服务器后端连接的源 IP 地址。
可以在虚拟服务配置中指定 SNAT IP 地址。
IPv6 不支持该功能。
SE SNAT 用途
在一些部署中,需要根据源 IP 地址识别流量,以根据应用程序提供差异化的处理。例如,在 DMZ 部署中,在将客户端的流量传送到应用程序之前,防火墙、安全性、可见性和其他类型的解决方案可能需要验证客户端。此类部署使用源 IP 验证客户端。
单个 SE 可以托管多个 VIP,因此,位于 SE 和后端服务器之间的防火墙通常会看到所有流量来自相同的 SE 接口 IP,而无论流量属于哪个虚拟服务。相比之下,对于每个 VS 的 SNAT,防火墙将看到一个源 IP,它可以使用该 IP 根据流量来自的应用程序筛选流量(因为防火墙知道管理员设置的 VS-SNAT-IP 映射)。
在以下示例中,使用 SNAT 识别 VIP 流量的应用程序类型。发送到电子邮件服务器的流量必须通过垃圾邮件筛选器和防病毒软件检查,而发送到 DocShare 服务器的流量需要进行防病毒软件和恶意软件筛选器检查。
(拓扑表示形式是逻辑而不是物理的。例如,电子邮件和 DocShare 服务器可能在同一主机上运行并位于同一个池中。例如,电子邮件或 DocShare 服务器集不需要通过单个分段以物理方式连接到网络的其余部分,等等。)
每个 SE 一个 SNAT 地址
如果虚拟服务使用 SNAT,对于虚拟服务可能使用的每个 SE,虚拟服务的配置必须包括一个唯一的 SNAT 地址。例如,如果最多可以将虚拟服务池的 SE 组扩展到 4 个 SE,则虚拟服务配置中的 SNAT 列表必须包含 4 个唯一的 SNAT 地址。
与某些其他负载均衡系统不同,NSX Advanced Load Balancer 不要求每个虚拟服务使用整个 SNAT IP 地址池,即使单个负载均衡设备也是如此。NSX Advanced Load Balancer 没有单个设备 64k 个端口号的限制。NSX Advanced Load Balancer 旨在允许单个源 IP 与应用程序的后端服务器之间具有超过 64k 个连接。最多可以与每个后端服务器建立 48k 个打开连接。
服务器需要使用原始客户端源 IP 地址
默认情况下,NSX Advanced Load Balancer 服务引擎 (SE) 对客户端源地址执行源网络地址转换 (Source Network Address Translation, SNAT)。这意味着,应用程序服务器将 NSX Advanced Load Balancer SE 的 IP 地址视为流量的源 IP。
对于 HTTP 流量,请考虑启用 X-Forward-For 标头,它将原始客户端 IP 插入到客户端请求的 HTTP 标头中。
对于无状态 UDP 协议(例如 DNS 或 Syslog),可以设置 TCP/UDP 网络配置文件以停用源 NAT。
除了 SNAT 以外,还可以为应用程序服务器配置一个指向服务引擎 IP 地址的默认网关,以便所有流量通过 SE 路由回客户端。有关该内容的更多信息,请参见默认网关(NSX Advanced Load Balancer SE 上的 IP 路由)。