NAT 负载均衡概述

主题:

网络地址转换 (NAT) 和负载均衡 (LB) 提供在多个类似的网络资源之间平衡传入流量的功能。不要将它与防火墙中的 WAN ISP 和 LB 功能混淆。尽管两种功能可以配合使用,但 WAN ISP 和 LB 用于平衡两个 ISP 连接之间的传出流量,而 NAT LB 主要用于平衡传入流量。

负载均衡可在类似的网络资源之间分配流量,以避免单个服务器负载过重,从而提高可靠性和冗余度。如果一个服务器变为不可用,流量将会路由至其他可用资源,从而获得最大的正常运行时间。

本部分将详细说明如何配置必要的 NAT、负载均衡、运行状况检查、记录和防火墙规则,以便公用互联网中的系统访问映射至一个或多个内部系统(例如 Web 服务器、FTP 服务器或 SonicWALL SRA 设备)的虚拟 IP (VIP)。假设防火墙自身未在使用相关端口,此虚拟 IP 可能独立于防火墙,也可能是共享的。

NAT LB 机制

NAT 负载均衡是在 添加/编辑 NAT 策略对话框的高级选项卡中配置的。

注:只有在 NAT 策略常规选项卡的其中一个下拉字段中指定某个组之后,才能激活此选项卡。否则,NAT 策略默认将粘性 IP 设为 NAT 方法。

SonicOS 提供以下高级配置选项:

NAT 方法
1
粘性 IP – 源 IP 始终连接到相同的目标 IP(假定该 IP 是可达的)。此方法最适合需要连接持续性的公共托管站点,例如 Web 应用程序、Web 表单或购物车应用程序等。它是默认机制,推荐用于多数部署。
轮循机制 – 源 IP 针对各个连接,循环使用各个有效的负载均衡资源。此方法最适合在不需要持续性的情况下提供均等的负载分配。
块重映射/对称重映射 – 这两种方法适用于您知道源 IP 地址/网络的情况(例如在您想要精确控制流量如何从一个子网转换至另一个子网时)。
随机分配 – 源 IP 以随机方式连接到目标 IP。此方法适用于希望在内部资源之间随机分布流量的情况。
2
高可用性
1
还可以选择启用探测。选中该选项后,防火墙将使用以下两种方法中的一种来探测负载均衡组中的地址:使用简单的 ICMP ping 查询来确定资源是否有效;或者通过 TCP 套接字 open 查询来确定资源是否有效。防火墙可根据可配置的间隔时间,在资源失去响应时不向其定向流量,并在资源再次恢复响应后恢复其流量。

选择启用探测后,以下选项可用:

每隔 n 秒探测一次主机 – 指定主机探测的时间间隔。默认值为 5 秒。
探测类型 - 从下拉菜单中选择探测类型,例如 TCP。默认值为 TCP
端口 – 指定端口。默认值为 80
响应超时 – 指定超时之前的最长时间。默认值为 3 秒。
n 次丢失的间隔后使主机失效 – 指定主机在失效之前可以丢失的最大间隔数。默认值为 3
n 次成功的间隔后使主机有效 – 指定主机在重新激活之前所需的最小成功间隔数。默认值为 3
启用端口探测 – 选择该选项以启用端口探测。
把 RST 响应计做丢失 – 选择该选项以将 RST 响应计为丢失。默认情况下已选中该选项。

确定要使用的 NAT LB 方法

 

表 36. 确定要使用哪种 NAT LB 方法

要求

部署示例

NAT LB 方法

在服务器上平均分配负载,无需持续性

外部/内部服务器(例如 Web 或 FTP)

轮循机制

不加区别的负载均衡,无需持续性

外部/内部服务器(例如 Web 或 FTP)

随机分配

需要客户端连接持续性

电子商务网站、电子邮件安全、SonicWALL SRA 设备

(任何可公共访问且需要持续性的服务器)

粘性 IP

精确控制源网络到目标范围的重映射

LAN 到 DMZ 服务器

电子邮件安全、SonicWALL SRA 设备

块重映射

精确控制源网络和目标网络的重映射

内部服务器(例如 Intranet 或 Extranet)

对称重映射

注意

以下选项当前不可用:

尽管对于 Dell SonicWALL 网络安全设备可用作负载均衡对象的内部资源数量以及它可以监视的主机数量都没有限制,但正常情况下,大型负载均衡组(25 个以上资源)可能会对性能产生影响。

负载均衡算法详细信息

以下选项说明防火墙如何应用负载均衡算法:

轮循机制 – 源 IP 交替连接到目标 IP
随机分配 – 源 IP 以随机方式连接到目标 IP
粘性 IP - 源 IP 连接到相同的目标 IP
块重映射 - 源网络除以目标池的大小,以创建逻辑网段
对称重映射 - 源 IP 映射至目标 IP(例如 10.1.1.10 -> 192.168.60.10。)
粘性 IP 算法

源 IP 对服务器集群大小取模,以确定将其重映射到的目标服务器。以下两个示例展示了粘性 IP 算法的工作原理。

示例一 - 映射至网络:

192.168.0.2 至 192.168.0.4
已转换目标 = 10.50.165.0/30(网络)

数据包源 IP = 192.168.0.2
192.168.0.2 = C0A80002 = 3232235522 = 11000000101010000000000000000010
(IP -> 十六进制 -> 十进制 -> 二进制)

粘性 IP 公式 = 数据包源 IP = 3232235522 [取模] 转换目标大小 = 2
= 3232235522 [取模] 2
= 0
(2 可以整除分子。没有余数,因此结果为 0)

粘性 IP 公式生成偏移量 0。
目的地重映射至 10.50.165.1。

示例二 - 映射至 IP 地址范围:

192.168.0.2 至 192.168.0.4
已转换目标 = 10.50.165.1 -10.50.165.3(范围)

数据包源 IP = 192.168.0.2
192.168.0.2 = C0A80002 = 3232235522 = 11000000101010000000000000000010
(IP -> 十六进制 -> 十进制 -> 二进制)

粘性 IP 公式 = 数据包源 IP = 3232235522 [取模] 转换目标大小 = 3
= 3232235522 [取模] 4
= 1077411840.6666667 - 1077411840
= 0.6666667 * 3
= 2

粘性 IP 公式生成偏移量 2。

目的地重映射至 10.50.165.3。