pfSense多WAN设置指南

本指南中描述的设置使pfSense能够平衡或故障切换从LAN到多个Internet连接(WAN)的流量。 通过负载平衡,来自LAN的流量可以通过正常使用的WAN在基于连接的基础上循环共享。 通过故障转移,流量将超出最高优先级的WAN,直到它掉线,然后使用下一个。 pfSense使用网关IP或备用监视IP地址监视每个WAN连接,并且如果监视IP发生故障,它将在网关组中剔除该WAN使用。

基本步骤

在大多数设置中,只需要完成三个部分。

  • 添加网关组 (系统 > 路由管理,网关组选项卡)
  • 在LAN防火墙规则上使用网关组
  • 确保为每个WAN网关设置至少一个DNS服务器 (系统 > 常规设置)

本指南使用pfsense2.34汉化版进行示例。

一、接口设置

在开始之前,请确保所有WAN类型接口都已启用。 对于静态IP WAN,请确保它们都具有网关集。并确保网关/监视IP可以响应ping,以确认每个WAN实际在线。如果已经定义了网关,那么在“ 系统状态 > 网关状态” 是可以看见的。 如果它们是绿色的,那么表示与网关的连接是连通的。

二、网关设置

确保每个WAN接口都有一个网关(在系统 > 路由>网关选项卡上设置)

静态IP WAN有正常的网关条目,DHCP / PPPoE 具有动态网关条目。

wKioL1mvPh2gNRc8AAD-07WxmzU292.png

对于每个网关,有一些设置可以稍微改变他们的行为。 大多数设置应该保留为默认值,你也可以根据需要对他们进行修改。

1、监视IP

默认情况下,pfSense将ping网关以确定WAN的连接质量。 在某些情况下,这不是一个准确的措施。 例如,如果WAN网关实际上是本地的设备,而不是ISP网络的另一端,则实际的WAN链路可能会关闭,并且网关ping不会显示。 另外,如果ISP网关启动,但ISP遇到上游故障,则只能ping通网关。

可以在这里输入一个自定义的IP地址,用于确定WAN的连接质量。 可以使用公共网站,Google公共DNS或Internet上响应ping的任何IP。 缺点是,如果IP已经脱机,或者遭受自身的故障,WAN可能会在真正关闭时被标记。

2、比重

默认情况下,在执行负载平衡时,同一层的所有WAN被认为是相等的。 如果WAN的速度不同,则比重参数允许系统给予更快的链接部分调整。 如果一条50Mbit的线路,另一个是10Mbit的线路,那么对它们平均分配显然是不可取的。可以设置 50MBit线路的权值为5,所以使用率为5:1,这样就会更加平衡一些。

3、丢包/延迟阈值

每个WAN在“正常”操作方面都有不同。 一些WAN具有低延迟并且没有损失,连接质量很好,当在线路上有一些丢包或更高的延迟时,其他WAN也能正常运行。 这些字段为WAN网关报警而必须设置的值。 在有线电缆上,将损耗百分比提高到20以上可能会很好。 在缓慢的DSL或卫星链路上,几百ms的延迟是最好的。 可以通过查看质量图,了解WAN线路的相关指标。

wKioL1mvPs2SBgBVAAEvXi2Vng0245.png

三、网关组

网关组 (系统 > 路由管理 >网关组 )正如这个名称所暗示的,他们组合在一起,以事先协调的方式行事, 它们可以执行负载平衡、故障转移或两者的混合。

双WAN设置的一个常见做法是使三个网关组用于多WAN配置:一个负载平衡,另一个用于故障转移,一个优先WAN。 可以扩展任意数量的WAN:使一个组优先应用,并对其他WAN的某些排序进行故障转移。 这将允许选择性地在每个WAN上进行流量以及负载平衡。

 1、层级

