多WAN设置能增加互联网带宽,可根据需要对带宽进行负载均衡和故障转移。当一个连接断开时,流量会自动路由到备份连接。
本教程将演示如何配置pfSense的多WAN设置,实现负载均衡与故障转移。
基本要求
- 来自两个不同ISP的互联网连接(同一家ISP也可以,但网关不能相同),可以是拨号或静态连接
- 具有三个网络端口的pfSense防火墙
- 两个带网络端口的ISP调制解调器
- 来自ISP的静态或动态IP
- 监控ISP1的IP1:8.8.8.8(Google DNS)
- 监控ISP2的IP2:208.69.38.205(OpenDNS)

网络拓扑图
详细设置
开始之前,请确保所有WAN接口已配置为静态IP(或不影响网关设置的前提下使用DHCP),并正确添加了网关。
1. 配置pfSense LAN接口
通过 http://172.16.1.254 访问pfSense Web界面,导航到 Interfaces > LAN,按下图设置。

2. 配置WAN 01接口(ADSL ISP1)
导航到 Interfaces > WAN 01,按下图进行配置。

此WAN接口配置为静态IP,可根据ISP调制解调器设置改为DHCP。完成后请确认网关IP可正常ping通,以确保WAN1在线且工作正常。

3. 配置WAN 02接口(ADSL ISP2)
导航到 Interfaces > WAN 02,按下图进行设置。

同样,可根据需要将类型设置为DHCP。完成后验证网关可ping通,确保WAN2在线。

4. 确认两个网关都在线
导航到 Status > Gateways,查看网关状态:

如果图标为绿色,表示与网关的连接正常,接下来配置监控IP。
5. 为每个网关配置监控IP
导航到 System > Routing,选择 Gateways 选项卡,会看到如下页面:

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

再单击 WAN_ADSL2_L2GW(ADSL ISP2)的编辑图标,将监控IP设置为 208.69.38.205:

网关配置更改后,务必点击 应用更改 使其生效。

6. 配置双WAN链路负载均衡
导航到 System > Routing,选择 Gateway Groups,点击 Add 按钮,按如下方式配置负载均衡:

设置如下:
- 组名:
WanLoadBalancer - 网关优先级:两个网关均设置为 第1层。当两个网关处于同一层时,它们将进行负载均衡——连接以轮询方式分布在各WAN上。如果同层中任一网关故障,它将从使用中移除,其余网关继续工作。
- 触发条件:
Member down - 描述:
My Dual ADSL Wan Link Load Balancer - 单击 保存 > 应用更改
7. 配置链路故障转移
导航到 System > Routing > Gateway Groups,点击 Add,为ADSL 1配置故障转移:

当两个网关位于不同层时,较低层优先使用;若较低层故障,则自动切换到较高的层。因此,为ADSL 1设置:
- 组名:
ADSLLinkFailover2 - 网关优先级:
WAN_ADSL2_L1GW(ISP1)设为 第1层,WAN_ADSL2_L2GW(ISP2)设为 第2层 - 触发条件:
Member down - 描述:
Link failover for ADSL 1 - 单击 保存 > 应用更改
同理,为ADSL 2创建故障转移组,只需调换网关优先级:

完成所有负载均衡和故障转移的网关组配置。
8. 为负载均衡器配置防火墙规则
使用防火墙规则中的网关设置将流量引导至负载均衡组。转到 Firewall > Rules > LAN,点击 Add,按如下设置:

单击 显示高级 按钮,向下滚动,找到 网关 选项,将其设置为 WanLoadBalancer:

单击 保存 > 应用更改 以保存规则。
9. 配置防火墙规则以进行故障转移
同样通过防火墙规则指定故障转移网关组。进入 Firewall > Rules > LAN,点击 Add 并参考下图进行设置:

点击 显示高级,向下滚动,将 网关 设置为 ADSLLinkFailover1:

单击 保存 > 应用更改。之后请为 ADSLLinkFailover2 重复此步骤,创建对应的防火墙规则。
10. 客户端配置
为客户端计算机分配以下范围内的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
可以使用 speedtest.net 测速,或通过 speedtest-cli 在下载大文件时验证带宽是否倍增:
$ python speedtest-cli当某个互联网连接断开时,仍可通过故障转移保持网络连接。
觉得内容不错?我要