pfsense 多WAN设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pfsense 多WAN设置相关的知识,希望对你有一定的参考价值。

多WAN 连接

  • 章节目录:

  • 多WAN术语和概念

  • 策略路由,负载均衡和故障转移策略

  • 多WAN注意事项

  • 多WAN要求概述

  • 负载平衡和故障切换网关组

  • 接口和DNS配置

  • 多WAN和NAT

  • 策略路由配置

  • 验证功能

  • 故障排查

  • 一站式多WAN

  • IPv6的多WAN

  • 多链路的PPPoE(MLPPP)

pfSense的多WAN(多WAN)功能允许防火墙利用多个Internet连接来实现更可靠的连接和更大的吞吐能力。 在进行多WAN配置之前,防火墙必须至少正确配置两个接口(LAN和WAN)。 pfSense能够处理多个WAN接口,但建议不要超过12个。

所有WAN类型的接口在GUI中被相同地对待。 使用主WAN可以完成的任何操作也可以通过附加的OPT WAN接口完成。 主WAN和其他广域网之间没有明显差异。


本章首先介绍实施任何多WAN解决方案时要考虑的项目,然后介绍使用pfSense的多WAN配置。


选择Internet连接

如果有多个WAN连接,建议选择不同的电信运营商,以满足多线冗余的要求。一个运营商的多WAN没有任何意义,如果一根光缆被挖断,则所有的连接都将中断。


多WAN术语和概念

本节将介绍使用pfSense部署多WAN功能所需的术语和概念。

WAN接口类型

WAN接口是可以直接或间接访问互联网的接口。 防火墙将在“Interfaces(接口)”菜单页面上选择的网关任何接口视为WAN。 例如,使用静态IP地址WAN,Interfaces > WAN选择了一个网关,如WAN_GW。 如果没有网关,则该接口将被视为本地接口。 不要在本地接口的“Interfaces(接口)”菜单项上选择网关。 动态IP地址接口(如DHCP和PPPoE)自动接收动态网关,始终被视为WAN。

接口配置上的网关的存在可以通过多种方式改变这种接口上的防火墙行为。 例如,具有网关集的接口在其防火墙规则上具有响应,它们被用作自动和混合出站NAT的退出接口,并且它们被流量整形向导视为WAN。

注意

本地和其他接口可能具有在System > Routing下定义的网关,只要该接口不在接口配置下选择,例如“Interfaces > LAN。


策略路由

策略路由是指通过多于目标IP地址的流量通过不同网关的方法,与大多数操作系统和路由器中的路由表一样。 这是通过使用某种策略,通常是防火墙规则或访问控制列表来实现的。 在pfSense中,编辑或添加防火墙规则时可用的网关字段可以使用策略路由。 网关字段包含在System > Routing下的防火墙上定义的所有网关,以及任何网关组。

策略路由提供了将流量引导到适当的WAN接口或其他网关的强大手段,因为它允许匹配防火墙规则可匹配的任何内容。 特定的主机,子网,协议等可以用来引导流量。

注意

请记住,包括策略路由规则在内的所有防火墙规则都按照自上向下的顺序进行处理,第一个匹配将优先执行。


网关组

网关组是定义一组选定的网关如何提供故障切换和/或负载平衡功能。 它们在System > Routing下的Gateway Groups选项卡上配置。

故障转移

故障转移是指仅使用一个WAN连接的能力,但如果首选连接失败,则切换到另一个WAN。 这对于所有连接应该使用一个特定WAN连接的情况非常有用,除非它不可用。

要从一个防火墙到另一个防火墙,而不是从一个WAN到另一个WAN,请参阅高可用性。


负载均衡

pfSense中的负载平衡功能允许流量以循环方式分布在多个WAN连接上。 这是在每个连接的基础上完成的。 如果作为负载平衡组一部分的网关发生故障,则接口将被标记为已关闭,并从所有组中删除,直到它恢复。

监视IP地址

配置故障转移或负载平衡时,每个网关与监视器IP地址(Monitor IP)相关联。 在典型的配置中,pfSense将ping此IP地址,如果停止响应,则接口被标记为关闭。 网关组中的选项可以选择不同的故障触发器,除了丢包,其他触发器包括高延迟,分组丢失或高延迟的组合,或者掉线。

如何认定网关故障?

认定网关故障比“如果监视器IP发生故障,接口被标记为关闭”要复杂一点。实际的故障标准取决于在创建网关组和网关上的各个设置时选择的选项。


高级设置中会确定每个网关的设置,这些设置可以确定对网关掉线和恢复的认定。 分组丢失,延迟,停机时间,甚至网关的探测间隔和阈值都可以单独配置。


状态刷新/强制切换

