pfSense book之高可用性集群(HA)


pfsync概述pfSense XML-RPC配置同步概述冗余配置示例HA与多WAN验证故障转移功能提供无NAT的冗余第2层冗余高可用与桥接使用IP别名减少心跳流量接口故障排查
pfSense的高可用性通过以下特性的组合来实现:CARP用于IP地址冗余XMLRPC用于配置同步
pfsync用于状态表同步通过这种配置,单元充当“主动/被动”群集,主节点作为主单元,辅助节点作为备用角色,如果主节点发生故障,则会根据需要接管。
虽然经常被错误地称为“CARP群集”,但由于CARP只是pfSense实现高可用性的几种技术之一,因此两个或多个冗余pfSense防火墙更适合称为“高可用性群集”或“HA群集”,未来的CARP可以交换为不开发云主机域名同的冗余协议。
每个群集节点上的一个接口将专门用于同步任务。这个接口通常称为“Sync”接口,用于配置同步和pfsync状态同步。任何可用的接口都可以用于“Sync
注意有人称之为“CARP”接口,这是不正确的,而且非常具有误导性。 CARP心跳发生在与CARP VIP的每个接口上; CARP流量和故障转移操作不使用Sync接口。
最常见的高可用性群集配置仅包含两个节点。 群集中有更多的节点也是可以的,但它们显然不具有特别的优势。
区分三种功能(IP地址冗余,配置同步和状态表同步)非常重要,因为它们发生在不同的地方。 配置同步和状态同步发生在同步接口上,直接在防火墙单元之间进行通信。 CARP心跳在每个接口上与CARP VIP一起发送。 故障转移信号不会发生在同步接口上,而是发生在每个启用CARP的接口上。

共用地址冗余协议(CARP)由OpenBSD开发人员创建,作为免费的开放式冗余解决方案,用于在一组网络设备之间共享IP地址。在此之前已经有类似的解决方案,主要是IETF虚拟路由器冗余协议(VRRP)标准。然而,思科声称VRRP已经被它的热备用路由器协议(HSRP)的专利覆盖,并告知OpenBSD开发人员它将执行其专利权利。因此,OpenBSD开发人员创建了一个新的免费开放协议,在不侵犯思科专利的情况下实现基本相同的效果。 CARP于2003年10月在OpenBSD开发云主机域名上投入使用,后来又被添加到FreeBSD中。
CARP类型虚拟IP地址(VIP)在群集的节点之间共享。一个节点是主节点,接收IP地址的流量,其他节点保持备份状态并监视心跳,以查看并确认主节点发生故障时是否需要承担主节点角色。由于一次只有一个群集成员正在使用IP地址,因此CARP VIP不会发生IP地址冲突。
为了使故障转移正常工作,必须将进入群集的入站和出站流量(例如路由上游流量,,NAT,本地客户端网关,DNS请求等)通过CARP VIP进行传递,例如出站NAT将从CARP VIP发送。如果流量直接发往某个节点,而不是CARP VIP,则该流量不会被其他节点接收。
CARP与VRRP和HSRP类似,在某些情况下有可能会发生冲突。在包含CARP VIP的每个接口上发送心跳,每个VIP每个接口一个心跳。在默认的偏离值和基准值下,VIP每秒发出一次心跳。偏离值确定哪个节点在给定时间点是主节点。无论哪个节点传输心跳,更快的那个都会承担主节点角色。较高的偏离值会导致心跳传输延迟增加,因此具有较低偏离值的节点将成为主节点设备,除非网络或其他问题导致心跳延迟或丢失。
注意切勿使用CARP VIP访问防火墙GUI、SSH或其他。 出于管理的目的,只能在每个单独节点的接口上使用实际的IP地址,而不要使用VIP。 否则,不能事先确定正在访问哪个节点单元。
使用CARP的高可用性群集需要每个子网中有三个IP地址,并且Sync接口需要单独的未使用子网。 对于广域网,这意味着最佳配置需要大于或等于29个子网。 每个节点使用一个IP地址,另外还有一个共享的CARP VIP地址用于故障转移。 同步接口每个节点只需要一个IP地址。在技术上可以将CARP VIP接口配置为给定子网中唯一的IP地址,但通常不建议这样做。在WAN上使用时,这种类型的配置将只允许从主节点到WAN的通信,这会使任务(如更新、插件安装、网关监控或任何需要辅助节点的外部连接的任务)变得非常复杂。它可能更适合用于内部接口,但内部接口通常不会受到与WAN相同的IP地址限制,因此仍然最好在所有节点上配置IP地址。
CARP心跳线利用多点传送,并且可能需要对集群涉及的交换机进行特殊处理。 一些交换机会以可能导致CARP失败的方式过滤、限速或以其他方式干扰组播。 另外,一些交换机使用端口限制方法,这些方法可能导致CARP无法正常工作。
因此交换机必须:
允许发送和接收多播流量,不能干扰使用CARP VIP的端口。允许使用多个MAC地址发送和接收流量。
允许CARP VIP MAC地址在端口之间移动。

