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)

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

8:为负载均衡器配置防火墙规则

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

图11:LB防火墙规则

 

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

设置WanLoadBalancer的网关

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

9:配置防火墙规则以进行故障转移

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

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

 

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

将网关设置为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

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

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

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

评论

  1. tankren
    5 年前
    2019-3-25 10:33:23

    谢谢大佬分享

  2. kevon
    3 年前
    2021-6-10 13:37:36

    大神,我是用pfsense,想向您请教一些使用上的问题,如何与您联系比较方便,谢谢!

    • 鉄血男兒
      博主
      kevon
      3 年前
      2021-6-10 14:16:57

      点关于

  3. 囧- -
    2 年前
    2021-12-08 12:31:27

    困惑在于,【粘滞连接功能】 到底选不还是选,选了打开所有网页都感觉延迟,不选有些网页打开更慢

    还有这个到底选不选
    【网关故障时的状态终止 – 是
    •【网关关闭时跳过规则 – 是

    我看的是这个教程
    https://techexpert.tips/zh-hans/pfsense-zh-hans/pfsense-%e5%a4%9a%e4%b8%aa-wan-%e9%93%be%e8%b7%af%e6%95%85%e9%9a%9c%e8%bd%ac%e7%a7%bb%e9%85%8d%e7%bd%ae/

    我的配置也许是有问题的?,
    pfsence是单网卡仅一个lan 192.168.1.3/24
    两个网关组的两网关分别是
    192.168.1.2/24 192.168.1.1/24
    也就是所有设备都在一个子网没有开dhcp

    • 囧- -
      囧- -
      2 年前
      2021-12-10 0:56:19

      后来用虚拟机用开了2个网口换成wan1wan2不同网段稳定多了

      • 鉄血男兒
        博主
        囧- -
        2 年前
        2021-12-12 20:39:30

        同一网段就别折腾了

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