当网关发生故障时,pfSense可以选择刷新所有状态以强制客户端重新连接,并且在这样做时,他们将使用可用的网关,而不是关闭的网关。 目前只能单向工作,这意味着它可以将连接从故障网关移出,但如果原始网关重新联机,则无法强制他们返回。


这是一个可选的行为,默认情况下启用。 有关更改此设置的信息,请参阅网关监控。


默认网关切换

通过防火墙的流量将使用默认网关,除非静态路由沿着不同的路径发送数据包。 如果默认网关是掉线或关闭的WAN连接,则防火墙上的守护程序将无法进行出站连接,具体取决于守护程序及其配置的功能。 当启用默认网关切换(默认网关切换)时,如果普通默认网关出现故障,则防火墙的默认网关将切换到下一个可用网关,然后在WAN恢复时切换回。

策略路由,负载平衡和故障转移策略

本节提供有关常见的多WAN目标以及如何通过pfSense实现的指导。

带宽聚合

多WAN的主要需求之一是带宽聚合。 通过负载平衡,pfSense可以帮助实现这一目标。 但是有一点值得注意:如果防火墙有两个5Mbps的WAN线路,那么在单个客户端连接中,它不能获得10 Mbps的吞吐量。 每个单独的连接必须只绑定到一个特定的WAN。 除了MLPPP以外的任何多WAN解决方案都是如此。 两个不同的互联网连接的带宽不能聚合到一个大的“管道”,而不受ISP的干扰。 通过负载平衡,由于单个连接以循环方式进行平衡,所以仅在涉及多个连接时才能使用两个5 Mbps线路实现10 Mbps的吞吐量。 利用多个连接的应用程序(如许多下载加速器)将能够实现两个或多个连接的组合吞吐能力。

注意

多链路PPPoE(MLPPP)是唯一可以实现捆绑中所有线路的全集合带宽的WAN类型,但需要ISP的特殊支持。

在具有访问互联网的众多内部机器的网络中,通过平衡所有WAN接口的许多内部连接,负载平衡将达到接近聚合吞吐量的速度。


优先服务的分离

在某些情况下,会有两个不同连接质量的线路。在这种情况下,不同的网络服务可以通过优先级的设定在两个Internet连接之间进行分离。高优先级服务可能包括VoIP,流向特定网络的流量,如外包应用程序提供商,或关键应用程序使用的特定协议等。低优先级流量通常包括与高优先级流量列表不匹配的任何允许流量。策略路由规则可以被设置为将高优先级流量引导到高质量的Internet连接,而较低优先级的业务通过较低质量的Internet连接。


类似情况的另一个例子是为诸如VoIP的质量关键服务获得专用的互联网连接,并且仅为这些服务使用该连接。

仅故障转移

只有使用故障转移才是最佳做法。 一些pfSense用户具有低带宽限制的辅助备份Internet连接,例如3G调制解调器,并且只有在主连接失败时才想使用该连接,配置为故障转移的网关组才能实现此目标。


故障转移的另一个用法是确保某个协议或目的地始终只使用一个WAN,除非它失效。


不平均的成本负载平衡

pfSense可以通过在网关上设置适当的权重来实现不平均的成本负载平衡,如“weight(权重)”中所述。 通过在网关上设置权重,它将在网关组中更频繁地使用。 权重值可以从1到30。

不平均的成本负载平衡
WAN_GW weightWAN2_GW weightWAN loadWAN2 load
3260%40%
2167%33%
3175%25%
4180%20%
5183%17%
5183%17%
30197%3%

请注意,此配置严格平衡连接数,不考虑接口吞吐量。 这意味着不需要平均分配带宽使用,尽管在大多数环境中,它的工作原理是随着时间的过去配置而大致分布。 这也意味着如果使用单个高吞吐量连接将接口加载到其容量,则其他连接仍将被引导到该接口。

多WAN注意事项

本节包含pfSense中特定于多WAN的注意事项。

多个WAN共享一个网关IP

由于pf处理多WAN连接的方式,流量只能使用线路的网关IP地址进行定向,这对大多数情况都是适用的。如果防火墙在同一个ISP上使用相同的子网和网关IP地址进行多个连接,那么在使用多个电缆调制解调器时通常会使用中间NAT设备,所以除了其中一个外,其他所有设备都必须使用,以便pfSense将每个WAN网关视为唯一IP地址。


当使用NAT设备时,可以配置将所有流量转发回pfSense,这可以帮助将其用于其他服务。然而,一些协议,如VoIP,如果在这样的配置中使用具有NAT的WAN,将会有问题。


如果可能的话,请联系ISP,并让它们配置WAN线路,使其与不同的网关位于不同的子网中。


一个例外是PPP型WAN,如PPPoE。 PPP型WAN能够在多个接口上具有相同的网关,但是每个网关条目必须配置为使用不同的监视器IP地址(请参阅监控IP)。


多个PPPoE WAN

