鐵血男兒的BLOG

pfSense、OPNsense防火墙技术交流

鐵血男兒的BLOG

pfSense多WAN网关权重计算和设置

pfSense的一大特色功能是支持多条互联网线路,通过建立网关组,实现多线路的负载平衡或故障转移。相同线路的平衡负载并不需要额外设置,默认1:1权重即可。如果多条线路的带宽不相同,我们也可以通过设置不同的权重,实现多条线路的不平均负载。下面介绍权重计算和设置方法。

网关的权重

如果两个网关的带宽不同,那么可以根据实际带宽的比值确定权重。例如,如果 WAN1为50Mbit/s带宽,WAN2为100Mbit/s带宽,则可以把WAN1的权重设置 为1WAN2的权重设置为2。那么每三个连接出去,一个会使用WAN1,两个会使用 WAN2。使用这种方法,可以充分利用可用带宽。权重可以从1到30,权重参数在系统>路由管理>网关状态>编辑菜单的高级选项下进行调整。

不同带宽的负载平衡

1、两条线路

下表是两条线路不同权重的负载比例,可以根据实际带宽的比值设置权重。例如:

  • WAN1为300Mbit/s带宽,WAN2为200Mbit/s带宽,那么权重可以设置为3:2;
  • WAN1为600Mbit/s带宽,WAN2为300Mbit/s带宽,那么权重可以设置为2:1;
  • WAN1为600Mbit/s带宽,WAN2为200Mbit/s带宽,那么权重可以设置为3:1;
  • WAN1为800Mbit/s带宽,WAN2为200Mbit/s带宽,那么权重可以设置为4:1;
  • WAN1为500Mbit/s带宽,WAN2为100Mbit/s带宽,那么权重可以设置为5:1;
  • WAN1为900Mbit/s带宽,WAN2为30Mbit/s带宽,那么权重可以设置为30:1;

依次类推…………

2、三条线路三条线路的权重设置相对复杂,需要把100除以权重之和,再乘以每个带宽的权重,计算每条线路的负载。下表是三条线路的不同权重负载,可以根据实际带宽进行参考设置。例如:

  • WAN1为200Mbit/s,WAN2为200Mbit/s,WAN3为100Mbit/s,权重为2:2:1;
  • WAN1为300Mbit/s,WAN2为200Mbit/s,WAN3为100Mbit/s,权重为3:2:1;
  • WAN1为400Mbit/s,WAN2为200Mbit/s,WAN3为100Mbit/s,权重为4:2:1;
  • WAN1为500Mbit/s,WAN2为200Mbit/s,WAN3为100Mbit/s,权重为5:2:1;
  • WAN1为600Mbit/s,WAN2为200Mbit/s,WAN3为100Mbit/s,权重为6:2:1;
  • WAN1为800Mbit/s,WAN2为300Mbit/s,WAN3为200Mbit/s,权重为8:3:2;

依次类推……….

3、四条线路

这里仅举一例:WAN1带宽为500Mbit/s,WAN2为500Mbit/s,WAN3为200Mbit/s,WAN4为200Mbit/s,权重可以设置为5:5:2:2。根据前面的方法,把100除以权重之和,再乘以每个带宽的权重,计算线路的负载比为:36%:36%:14%:14%。下图为配置该权重后的流量图,可以看出,各接口流量总体上是按权重进行分配的。

需要注意的是,这种权重设置会严格平衡连接数,而不考虑接口吞吐量或现有负载。这意味着带宽使用可能不完全平均分配,尽管在大多数环境中,它可以随着时间的推移大致按照配置进行分配。这也意味着,如果一个接口出现单个高吞吐量连接到达带宽上限,防火墙仍会将其他连接定向到该接口。

负载平衡问题

一些对安全性有严格要求的网站存储会话信息,包括客户端 IP 地址,如果与该站点的后续连接使用不同的公共 IP,则该网站可能会无法正常运行。一般在银行网站会存在这种问题(经实测,建行、工行、兴业银行不存在这个问题,招行存在问题)。解决办法是将发往这些站点的流量定向到故障转移组,或者对所有 HTTPS 流量执行故障转移,或者将这些银行的IP地址定义为别名,指定走故障转移组或某个特定的网关。

pfSense的粘性连接功能有助于解决这种问题,可以部分缓解这种情况。但使用粘性选项也有一个缺点,防火墙会记住客户端 IP 地址和给定网关之间的关联,而不是基于目的地。当启用粘性连接选项时,单个客户端不会对多个 WAN 之间的连接进行负载平衡,但它会与它碰巧用于其第一个连接的任意网关相关联。一旦所有客户端状态都过期,客户端可能会退出不同的WAN 来进行下一次连接,从而产生新的网关配对。因此,它在具有大量客户端的环境中效果最佳,其中一个客户端使用单个 WAN 不会产生很大影响。

发表回复

您的电子邮箱地址不会被公开。