几乎所有CARP未能正确反映预期状态的问题都是交换机故障或其他第2层问题,因此在继续之前请确保交换机已正确配置。
pfsync可以使群集节点之间的防火墙状态表保持同步。主防火墙上状态表的修改会通过Sync接口发送到辅助防火墙,反之亦然。当pfsync处于活动状态并正确配置时,所有节点都将了解流经群集的每个连接。如果主节点发生故障,则备份节点将接管并且客户端不会注意到发生了转换,因为两个节点都事先知道连接。
pfsync在默认情况下使用多点传送,但可以定义IP地址以强制单点传送更新,以便只有两个防火墙的多点传送流量无法正常运行。任何活动接口都可用于发送pfsync更新,但使用专用接口更有利于安全性和性能。 pfsync不支持任何身份验证方法,因此如果使用除专用接口以外的其他任何方法,则任何具有本地网络访问权的用户都可以将状态插入到状态表中。在低安全性要求的低吞吐量环境中,使用LAN接口是可以接受的。这种状态同步所需的带宽在不同环境之间会有很大差异,但根据网络中状态的插入和删除速率,可能会高达穿越防火墙吞吐量的10%。
故障转移仍然可以在没有pfsync的情况下运行,但不会无缝连接。没有pfsync,如果一个节点失败,另一个接管,用户连接将被丢弃。用户可以立即通过另一个节点重新连接,但在转换过程中它们会中断。根据特定环境中的使用情况,这可能会被忽视,或者可能是一个重要但短暂的中断。
当使用pfsync时,必须在参与状态同步的所有节点(包括辅助节点)上启用pfsync设置,否则将无法正常运行。
必须在Sync接口上制定允许pfsync通信的规则。 该规则必须将来自Sync网络源的pfsync协议传递到任何目标。 通过任何协议的所有流量的规则也允许所需的流量,但一般来说,更具体的规则会更加安全。pfSense中的状态绑定到特定的系统接口。 例如,如果WAN是em0,那么WAN上的状态将与em0绑定。 如果群集节点具有相同的硬件和接口分配,则按预期工作。 在使用不同硬件的情况下,可能会有问题。 如果一个节点上的WAN是em0,但另一个节点上的WAN是igb0,那么这些状态将不匹配,并且它们不会被视为相同。
最好使用相同的硬件,但也可能不能满足实际的需要。有一个解决方法:将接口添加到LAGG,脱离底层物理接口,因此在上面的示例中,广域网将在两者上都是lagg0,状态将被绑定 到lagg0,尽管lagg0在一个节点上包含em0,并且在另一个节点上包含igb0。
通常pfSense都允许防火墙在线升级,而不会造成网络中断。但不是每次升级都是如此,因为pfsync协议可以更改以适应其他功能。 在升级之前,始终检查所有发布通告中链接的升级指南,以查看是否有任何CARP用户的特殊注意事项。为了将维护防火墙节点的工作变得更容易,可以使用XML-RPC进行配置同步。启用XML-RPC同步时,支持区域的设置将同步复制到辅助设备,并在每次更改配置后激活。 XMLRPC同步是可选的,但如果没有它,维护一个集群的工作量要大的多。
某些区域设置无法同步,如接口配置,但更多的区域都可以同步:包括防火墙规则、别名、用户、证书、、DHCP、路由、网关等。作为一般规则,特定于硬件或特定安装的项目(例如系统>常规或系统>高级设置下的接口或值)不会同步。受支持区域的列表可能因使用的pfSense版本而有所差别。大多数插件不会同步,但有些插件包含自己的同步设置。有关更多详细信息,请参相关文档。
配置同步应使用Sync接口,如果没有专用的Sync接口,请使用为pfsync配置的相同接口。
在双节点群集中,只能在主节点上启用XML-RPC设置,辅助节点必须禁用XML-RPC设置
为使XML-RPC正常工作,两个节点都必须使GUI运行在相同的端口和协议上,例如:端口443上的HTTPS(默认设置)。管理员帐户不能被禁用,并且两个节点必须具有相同的管理员帐户密码。本节介绍一个简单的三接口HA配置。 这三个接口是LAN,WAN和Sync。 这在功能上等同于两个接口LAN和WAN部署,pfsync接口仅用于同步主防火墙和辅助防火墙之间的配置和防火墙状态。
注意本示例仅涵盖IPv4配置。 高可用性与IPv6兼容,但它需要在防火墙接口上进行静态寻址。 准备配置HA时,如果静态IPv6分配不可用,请在所有接口上将IPv6设置为无。
第一项任务是规划IP地址分配。 一个好的策略是使用子网中最低可用的IP地址作为CARP VIP,将下一个后续IP地址用作主防火墙接口IP地址,并将下一个IP地址用作辅助防火墙接口IP地址。 这种策略是可选的,你可以使用任何方案,但我们强烈建议使用一致且合理的方案来简化设计和管理。WAN地址将从ISP分配的地址中选择。如“WAN IP地址分配表”所示,HA的WAN子网为198.51.100.0/24,地址198.51.100.200至198.51.100.202将用作WAN IP地址。
LAN子网是192.168.1.0/24。 在本例中,LAN IP地址将按照“LAN IP地址分配表”中所示进行分配。
这个接口上没有共享的CARP VIP,因为不需要。 这些IP地址仅用于防火墙之间的通信。 在本例中,172.16.1.0/24用作Sync子网。 将只使用两个IP地址,但掩码(/ 24)与其他内部接口(LAN)保持一致。 对于IP地址的最后八位字节,请使用与该防火墙的LAN IP地址相同的最后八位字节以保持一致。