当存在来自同一ISP的多个PPPoE线路并且ISP支持多链路PPPoE(MLPPP)时,可以将线路绑定到单个聚合链路中。 这个绑定链路在一个广域网中将所有线路的总带宽合并在一起,如pfSense所示。 MLPPP的配置涵盖在多PPPoE(MLPPP)中。

本地服务和多WAN

本地服务和多WAN的注意事项,因为从防火墙本身发起的任何流量都不会受到内部接口规则配置的策略路由的影响。 来自防火墙本身的流量始终遵循系统的路由表。 因此,在使用其他WAN接口的情况下,需要使用静态路由,否则只能使用具有默认网关的WAN接口。


在Internet上发送的流量发往任何WAN接口的情况下,pfSense会在所有WAN类型接口规则中自动使用pf的reply-to指令,以确保应答流量被路由回正确的WAN接口。


DNS 解析

DNS解析器的默认设置要求默认网关切换才能正常使用多WAN。可以进行一些更改,使DNS解析器更适应多WAN,包括启用转发模式。 详细内容将在本章后面介绍。

DNS 转发

DNS转发器使用的DNS服务器如果使用OPT WAN接口,则必须定义网关。

动态DNS

可以在接口的网关组设置DynDNS条目。 这将在故障转移模式的WAN之间移动DynDNS条目,允许公共主机名在发生故障时从一个WAN转移到另一个WAN。

IPsec

IPsec与多WAN完全兼容。 自动添加指向特定WAN网关的远程隧道对等体地址的静态路由,以确保防火墙在启动连接时将流量发送到正确的路径。 对于移动连接,客户端始终启动连接,并且状态表正确应答路由连接。


也可以使用网关组作为故障转移接口来设置IPsec隧道。 


OpenVPN

像IPsec一样,它可以使用任何WAN或网关组。

CARP  和多WAN

CARP具有多WAN功能,只要所有WAN接口使用静态IP地址,并且每个WAN至少有三个公共IP地址可用。 

IPv6和多WAN

IPv6能够以多WAN模式下执行,但通常需要在一个或多个WAN上进行网络前缀翻译(NPT)。 这在IPv6的多WAN中有更详细的说明。

多WAN要求摘要

在涵盖大量多WAN规格之前,以下简要总结了完成多WAN设置的要求:


在 System > Routing 的 Groups选项卡的下创建网关组

配置多WAN的DNS解析器或转发器,首先在System > General Setup下为每个WAN网关设置至少一个唯一的DNS服务器

