pfSense book之多WAN

发布时间:2020-06-18 04:14:58 作者:鐵血男兒
来源:网络 阅读:8876

多WAN 连接

章节目录:


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


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


本章首先介绍实施多WAN解决方案时要考虑的问题,然后介绍使用pfSense进行多WAN配置。


选择Internet连接

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


多WAN术语和概念

本节介绍pfSense部署多WAN功能的术语和概念。

WAN接口类型

WAN接口是可以直接或间接访问互联网的接口。 pfsense会将有网关的任何接口都视为WAN。 如果没有网关,则该接口被视为本地接口。 不要在本地接口上设置任何网关。 动态IP地址接口(如DHCP和PPPoE)自动接收动态网关,会始终被视为WAN。

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

注意

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



策略路由

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

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

注意

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


网关组

网关组是定义一组选定的网关,用来实现故障切换或负载平衡功能。 在System > RoutingGateway Groups选项卡上进行配置。

多WAN故障切换

多WAN故障切换是指仅使用一个WAN的连接,如果首选连接失败,则切换到另一个WAN。 这可以用于两条或多条线路的故障切换。

负载均衡

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

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

如何认定网关故障?

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


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



状态刷新/强制切换

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


这是一个可选的行为,默认情况下启用。


默认网关切换

通过防火墙的流量将使用默认网关,除非静态路由沿着不同的路径发送数据包。 如果默认网关掉线或关闭,则防火墙上的守护程序将无法进行出站连接。 当启用默认网关切换时,如果默认网关出现故障,则防火墙的默认网关将切换到下一个可用网关,然后在该WAN恢复连接时再自动切换回来。

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

本节提供有关常见的多WAN设置目标以配置方法。

带宽聚合

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

注意

多链路PPPoE(MLPPP)是唯一可以实现捆绑中所有线路的全集合带宽的WAN类型,但需要ISP的特殊支持。在具有访问互联网的众多内部机器的网络中,通过平衡所有WAN接口的许多内部连接,负载平衡将达到接近聚合吞吐量的速率。


优先服务的分离

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


在企业应用中,可以优先保证如办公OA网络使用高质量的Internet连接。


仅故障切换

当一部分Internet连接出现故障时,使用故障切换是最佳做法。 部分pfSense用户具有低带宽限制的辅助备份Internet连接,例如3G调制解调器,在主连接失败时可以使用该连接,可以将该连接配置为故障切换网关组,以实现这个目标。


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



负载平衡的权重

可以通过在网关上设置适当的“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连接的方式,pfSense将每个WAN网关视为唯一IP地址,流量只能使用线路的网关IP地址进行定向。


如果你的多WAN为同一ISP提供,并且在一个网段共用一个网关,要使用多WAN,必须在其中一条线路增加路由设备。如果可能的话,请联系ISP,并让它们重新配置WAN线路,让多WAN位于不同的子网,以使用不同的网关。


PPP型WAN(如PPPoE)能够在多个接口上使用相同的网关,但是每个网关条目必须配置使用不同的监视IP。


多个PPPoE WAN

当存在来自同一ISP的多个PPPoE线路并且ISP支持多链路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隧道。 


Open×××

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

CARP  和多WAN

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

IPv6和多WAN

IPv6能够以多WAN模式下执行,但通常需要在一个或多个WAN上进行网络前缀翻译(NPT)。 

多WAN设置摘要

以下简要总结了完成多WAN设置的要求:


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

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

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


策略路由配置

根据上述步骤,pfsense的多WAN已配置完成,但如果应用,还需要配置防火墙策略路由,才能实现故障切换或负载平衡功能。


注意

如果启用了默认网关切换,故障切换仍然可以在没有策略路由的情况下运行。


配置防火墙策略路由规则

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


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


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


旁路策略路由

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


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


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

pfSense book之多WAN

旁路策略路由示例规则

混合故障切换和负载平衡

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

强制网关使用

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


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


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


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

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

验证功能

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


测试故障切换

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


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


创建广域网故障

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


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


验证接口状态

拨出WAN接口网线或关闭路由器电源后,刷新Status > Gateways 检查当前状态。 由于网关监控守护程序会注意到丢包,丢包超过配置的警报阈值,就会标记为脱机。

验证负载平衡功能

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

验证HTTP负载平衡

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

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


如果IP地址永远不会更改,请尝试几个不同的站点,并确保浏览器确实再次请求页面,而不是从其缓存读取类容。手动删除缓存,关闭并重新打开浏览器,并尝试使用多个Web浏览器是进一步排除负载平衡配置故障。


另外,curl是一个更好的测试工具,它可以确保缓存和持久连接对结果没有影响。


用traceroute测试负载均衡

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

使用流量图

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


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


注意

带宽使用可能不会完全平均分配,因为多WAN连接是简单的循环而不考虑带宽使用。


故障排除

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

验证防火墙规则配置

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


如果规则排序和配置显示正确,有助于启用对规则的登录,确保适当的策略路由规则正在传递流量。


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

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

故障切换不工作

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

负载平衡不起作用

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

网关离线不正确标记

如果网关列为离线,但广域网实际上正常,可以从以下几方面进行排队:


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

如果监视IP地址丢弃没有有效载荷的ICMP回显请求报文,手动ping可以起作用,但网关监视可能不一定有效果。请将有效载荷设置为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广域网说明了这种类型的部署。

pfSense book之多WAN

一站式多WAN

IPv6的多WAN

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


其他

网关组的工作方式与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。 

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

替代方案

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

多链路PPPoE(MLPPP)

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


要求

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

设置

MLPPP的设置非常简单:

导航到Interfaces > AssignPPPs 选项卡

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

注意事项

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

翻译自pfsense book

2017-9-27

推荐阅读:
  1. pfSense book之网络概念
  2. pfSense book配置防火墙的规则是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pfsesne 多wan 之多 pfsense book

上一篇:Zookeeper原理

下一篇:samba不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》