下图显示了此示例HA的结构。 主节点和辅助节都有与WAN和LAN相同的连接,并且它们之间使用交叉电缆连接Sync接口。 在这个例子中,广域网交换机和局域网交换机仍然存在潜在的单点故障。 交换机冗余将在本章后面的第2层冗余中介绍。HA网络示例图每个节点都需要实际HA设置以外的一些基本配置。 在两个节点都没有冲突的LAN设置之前,请勿将两个节点都连接到同一个LAN中。在防火墙上安装操作系统,并在两个节点上以相同方式分配接口。 接口必须在所有节点上按照相同的顺序进行分配。 如果接口未对齐,配置同步和其他任务将无法正常工作。 如果对接口分配进行了任何调整,则必须在两个节点上进行相同的复制。
然后,连接到GUI并使用安装向导为每个防火墙配置唯一的主机名和非冲突的静态IP地址。
例如,一个节点可以是“firewall-a.example.com”,另一个节点可以是“firewall- b.example.com”,也可以是更加个性化的一对名称。
注意避免将节点命名为“master”或“backup”,因为这些是防火墙默认使用的状态,可以将他们命名为“primary”和“secondary”。
默认的LAN IP地址是192.168.1.1。 每个节点必须使用它自己的地址,例如主节点使用192.168.1.2,辅助节点使用192.168.1.3。 该布局显示在LAN IP地址分配中。 一旦每个节点具有唯一的LAN IP地址,则两个节点都可以插入同一个LAN交换机。
在继续之前,必须配置群集节点上的Sync接口。 同步IP地址分配列出了用于每个节点上的同步接口的地址。 在主节点上完成设置后,再在辅助节点上进行设置。
完成Sync接口配置后,还必须在两个节点上将添加防火墙规则以允许他们之间进行同步。
防火墙规则必须允许通过配置同步(默认情况下,HTTPS使用的443端口)和pfsync在两个节点之间的通信。可以使用简单的“全部允许”样式规则。
下图是配置完成的防火墙规则列表,其中还包含允许ICMP(ping)用于诊断目的的规则。
Sync接口防火墙规则示例辅助节点并不需要这些规则,只需要有一条规则允许流量通过GUI来使XML-RPC运行。 一旦配置了XML-RPC,主节点的全部规则就会同步到辅助节点。必须在主节点和辅助节点上配置使用pfsync的状态同步才能正常工作。
首先在主节点上,然后在辅助节点上执行以下操作:
导航到系统>高可用性同步(双机备份)设置同步状态将同步接口设置为SYNC将pfsync同步对等IP到另一个节点。 配置主节点时设置为172.16.1.3,配置辅助节点时设置为172.16.1.2点击保存

警告配置同步只能在主节点上配置。 辅助节点不能也不需要配置。
在主节点上执行以下操作:
导航到系统>高可用性同步将“同步配置”下的“配置同步目标IP”设置为为辅助节点同步接口IP地址172.16.1.3将远程系统用户名设置为admin。
注意用户名必须是“admin”,其他用户名不会正常工作!将远程系统密码设置为管理员用户帐户密码,并在确认框中重复输入。选中需要进行同步区域的复选框以同步到辅助节点。 全部切换按钮用于一次选择所有选项。
点击保存