在LAN防火墙规则上使用网关组


  • 使用网关组进行负载平衡和故障切换

  • 网关组是设置负载平衡或故障转移配置所必需的。 组本身不会采取任何行动,但是当稍后使用该组时,例如在策略路由防火墙规则中,它将定义使用该组的项目将如何运行。


  • 同一网关可以包含在多个组中,以便可以同时配置多个不同的场景。 例如,一些线路可以负载平衡,其他线路可以使用故障转移,并且可以通过使用不同的网关组在两个配置中使用相同的WAN。


  • 两个WAN防火墙的一个非常常见的示例设置包括三个组:

  • 负载平衡  - WAN1和 WAN2位于同一层级

  • PreferWAN1 - WAN1网关位于层级1,  WAN2网关位于层级2

  • PreferWAN2 - WAN1网关位于层级2 , WAN2网关位于层级1


  • 配置网关组进行负载平衡或故障转移

  • 要创建负载平衡或故障转移的网关组:

  • 导航到System > RoutingGroups选项卡

  • 单击 技术分享 添加创建一个新的网关组

  • 根据需要填写页面上的选项:

  • Group Name:

    网关组的名称。 名称的长度必须小于32个字符,并且只能包含字母a-z,数字0-9和下划线。 这是防火墙规则中的网关域中用于引用该网关组的名称。 这是必填栏。

    Tier:

    选择组内网关的优先级。 内部网关组,网关安排在层级中。 层级编号为1到5,首先使用低层。 例如,方法1上的网关在第2层网关之前使用,依此类推。 有关如何使用Tiers的更多详细信息,请参阅下一节。

    Virtual IP:

    (可选)指定用于接口的虚拟IP地址(如果存在)。 此选项用于OpenVPN等功能,允许选择特定的虚拟地址,而不是仅在特定网关在组中处于活动状态时才直接使用接口地址。 在大多数情况下,这是默认的口地址。

    Trigger Level:

    决定何时将网关标记为关闭。

    Member Down:只有当网关完全关闭时,才将网关标记为关闭,超过为网关配置的较高阈值之一或两者。 当网关完全无响应时,这种故障可能会遇到最严重的故障,但可能会错过更多微妙的问题,使线路在网关达到该级别之前可以使其无法使用。
    Packet Loss:当分组丢失超过较低的警报阈值时,将网关标记为关闭。
    High Latency:当延迟超过较低的警报阈值时,将网关标记为关闭。
    Packet Loss or High Latency:

    将网关标记为两种类型的警报。
    Description:

    描述此网关组目的的文字。

  • 单击保存 


  • 负载均衡

  • 同一层上的任何两个网关都是负载均衡的。 例如,如果网关A,网关B和网关C都是层1,则它们之间的连接将被平衡。 负载平衡的网关将自动在彼此之间进行故障切换。 当网关发生故障时,它将从组中删除,因此在这种情况下,如果A,B或C中的任何一个故障,防火墙将在剩余的在线网关之间进行负载平衡。

  • 负载权重

  • 如果两个WAN需要以加权方式进行平衡,因为它们之间的带宽不同,可以通过调整网关上的权重参数来适应不同成本负载平衡和权重中所述的限制。

  • 故障转移

  • 较低层次的网关是首选的,如果它们关闭,则使用较高编号层的网关。 例如,如果网关A处于等级1,网关B处于等级2,网关C处于等级3,则首先使用网关A. 如果网关A关闭,则将使用网关B. 如果网关A和网关B都关闭,则将使用Gateway C。

  • 复杂/组合场景

  • 通过扩展以上关于负载平衡和故障转移的概念,许多复杂的场景是可能的,结合了负载平衡和故障转移。 例如,如果网关A处于方法1,网关B和网关C处于等级2,则网关D在方法3上,则会出现以下情况:网关A本身是首选的。 如果网关A关闭,则流量将在网关B和网关C之间进行负载平衡。如果网关B或网关C关闭,则仍将使用该层中剩余的在线网关。 如果网关A,网关B和网关C全部关闭,流量将故障切换到网关D.


  • 可以使用上述的任何其他组合,只要它可以排列在5层的限度内。


  • 负载平衡问题

  • 某些网站存储会话信息,包括客户端IP地址,如果使用不同的公网IP地址将与该站点的后续连接路由出不同的WAN接口,则该网站将无法正常运行。这在银行和其他安全网站上较为常见。解决此问题的建议手段是创建一个故障转移组,并将到达这些站点的流量定向到故障转移组而不是负载平衡组。或者,为所有HTTPS流量执行故障切换。


  • pf的粘性连接功能旨在解决这个问题,但它历来是一个问题。它是安全的使用,应该减轻这一点,但也有一个缺点使用粘性选项。当使用粘性连接时,在客户端IP地址和给定网关之间保持关联,它不是基于目的地。当启用粘性连接选项时,任何给定的客户端都不会在多个WAN之间平衡其连接,但是它将与其用于其第一个连接的哪个网关相关联。一旦所有客户端状态都已过期,客户端可能会退出不同的WAN用于其下一个连接,导致新的网关配对。


  • 接口和DNS配置

  • 配置多WAN的前两个项目是接口和DNS。

  • 接口配置

  • 安装主WAN,如安装向导中所述。 然后对于其他WAN接口,执行以下任务:

  • 如果接口不存在,请分配接口

  • 访问每个附加WAN(例如Interfaces > OPT1)的“Interfaces”菜单项

  • 启用接口

  • 输入合适的名称,如WAN2

  • 根据Internet连接类型选择所需类型的IP地址配置。

  • 输入广域网类型的剩余详细信息。 例如,在静态IP连接上,填写IP地址,子网掩码,并添加或选择网关。


  • DNS服务器配置

  • 如果DNS转发器正在使用,或者DNS转发器将在转发模式下使用,pfSense必须配置来自每个WAN连接的DNS服务器,以确保它始终能够解析DNS。 如果内部网络使用防火墙进行DNS解析,这一点尤为重要。


  • 如果仅使用单个WAN的DNS服务器,则由于DNS将不再起作用,所以WAN连接中断将导致完全的Internet中断,而不考虑策略路由配置。


  • DNS解析器配置

  • DNS解析器可以与多WAN协同工作,但具体配置取决于所需的行为和设置。


  • 如果必须使用DNSSEC,并且配置的DNS服务器不支持DNSSEC,则无法启用转发模式。 这仍然可以使用多WAN,但需要默认网关切换。 


  • 如果DNSSEC不是此防火墙的要求,或配置的DNS服务器支持DNSSEC,则可以执行以下过程:


  • System > General Setup,下,每个WAN至少设置一个DNS服务器,如下一节所述。

  • Services > DNS Resolver下启用转发模式

  • 如果配置的上游DNS服务器不支持DNSSEC,请取消选中启用DNSSEC支持

  • DNS服务器和静态路由

  • 在转发模式下使用DNS转发器或DNS解析器时,pfSense使用其路由表到达配置的DNS服务器。 这意味着没有配置任何静态路由,它只会使用主WAN连接到达DNS服务器。 必须为防火墙上定义的每个DNS服务器选择网关,以便pfSense将使用正确的WAN接口来访问该DNS服务器。 来自动态网关的DNS服务器将自动路由到正确的路径。 应尽可能选择每个WAN至少一个网关。


  • 配置DNS服务器网关:

  • 导航到  System > General Setup

  • 为每个WAN定义至少一个唯一的DNS服务器(最多四个)。

  • 对于每个DNS服务器,选择一个适当的网关,以便使用特定的WAN接口


  • 注意

  • 不能多次输入相同的DNS服务器。每个条目必须是唯一的。

  • 选择DNS服务器的网关需要几个原因。一是大多数ISP禁止来自网络外的主机的递归查询,因此当访问特定ISP的DNS服务器时,防火墙必须使用正确的WAN接口。其次,如果主WAN出现故障,并且防火墙没有为其他DNS服务器选择网关,则防火墙将失去防火墙本身的所有DNS解析能力。在这种情况下,访问DNS会丢失,因为默认网关不可达时,所有DNS服务器将无法访问。如果pfSense用作本地网络的DNS服务器,则会导致DNS完全失败。


  • 当使用禁用转发模式的DNS解析器时,未绑定守护进程直接与根DNS服务器和其他权威DNS服务器通信,这使得使用这种静态路由和网关分配是不可能的。在这种情况下,需要选中“默认网关切换”,以使未绑定守护进程能够维护出站连接。


  • 扩展到多个的WAN接口

  • 在pfsense的应用实例中,有无数的如果用户部署6-12个的互联网连接,因为在有些国家,获得十个256 Kb连接比一个2.5 Mb连接要便宜得多。 该客户使用pfSense将大量内部机器平衡到10个不同的连接。 有关此部署规模的更多信息,请参阅本章后面的一站式多WAN功能。



  • 多WAN 和 NAT

  • 由pfSense生成的默认NAT规则将将离开WAN类型接口的任何流量转换为该接口IP地址。 在默认的两个接口LAN和WAN配置中,pfSense将NAT将LAN接口的所有流量从WAN接口传输到WAN IP地址。 添加更多WAN类型的接口可以将NAT扩展到NAT,该流量离开该接口IP地址的WAN类型接口。 除非启用手动出站NAT,否则这一切都将自动处理。


  • 策略路由防火墙规则将流量定向到所使用的WAN接口,“出站”和“1:1”NAT规则指定在离开该WAN时如何转换流量。


  • 多WAN和手动出站NAT

  • 如果手动出站NAT必须与多WAN一起使用,请确保为所有WAN类型接口配置NAT规则。

  • 多WAN和端口转发

  • 每个端口正向应用于单个WAN接口。 给定端口可以通过使用多个端口转发条目在多个WAN接口上打开,每个WAN接口一个。 最简单的方法是:


  • 像往常一样在第一个WAN连接上向前添加一个端口

  • 单击 技术分享 在该条目的右侧,根据所选择的端口向前添加另一个端口

  • 将接口更改为所需的WAN

  • 单击 Save

  • 在WAN类型接口规则中使用的pf中的reply-to关键字可以确保当流量通过特定WAN接口进入时,返回流量将以其进入防火墙的方式返回。 因此,无论任何可能存在的故障转移配置,端口转发都可以随时在所有WAN接口上主动使用。 这对于邮件服务器特别有用,因为辅助WAN上的地址可以用作备份MX,即使在主线路关闭时,站点也可以接收邮件。

  • 多WAN和1:1 NAT

  • 1:1 NAT条目专用于单个WAN接口,并且像出站NAT一样,仅控制流量在离开接口时会发生什么。 内部系统可以配置在每个WAN接口上的1:1 NAT条目,或一个或多个WAN接口上的1:1条目,并在其他WAN接口上使用默认出站NAT。 当配置1:1条目时,它们将总是覆盖该特定接口的任何其他出站NAT配置。


  • 如果本地设备必须始终在特定WAN上使用1:1 NAT条目,则必须强制该设备的流量使用该特定WAN网关。