在网关组中,将每个网关分配给一个层级,以确定何时被使用。 较低层数是首选。 如果任意两个网关位于同一层,则它们将负载平衡。 如果它们在不同的层,他们将做故障切换。 如果该层设置为“Never”,则该网关将不视为该网关组的一部分。

2、触发条件

  • 掉线:当监视IP 100%丢包时触发。
  • 丢包:仅当网关的丢包高于其定义的阈值时触发。
  • 高延迟:仅当网关延迟高于其定义的阈值时触发。
  • 丢包或高延迟:具备两者之一就触发。

3、负载平衡

当两个网关位于同一层时,它们将负载平衡。 这意味着在每个连接的基础上,连接以循环方式在每个WAN上进行路由。 如果同一层的任何网关关闭,则将其从使用中移除,并且该层上的其他网关继续正常运行。

4、故障转移

当两个网关位于不同的层时,较低层级的网关是首选。 如果下层网关掉线,则将其从使用中移除,并使用下一个最高层网关。

5、组合

由于层级系统,可能有任意数量的负载平衡和故障转移的组合,三个负载平衡WAN如果有一个WAN掉线,还可以使用两个WAN继续负载平衡,如果两个掉线,那还可以使用一个WAN。 唯一的限制是只有5层,所以这样的配置只能深入5层。

wKiom1mvP13hIgTBAADtWhFVcv0282.png

四、防火墙设置

定义网关组只是设置的一部分。 必须使用防火墙规则上的网关设置将流量分配给这些网关。

在 防火墙> 规则策略上, 在与网关组一起使用的LAN接口的选项卡上,编辑现有的通行规则并添加网关设置,选择所需的网关,或添加新的规则。 记住,规则从上到下执行,一旦规则匹配,则处理停止。如果使用多WAN负载平衡,记住添加多网关。

某些流量可以定向到具有故障转移组的一个WAN,与另一个WAN的一些其他流量相匹配,并使得所有规则进入负载均衡。

wKioL1mvP9DR-mlbAAAkQyh1Zd0184.png

wKioL1mvQIGQikZpAACErzQJJsA736.png

策略路由否定:当防火墙规则将流量引导到网关时,它会绕过防火墙上的路由表。 策略路由否定只是将流量传递到没有网关集的其他本地或***连接网络的规则。 通过不在该规则上设置网关,它将绕过网关组并使用防火墙上的路由表。 这些规则应该在列表的顶部,或者至少高于使用网关的任何规则。

五、出站NAT

如果使用手动出站NAT,则必须为第二个WAN添加规则。 如果遵循上述指导原则,则自动出站NAT不需要调整。

六、注意事项

每个WAN上至少应有一个DNS服务器进行正确解析。 这可以通过在“系统 >常规选项”下编辑DNS服务器并为每个DNS服务器挑选网关来实现。 确保为特定WAN选择的DNS服务器正常工作,系统的DNS转发器将同时查询所有DNS服务器,因此不会受到WAN故障的影响。如果DNS服务器在客户端上进行了设置,则没有此限制。但因为防火墙本身的服务仍然需要DNS,如果没有可正常使用的的DNS服务器,将会影响防火墙的相关服务。

七、本地服务

默认情况下,使用Squid等代理的流量将绕过策略路由,并始终使用默认路由进行流量传送。 它也绕过出站NAT,直接通过WAN IP地址离开。因此不可能进行负载平衡。 在此情况下,可以通过在系统> 高级选项 >附带组件选项卡下选中默认网关切换来实现故障切换。

wKiom1mvQOnRLaUGAABgIeRuihU594.png

八、故障排除

  • 检查系统仪表小部件上的网关状态或系统状态 >网关状态。
  • 如果故障频繁触发,请检查质量图并调整网关的丢包和/或延迟阈值。
  • 如果本地或VPN流量失败, 请确保存在策略路由否定规则
  • 如果流量总是使用默认网关而不是多WAN,请检查规则,以确保其已经定义了网关。
此条目发表在pfSense分类目录。将固定链接加入收藏夹。