快速确认后,进入辅助节点的防火墙>规则策略列表,可以看到主节点输入的规则已经被同步过来了。
这两个节点已连接并进行配置同步! 每当在主节点上进行修改后,所做的更改将很快同步到辅助节点。
警告不要在辅助节对设置同步的区域进行任何更改! 下次主节点执行同步时,这些选项将被覆盖。
通过配置同步,CARP虚拟IP地址只需添加到主节点,并且它们将自动同步到辅助节点。导航到主节点上的防火墙>虚拟IPs,设置CARP VIP单击右侧的按钮在列表顶部添加新的VIP。
注意必须为处理用户流量的每个接口添加一个VIP,在本示例中,要为WAN和LAN各添加一个。类型:定义VIP的类型,在这种情况下CARP。接口:定义VIP将驻留的接口,例如WAN地址:地址框是为VIP输入IP地址值的位置。 还必须选择子网掩码,并且它必须与接口IP地址上的子网掩码相匹配。 在本例中,输入198.51.100.200和24(请参阅WAN IP地址分配)。虚拟 IP密码:设置CARP VIP的密码。 这只需要两个节点之间的匹配,这将通过同步来处理。 密码和确认密码框必须填写并且必须匹配。VHID 组: 定义CARP VIP的ID一个常见的策略是使VHID匹配IP地址的最后一个字节,因此在这种情况下选择200广播频率:确定CARP心跳发送的频率。Base(基本值):控制Heartbeats之间经过的整秒数,通常为1.这应该在群集节点之间匹配。Skew(偏离值):控制秒的分数(1/256增量)。 主节点通常设置为0或1,次节点将开发云主机域名为100或更高。 该调整由XML-RPC同步自动处理。描述:一些文本可以识别VIP,例如WAN CARP VIP。

注意如果CARP对给定网络的延迟过于敏感,建议一次调整基本值一秒钟,直到稳定为止。
以上描述以WAN VIP为例。 LAN VIP也进行类似配置,但它将使用LAN接口,地址为192.168.1.1(请参阅LAN IP地址分配)。
如果WAN子网中有任何额外的IP地址用于1:1 NAT、端口转发、等,也可以在这里进行添加。
编辑完成后,点击应用更改。
添加VIP后,请检查辅助节点上的防火墙>虚拟IPs,以确保VIP按预期进行了同步。
如果同步成功,两个节点上的虚拟IP地址将如下图所示。
CARP虚拟IP地址列表下面将配置NAT,以便LAN上的客户端使用共享的WAN IP访问广域网。
导航到防火墙> NAT(地址转换),出站选项卡单击选中手动出站NAT规则生成点击保存
将出现一组与自动出站NAT适用的规则。 调整内部子网源的规则,以改为使用CARP IP地址。在规则的右侧单击进行编辑找到页面的转换部分从地址下拉列表中选择WAN CARP VIP地址
更改描述以提及此规则将NAT LAN连接到WAN CARP VIP地址
警告如果稍后添加其他本地接口(如第二个LAN,DMZ等),并且该接口使用私有IP地址,则必须在此时添加其他手动出站NAT规则。
完成后,规则更改将与使用CARP VIP的LAN出站NAT规则中的规则更改类似。
CARP VIP的LAN出站NAT规则群集节点上的DHCP服务器设置需要调整,以便它们可以一起工作。 这些修改将从主节点同步到辅助节点,因此对于VIP和出站NAT,这些修改只需要在主节点上进行。导航到系统服务> DHCP服务器,LAN 选项卡。将DNS服务器设置为LAN CARP VIP,此处为192.168.1.1将网关设置为LAN CARP VIP,此处为192.168.1.1将故障转移对等IP设置为辅助节点的实际LAN IP地址,此处为192.168.1.3点击保存
将DNS服务器和网关设置为CARP VIP可确保本地客户端与故障转移地址通信,而不是直接通向任一节点。 如果主节点失败,本地客户端将继续与辅助节点通话。
故障转移对等IP允许守护程序直接在此子网中与对等方进行通信,以交换租赁信息等数据。 当设置与辅助设备同步时,会自动调整该值,以便辅助设备指向主设备。HA还可以在多WAN配置中用于防火墙冗余。 本节详细介绍双WAN HA部署所需的VIP和NAT配置。
在这个例子中,每个WAN上将使用四个IP地址。 每个防火墙需要一个IP地址,另外还有一个CARP VIP用于出站NAT,另外还有一个CARP VIP用于1:1 NAT条目,该条目将用于DMZ段中的内部邮件服务器。下表显示了两个WAN的IP地址。 在大多数环境中,这些将是公共IP地址。

相关推荐: 好的域名有哪些

本篇文章为大家展示了好的域名有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.域名与企业相关与企业名称相关的方式有很多种,可以采用企业名称的汉语拼音、相应的英文名或者名称的缩写。实际上大部分国内企业都是这样选取域…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/17 11:25
下一篇 03/17 11:25

相关推荐