策略路由配置

此时,防火墙为多WAN而准备,但尚未使用。 如果没有策略路由防火墙规则,流量将不会故障切换或负载平衡。

注意

一个可能的例外是如果启用默认网关切换(默认网关切换),在这种情况下,故障切换仍然可以在没有策略路由的情况下运行。

配置策略路由的防火墙规则

在防火墙规则上设置网关将导致与规则匹配的流量使用所选网关或网关组,遵循网关组的行为。


为策略路由配置防火墙的最简单方法是编辑LAN的现有默认传递规则,然后在其中选择网关组。 使用该规则,与LAN上的默认通过规则匹配的任何流量将使用所选的网关或组。


要进行编辑:

  • 导航到Firewall > RulesLAN 选项卡

  • 在具有默认传递规则的行上单击 技术分享 

  • Extra Options(额外选项)单击 技术分享 Display Advanced (显示高级设置)

  • Gateway 下拉列表中选择所需的网关组

  • 单击 Save

  • 单击Apply Changes(应用更改)

以上就是多WAN使用的基本配置,如果需要更多的功能,则配置更复杂。 

旁路策略路由

如果有其他本地接口,VPN,MPLS接口或必须遵循系统路由表的流量,则该流量必须配置为绕过策略路由。 通过制定规则来匹配相关流量,然后将该规则放置在配置了网关的任何规则之上,这很简单,因为要匹配的第一个规则是使用的规则。


