如何将pfSense配置为多WAN(DUAL WAN)负载平衡故障转移路由器

时间:2020-01-09 10:40:05  来源:igfitidea点击:

如何在具有两个ADSL或电缆或专线或FTTH(光纤到家庭)连接的pfSense路由器上设置多WAN负载平衡和故障转移?
在本教程中,您将学习如何配置pfSense以实现负载平衡以及将流量从LAN转移到多个Internet连接(WAN)(即双WAN)。

为什么以及如何设置双WAN路由器?

双WAN设置可让您增加互联网带宽。
您可以根据需要对流量进行负载平衡。
您可以获得Internet连接冗余和故障转移。
如果一个连接断开,您的流量将自动路由到备用连接。

要求

来自两个不同ISP的两个Internet连接。
您可以根据需要混合匹配ADSL/FTTH/4G LTE /电缆/T1/FIOS连接。

  • 具有三个网络端口(NICS)的pfSense路由器。
  • 两个带网络端口(NIC)的ISP调制解调器
  • ISP的静态或动态IP
  • 监控ISP#1 8.8.8.8的IP#1(google dns IP)
  • 监控ISP#2的IP#2 107.39.38.205(opendns IP)

设置示例

开始进行此设置需要具备的条件

  • 我有两个分配了动态IP地址的ISP调制解调器+路由器。
  • 您需要使用以太网连接将每个调制解调器与pfsense连接。
  • 您需要使用以太网连接将网络交换机连接到pfsense。
  • LAN上的所有系统/服务器/打印机/wifi都使用172.16.1.254/24子网和172.16.1.254作为默认网关。

配置

在开始之前,请确保所有WAN类型的接口都已通过静态IP WAN和如上所述的网关设置启用。

步骤1:配置pfsense LAN接口

使用http://172.16.1.254/> Interfaces> LAN打开pfSense Web界面,进行LAN接口设置

步骤2:配置pfsense wan01接口(ADSL ISP#1)

使用http://172.16.1.254/> Interfaces> WAN 01打开pfSense Web界面进行Wan 01(ADSL ISP 1)界面设置

现在,从"接口"菜单中配置了静态IP的第一个WAN接口。
如果需要,可以根据ISP 1调制解调器设置将类型设置为DHCP。
接下来,在继续操作之前,请确保网关IP对ping作出响应,以确认WAN 1确实在线并且可以正常工作。
您可以从pfSense本身执行以下操作:访问"诊断">" Ping":

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

步骤3:配置pfsense wan02接口(ADSL ISP#2)

使用http://172.16.1.254/> Interfaces> WAN 02打开pfSense Web界面,进行
Wan 02(ADSL ISP 2)界面设置

现在,从"接口"菜单中为第二个WAN接口配置了静态IP。
如果需要,可以根据ISP 2调制解调器设置将类型设置为DHCP。
接下来,在继续操作之前,请确保网关IP对ping作出响应,以确认WAN 2确实在线并且可以正常工作。
您可以从pfSense本身执行以下操作:访问"诊断">" Ping":

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

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

一旦定义了两个网关,请访问"状态">"网关":
Wan网关状态必须为绿色

如果它们为绿色,则表明网关连接正常,您需要配置监视器IP。

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

进入"系统">"路由">"选择网关"选项卡,您将看到如下屏幕,其中每个网关都设置了专用IP作为监控IP:
确保每个WAN接口都存在一个网关条目

单击wan_adsl2_l1GW(默认)的"编辑网关"图标(按钮),并将监视器IP设置为8.8.8.8:

设置WAN 1(ADSL ISP 1)的监视器IP

接下来,单击WAN_ADSL2_L2(ADSL ISP#2)的"编辑网关"图标(按钮),并将监视器IP设置为107.39.38.205:

设置WAN 2的监视器IP(ADSL ISP 2)

网关配置已更改。
这些更改必须应用才能生效。
因此,点击"应用更改"按钮。

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

最后,您可以通过访问"系统">"路由">选择"网关组">单击"添加"按钮来将pfSense配置为负载均衡器:
双WAN负载均衡器配置

其中:

  • 将"组名"设置为WanLoadBalancer。
  • 将两个网关的"网关优先级"设置为第1层。请注意,当两个网关位于同一层(例如第1层)时,它们将负载均衡。这意味着在每个连接的基础上,连接将以循环方式在每个WAN上进行路由。如果同一层上的任何网关出现故障,则将其停用,并且该层上的其他网关将继续正常运行。
  • 将"触发器级别"设置为Memberdown。
  • 将"描述"设置为我的双ADSL Wan链路负载均衡器
  • 最后,单击"保存">"应用更改"按钮。步骤7:配置链接故障转移接下来,通过访问"系统">"路由">选择"网关组">将pfSense配置为WAN连接的故障转移。添加按钮:
    ADSL链路1(wan1/isp1)的链路故障转移当两个网关位于不同层时,首选低层网关。如果较低层的网关出现故障,则将其从使用中删除,并使用下一个较高层的网关。这就是故障转移在pfSense上的工作方式。因此,要为ADSL 1设置链路故障转移:将"组名"设置为ADSLLinkFailover2
  • 将"网关优先级" wan_adsl2_l1GW(ISP 1)设置为第1层
  • 将"网关优先级" wan_adsl2_l2GW(ISP 2)设置为第2层
  • 将"触发级别"设置为"成员"
  • 设置"描述"以链接ADSL 1的故障转移

如下设置ADSL 2的链路故障转移并交换网关优先级:
ADSL链路2的链路故障转移(wan2/isp2)

最后,单击"保存">"应用更改"按钮以完成LB和故障转移网关的配置。

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

您需要使用防火墙规则上的"网关"设置将流量传递到这些LB。
单击"防火墙">"规则">"局域网">"添加",并进行如下设置:
LB防火墙规则

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

将网关设置为WanLoadBalancer

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

步骤8:配置用于故障转移的防火墙规则

您需要使用防火墙规则上的"网关"设置将流量传递到这些故障转移网关。
单击"防火墙">"规则">"局域网">"添加",并进行如下设置:
ISP 1/ADSL 1链接的故障转移防火墙规则

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

将网关设置为ADSLLinkFailover1

单击保存>应用更改按钮以保存防火墙规则。
对ADSLLinkFailover2重复防火墙规则。

步骤9:客户端配置

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

  • 网络:172.1.6.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在Im上)进行如下测试:

$ ifconfig vio0
$ netstat -nr -f inet
$ ping -c 2 google.com
$ host theitroad.local 172.16.1.254

您可以使用fast.com或speedtest.net进行速度测试。
使用Torrent和从负载平衡下载大文件时,您会注意到并同时使用Internet连接。
您可以按以下方式使用speedtest-cli来验证客户端计算机的带宽是否增加了一倍:

$ python speedtest-cli