在pfSense中配置多WAN负载平衡和故障转移

多wan设置能增加互联网带宽,可以根据需要对带宽进行负载均衡和故障转移。如果一个连接断开,流量将自动路由到备份连接。

在本教程中,我们来配置pfSense的多WAN设置,以实现负载均衡和故障转移。

基本要求

来自两个不同ISP的两个互联网连接,同一家ISP的也行,但网关不能相同。可以是拨号也可以是静态连接。

  1. 具有三个网络端口的pfSense防火墙。
  2. 两个带网络端口的ISP调制解调器
  3. 来自ISP的静态或动态IP
  4. 监控ISP1的IP1 – 8.8.8.8(google dns IP)
  5. 监控ISP2的IP2 – 208.69.38.205(opendns IP)
图01:开始使用此设置需要什么
网络拓扑图

详细设置

在开始之前,请确保所有WAN类型接口都启用了静态IP, 并正常设置了网关。

第1步:配置pfsense LAN接口

通过http://172.16.1.254访问pfSense的WEB配置界面,导航到 Interfaces> LAN,按下图进行设置。

图02:LAN接口设置

第2步:配置pfsense wan01接口(ADSL ISP1)

导航到接口> WAN 01,按下图进行设置。

图02:Wan 01(ADSL ISP 1)接口设置

现在,第一个WAN接口配置了静态IP。如果需要,可以根据ISP1调制解调器设置将类型设置为DHCP。接下来确保网关IP响应ping,以确认WAN1在线并正常工作,然后继续。确保ISP#1网关响应ping以确认每个WAN 1实际上是否在线

第3步:配置pfsense wan02接口(ADSL ISP2)

导航到接口> WAN 02,按下图进行设置。

图03:Wan 02(ADSL ISP 2)接口设置

现在,第二个WAN接口配置了静态IP。如果需要,可以根据ISP1调制解调器设置将类型设置为DHCP。同上我们确认WAN1在线并正常工作,然后继续。

确保ISP#2网关响应ping以确认每个WAN 2实际上在线

第4步:确认两个网关都在线

导航到状态 > 网关,查看网关在线情况:

图04:Wan网关状态必须为绿色

如果它们是绿色的,则与网关的连接正常,这里需要配置监控P。

步骤5:为每个网关配置监控IP

导航到系统> 路由 ,选择网关选项卡,您将看到如下页面:

图05:确保每个WAN接口都存在网关条目

单击wan_adsl2_l1GW的编辑图标,将监控IP设置为8.8.8.8:

图06:设置WAN 1的监控IP(ADSL ISP#1)

接下来,单击WAN_ADSL2_L2(ADSL ISP2)的编辑网关图标,将监控IP设置为208.69.38.205:

图07:设置WAN 2的监控IP(ADSL ISP#2)

网关配置已更改。应用更改才能使其生效。
更新申请,网关配置

步骤6:配置双WAN链路负载均衡

导航到 系统 >路由 ,选择网关组,单击“ 添加 ”按钮,配置负载均衡:

图08:双万用负载均衡器配置

设置如下:

  • 将组名设置为“ WanLoadBalancer ”。
  • 将两个网关的网关优先级设置为“ 第1层 ”。请注意,当两个网关位于同一层(例如第1层)时,它们将负载平衡。这意味着,在每个连接的基础上,连接以循环方式在每个WAN上路由。如果同一层上的任何网关出现故障,则将其从使用中删除,并且该层上的其他网关继续正常运行。
  • 将触发条件设置为“ Memberdown ”。
  • 将描述设置为“ My Dual ADSL Wan Link Load Balancer ”
  • 最后单击“ 保存 ”>“ 应用更改 ”按钮。

步骤7:配置链路故障转移

接下来,导航到 系统 >路由 ,选择网关组,单击“ 添加 ”按钮,配置故障转移:

图09:ADSL链路1的链路故障转移(wan1 / isp1)

当两个网关位于不同层时,较低层网关是首选。如果较低层网关出现故障,则将其从使用中删除,并使用下一个最高层网关。这就是故障转移在pfSense上的工作原理。所以要为ADSL 1设置链路故障转移:

  • 将组名设置为“ ADSLLinkFailover2 ”
  • 将网关优先级 wan_adsl2_l1GW(ISP 1)设置为“ 第1层 ”
  • 将网关优先级 wan_adsl2_l2GW(ISP 2)设置为“ 第2层 ”
  • 将触发条件设置为“ Memberdown ”
  • 将描述设置为“ Link failover for ADSL 1 ”

同理,按如下方式为ADSL 2设置链路故障转移并切换网关优先级:

图10:ADSL链路2的链路故障转移(wan2 / isp2)

最后单击“ 保存 ”>“ 应用更改 ”,完成负载均衡和故障转移网关配置。

步骤7:为负载均衡器配置防火墙规则

使用防火墙规则上的网关设置将流量传递到这些负载均衡, 单击防火墙 > 规则 > Lan > 添加并按如下所示进行设置:

图11:LB防火墙规则

单击“ 显示高级 ”按钮>向下滚动>查找网关选项并将其设置为WanLoadBalancer:

设置WanLoadBalancer的网关

单击“保存”>“应用更改”按钮以保存防火墙规则。

步骤8:配置防火墙规则以进行故障转移

使用防火墙规则上的网关设置将流量传递到这些故障转移网关。单击防火墙 > 规则 > Lan > 添加并按如下所示进行设置:

图12:ISP 1 / ADSL 1链路的故障转移防火墙规则

点击“显示高级” 按钮>向下滚动>,查找网关选项并将其设置为ADSLLinkFailover1:

将网关设置为ADSLLinkFailover1

单击“保存”>“应用更改”按钮,来保存防火墙规则。重复ADSLLinkFailover2的防火墙规则。

第9步:客户端配置

将以下范围内的所有IP地址分配给客户端计算机:

  • 网络:172.16.1.254/24
  • IP范围:172.16.1.1-172.16.1.253
  • 默认网关:172.16.1.254
  • DNS服务器:172.16.1.254(或8.8.8.8/8.8.4.4)

从客户端系统(OpenBSD)测试如下:
$ ifconfig vio0
$ netstat -nr -f inet
$ ping -c 2 google.com
$ host cyberciti.biz 172.16.1.254

图13:测试pfSense LB /故障转移路由器

你可以使用speedtest.net进行速度测试。在使用Torrent下载较大文件时,您可以使用命令speedtest-cli来验证客户端计算机的带宽是否翻倍:
$ python speedtest-cli

如果一个Internet连接断开,你仍可以通过故障转移进行互联网连接。