这可以通过为涵盖所有专用网络的任何RFC1918流量建立别名,然后在规则中使用别名来推广。 别名包含192.168.0.0/16,172.16.0.0/12和10.0.0.0/8。


在旁路策略路由示例规则中,本地和VPN流量绕过策略路由,HTTPS流量优先于WAN2,所有其他流量均负载均衡:

技术分享

旁路策略路由示例规则

混合故障切换和负载平衡

如图“旁路策略路由示例规则”所示,可以通过在接口上仔细排序规则,同时使用故障切换和负载平衡。 规则从上到下处理,第一个优先执行。 通过在列表顶部附近放置更多的具体规则,以及底部的一般“匹配所有”样式规则,使用不同网关或组的规则可以使用任意数量的不同组合。

强制网关使用

在某些情况下,流量只能使用一个网关,从不负载平衡或故障转移。 在此示例中,设备必须通过特定WAN退出,并在WAN失败时丢失所有连接。


首先,将网关设置为将来自该设备的流量与特定WAN网关相匹配的防火墙规则。 如果该网关关闭,则该规则将如同网关未设置一样起作用,因此需要进一步进行几步。


在匹配流量的规则正下方添加规则,但设置为拒绝或阻止。 该规则不能设置网关。


接下来,配置防火墙以忽略关闭的网关的规则(网关监控):

  • 导航到System > Advanced  > Miscellaneous 选项卡

  • 选中“ Do not create rules when gateway is down(网关关闭时不要创建规则)”

  • 单击 Save

启用该选项后,将完全省略第一条规则,直到下一个匹配规则。 这样,当第一条规则被自动省略时,流量将被阻止规则停止。

验证功能

一旦配置了多WAN,那么最好的做法是测试其功能,以验证它是否按预期运行。 以下部分将介绍如何测试多WAN配置的每个部分。

测试故障转移

在配置之后立即以受控的方式测试多WAN是该过程的关键步骤。 不要等到互联网连接自动失败进行第一次测试时才会发生错误,只有在遇到困难和压力的时候才能发现问题。


首先,导航到Status > Gateways,并确保所有WAN网关在“状态”下以及“网关组”选项卡上显示为“联机”。 如果没有,请验证是否使用正确的监视器IP地址。


创建广域网故障

根据所使用的Internet连接的类型,有多种方法来模拟WAN故障。对于任何类型,首先尝试从防火墙拔下目标WAN接口以太网电缆。


对于电缆和DSL连接,请尝试关闭调制解调器/ CPE电源,并在单独的测试中,从调制解调器拔下同轴电缆或电话线。对于光纤,无线和其他与pfSense之外的路由器的连接类型,请尝试从路由器拔下Internet连接,并关闭路由器本身。


验证接口状态

创建WAN故障转移后,刷新Status > Gateways 以检查当前状态。 由于网关监控守护程序会注意到丢包,丢包超过配置的警报阈值,就会标记为关闭。

验证负载平衡功能

本节介绍如何验证负载平衡配置的功能。

验证HTTP负载平衡

验证HTTP负载平衡的最简单方法是访问显示客户端用于访问站点的公共IP地址的网站。

浏览器有保持打开服务器连接和缓存结果的习惯,所以最好的基于浏览器的测试是加载多个站点,或者在加载站点的尝试之间关闭浏览器窗口。在每个连接尝试期间,如果负载平衡正常工作,则应显示不同的IP地址。如果网络中存在其他流量,则每个页面的加载IP地址可能不会改变。重复测试多次,IP地址应该至少改变几次。


如果IP地址永远不会更改,请尝试几个不同的站点,并确保浏览器确实再次请求页面,而不是从其缓存返回某些东西或使用持久连接到服务器。手动删除缓存,关闭并重新打开浏览器,并尝试使用多个Web浏览器是进一步排除负载均衡配置故障。


验证负载平衡中使用curl是一个更好的测试工具,因为它确保缓存和持久连接对结果没有影响。


用traceroute测试负载均衡

traceroute实用程序(或Windows中的tracert)显示了到达给定目标的网络路径。 有关使用traceroute的详细信息,请参阅使用traceroute。 通过负载平衡,从防火墙后面的客户端系统运行跟踪路由应显示每次尝试采用的路径不同。 由于跟踪路由功能的方式,在停止跟踪路由之后等待至少一分钟,然后再开始另一个测试,以便状态过期,或者每次尝试不同的目的地。

使用流量图

Status > Traffic Graph和系统面板小部件下的实时流量图可用于显示WAN接口上的实时吞吐量。 当使用Status > Traffic Graph时,每个浏览器窗口只能显示一个图形,但可以在浏览器中打开其他窗口或选项卡,以同时查看所有WAN接口。 系统面板的流量图窗口小部件允许在单个页面上同时显示多个流量图,以简化此过程。 如果负载平衡正常工作,所有WAN接口上都会有流量显示。


Status > Monitoring下的RRD流量图对于WAN利用率的长期和历史评估很有用。


注意

带宽使用可能不会完全平均分配,因为连接简单地针对循环而不考虑带宽使用。


故障排除

本节介绍多WAN最常见的一些问题,以及如何解决这些问题。

验证防火墙规则配置

配置多WAN时最常见的错误是防火墙规则不正确。 请记住,第一个匹配规则优先,任何其他规则将被忽略。 如果策略路由规则低于列表中的默认LAN规则,则不会匹配该规则,因为它将首先匹配默认的LAN规则。 查看策略路由配置并验证规则是否正确。


如果规则排序和配置显示正确,可能有助于启用对规则的登录。 有关详细信息,请参防火墙规则设置的说明 ,确保适当的策略路由规则正在传递流量。


策略路由不适用于网络流量或所有流量

当使用可以透明捕获HTTP流量的代理软件包(例如squid)时,它会覆盖为该端口上的客户端流量定义的任何策略路由。 因此,无论防火墙规则中设置了哪个网关,HTTP(TCP端口80)的流量仍然会通过squid并遵循防火墙的默认路由。

故障转移不工作

如果互联网连接失败时出现问题,通常是因为监视IP地址仍在应答,所以防火墙认为连接仍然可用。 检查Status > Gateways 进行验证。 调制解调器上的IP地址可以用作监视器IP地址,即使互联网连接断开,它仍然可以访问。

负载平衡不起作用

检查网关组是否正确配置为负载平衡,同一层上至少有两个网关。

  • 检查LAN防火墙规则是否匹配正确的负载均衡网关组。

  • 检查组中的所有网关在 Status > Gateways下是否显示为“联机”。 标记为“脱机”的连接将不会被使用。

  • 检查测试方法。 不要使用Web浏览器进行测试,请尝试使用Curl进行测试,如验证负载平衡中所述。

  • 检查流量是否正在使用代理服务器,或以其他方式从防火墙本身的守护进程启动。


网关离线不正确标记

如果网关列为离线,但广域网实际上已经出现,可能会有几件事情出现:


首先,测试监控IP地址是否响应来自LAN上的客户端设备的ping,并再次从Diagnostics > Ping进行测试。

如果监视IP地址丢弃没有有效载荷的ICMP回显请求报文,手动ping可以起作用,但网关监视可能不一定有效果。请参阅Data Payload(数据有效载荷),并将有效载荷设置为1或更高的值。

如果网关或监控IP地址不响应ICMP回显请求,请输入不同的监控IP地址进行测试。

如果监控IP地址被配置为不与WAN同子网的DNS服务器,则静态路由可能会导致冲突,并且对网关的回应请求可能未遵循预期路径。解决办法:在网关上设置不冲突的监控IP地址。

如果WAN上有一个出站NAT规则,那么它可能会导致防火墙上的流量出现问题,包括监控流量,因为这也将来自防火墙本身的NAT流量。如果源地址更改为CARP VIP,一定会出问题。解决办法:修复出站NAT。

如果其他一切都失败了,线路可能真的掉线,但测试方法似乎显示出来。验证接口和网关设置并重新运行测试,并尝试使用traceroute以确保流量正在离开使用预期的路径。


Ping IP地址正常,但Web浏览失败

在这种情况下,最可能的原因是DNS。 如果防火墙DNS设置与“接口”和“DNS配置”中的DNS设置不匹配,那么当广域网关闭时,客户端可能无法解析DNS。 解决办法:查看设置并修复发现的任何问题。

一站式多WAN

在路由器世界中,Cisco和其他厂商将VLAN路由器称为“路由器”,因为它可以是只有一个物理网络连接的功能正常的路由器。 pfSense可以以这种方式配置,使用VLAN和可进行802.1q中继的托管交换机。 大多数运行超过5个WAN的部署使用这种方法来减少防火墙所需的物理接口数量。 在这种部署中,WAN接口都驻留在防火墙上的一个物理接口上,LAN网络位于其他物理接口上。 图上的多WAN广域网说明了这种类型的部署。

技术分享

一站式多WAN

IPv6的多WAN

如果防火墙连接到具有静态地址的多个ISP或隧道,则可以使用IPv6多WAN。

其他

有关设置隧道的帮助,请参阅连接隧道代理服务器。

网关组的工作方式与IPv4的IPv4一样,但地址族不能在组内混合。 组必须只包含IPv4网关,或只包含IPv6网关。


在本节中,“第二WAN”是指具有IPv6连接的第二个或其他接口。 它可以是具有本机连接的实际接口,或者使用隧道代理时的隧道接口。


注意事项

在大多数情况下,NAT不会随IPv6一起使用,因为一切都是路由的。 这对于连接性以及能够承担提供商独立(PI)地址空间和BGP对等体的企业或位置而言非常好,但对于小型企业和家庭用户来说,这并不适用。


网络前缀翻译(NPt)允许一个子网用于通过其本机WAN具有完全连接性的LAN,但也可以在附加WAN上转换连接,因此它似乎起源于此。 虽然通过备用路径,LAN子网不是真正的连接,如果主要广域网关闭,那么它比没有连接更好。。


警告

这不适用于子网不是静态的动态IPv6类型,例如DHCP6-PD。

要求

要设置IPv6的多WAN,防火墙必须具有:

与两个或多个WAN上的静态地址的IPv6连接

System > Routing将网关添加到两个IPv6 WAN,并确认两者的连接。

从提供商处获取/路径路由/ 64

LAN使用静态路由/ 64或类似的


设置

IPv6多WAN的设置非常接近IPv4的设置。 主要区别在于它使用NPt而不是NAT。

首先,在System > RoutingGateway Groups选 项卡上,为IPv6网关添加网关组,并根据需要设置层级。 这与IPv4相同。

导航到System > General 为每个IPv6 WAN设置一个IPv6 DNS服务器,也与IPv4相同。

现在使用以下设置,在Firewall > NAT NPT选项卡添加一个NPt条目,并使用以下设置:

Interface:第二个WAN(或使用中间商的隧道)
Internal IPv6 Prefix:

 LAN IPv6 子网
Destination IPv6 Prefix:

第二个WAN路由IPv6子网

注意

这不是广域网接口本身的/ 64,它是/ 64由上游路由到该WAN上的防火墙。

这样做是类似于IPv4的1:1 NAT,但对于整个子网。 当流量离开第二个WAN时,如果它来自LAN子网,它将被转换为另一个子网中的等效IP地址。


例如,如果防火墙在局域网上有 2001:xxx:yyy::/64,而在第二个WAN上有2001:aaa:bbb::/64如果流量超出第二个WAN,2001:xxx:yyy::5将显示为2001:aaa:bbb::5。 有关NPt的更多信息,请参阅IPv6网络前缀翻译(NPT)。

与IPv4一样,网关组必须用于LAN防火墙规则。 编辑IPv6流量的LAN规则,并设置它们使用网关组,确保没有网关设置的直接连接的子网/ VPN的规则,使其不被策略路由。

替代方案

一些用户喜欢使用 fc00::/7 空间的“私有”IPv6子网配置LAN,并为两个WAN设置NPt。

多链路PPPoE(MLPPP)

多链路PPPoE(MLPPP)是一种独特的WAN选项,可以将来自同一ISP的多个PPPoE线路绑定在一起构成一个较大的虚拟线路。 这意味着防火墙可以获得捆绑中所有线路的真实总体带宽。 例如,如果一个防火墙在捆绑中有三条5Mbit / s的DSL线路,那么它可能会从单个连接中获得15Mbit / s的速度。

要求

MLPPP的最大障碍是ISP必须在连接到防火墙的线路上支持它。 很少有ISP愿意支持MLPPP,所以如果一个ISP是可用的,那么值得利用。 

设置

MLPPP的设置非常简单:

导航到Interfaces > AssignPPPs 选项卡

  • 单击 技术分享 在 PPPoE WAN上编辑条目

  • 按住Ctrl键单击选择属于同一个MLPPP包的其他物理接口

  • 单击 Save

然后pfSense将尝试使用MLPPP绑定线路。

注意事项

使用MLPPP的一个缺点是故障排除要困难得多。 统计数据和状态不适用于各行。 要确定状态,请阅读PPP日志,因为还没有一种单独查询线路的方法。 在某些情况下,线路是否关闭是很明显的,因为调制解调器可能会出现明显的问题(不同步)或最大可达到的带宽减少。

2017-9-27

本文出自 “pfsense交流” 博客,谢绝转载!

以上是关于pfsense 多WAN设置的主要内容,如果未能解决你的问题,请参考以下文章

在pfsense中设置多WAN后,网银无法登陆的解决!

在VMware ESXi中快速安装pfSense

移动端通过IPsec访问pfSense防火墙配置指南

pfsense Web服务器负载平衡配置示例

在Vmware ESXI6.5中安装pfsense2.34实例

在pfSense上设置Suricata