OPNsense用户手册-高可用

OPNsense利用通用地址冗余协议或CARP进行硬件故障转移。可以将两个或多个防火墙配置为故障转移组。如果主节点上的一个接口出现故障,或者主节点完全脱机,则辅助节点将变为活动状态。

利用OPNsense的这一强大功能,可创建具有自动无缝故障转移功能的完全冗余防火墙。切换到备份网络时,连接将保持活动状态,同时对用户的干扰最小。

../_images/light_bulbs.png

自动故障转移

如果主防火墙变得不可用,则辅助防火墙将在没有用户干预和最小中断的情况下接管。

同步状态表

防火墙的状态表将复制到所有故障转移配置的防火墙。这意味着在发生故障时将保持现有连接,这对于防止网络中断非常重要。

配置同步

OPNsense包括配置同步功能。在主系统上进行的配置更改会自动同步到辅助防火墙。

配置HA CARP

本章逐步介绍如何基于两个网络创建设置。192.168.1.0/24将用于内部网络,172.8.0.0 / 24用于将我们的流量路由到互联网。

../../_images/900px-Carp_setup_example.png当使用CARP(FreeBSD手册)时,所有故障安全接口都应该有一个专用的IP地址,它将与一个共享的虚拟IP地址相结合,以便与两个网络进行通信。在上图中,虚线用于标记虚拟地址。

术语

设置CARP集群涉及一些术语,我们将首先简要解释:

CARP

公共地址冗余协议使用IP协议112,源自OpenBSD并使用多播数据包向其邻居发送有关其状态的信号。始终确保每个接口都可以接收CARP数据包。每个虚拟接口都必须具有唯一的虚拟主机ID(vhid),该ID在物理机器之间共享。要确定哪个物理机具有更高的优先级,请使用广播来通告偏离值。较低的偏离值意味着较高的优先级。(我们的主防火墙使用0)。

pfsync

与CARP一起,我们可以使用pfSync来复制我们的防火墙状态。当故障转移时,您需要确保两台机器都知道所有连接,以实现无缝迁移。为安全起见(状态注入)和确保性能,建议在主机之间使用专用接口来实现pfSync数据包同步。

xmlrpc sync

OPNsense包括一种机制,用于使备份服务器的配置与主服务器保持同步。此机制称为,可在System – > High Availability下找到。

设置接口和基本防火墙规则

我们的示例使用三个接口,它们进行了基本的设置。

主防火墙

转到接口,确保已分配所有三个接口并设置以下地址和子网:

LAN 192.168.1.10/24
WAN 172.18.0.101/24
PFSYNC 10.0.0.1

接下来我们需要确保可以在不同的接口上使用合适的协议,转到防火墙 – >规则并确保LAN和WAN都可以接受carp 数据包(参见协议选择)。因为我们使用直接电缆连接两个防火墙,所以我们将添加一个规则来接受该特定接口的所有协议上的所有流量。另一种选择是仅接受GUI端口和pfSync协议的流量。

备用防火墙

备份防火墙需要它自己的专用地址,我们将使用这些:

LAN 192.168.1.20/24
WAN 172.18.0.102/24
PFSYNC 10.0.0.2

因为我们要在两个主机之间同步防火墙设置,所以我们只需要确保pfsync接口可以接受来自主服务器的数据以进行初始设置。使用与此接口上的主服务器相同的规则。

设置虚拟IPs

在主节点上,我们将设置虚拟IP地址,这些地址也将在同步后用于备份节点。转到防火墙 – >虚拟IP并添加一个具有以下特征的新IP:

类型 Carp
接口 WAN
IP地址 172.18.0.100 / 24
虚拟IP密码 opnsense
VHID组 1
广播频率 基本值1 /偏离值0
描述 VIP WAN

另一个使用以下内容:

类型 Carp
接口 LAN
IP地址 192.168.1.1 / 24
虚拟IP密码 opnsense
VHID组 3
广播频率 基本值1 /偏离值0
描述 VIPLAN

出站设置

当流量离开防火墙时,它还应该使用虚拟IP地址来实现无缝迁移。OPNsense的默认设置是使用接口IP地址,在我们的例子中这是错误的。

转到防火墙 – > NAT并选择出站nat。在此页面上选择手动出站nat,并更改源自192.168.1.0/24网络的规则以使用CARP虚拟接口(172.18.0.100)。

设置DHCP服务器(可选)

将dhcp用于局域网时,需要考虑一些事项。所有客户端都应使用虚拟地址而不是通常传播的物理地址。接下来要考虑的是同时有两个服务器处于活动状态,应该知道每个其他服务器池。如果dns请求也由OPNsense转发,请确保dhcp服务器发送正确的IP地址。这些是我们的示例中使用的设置(在主服务器上):

DNS服务器 192.168.1.1
网关 192.168.1.1
故障转移对等IP 192.168.1.20

设置HA sync (xmlrpc) 和pfsync

首先,我们在主防火墙的专用接口上启用pfSync。转到System -> High Availability(系统 – >热备),启用pfsync(同步状态)并选择用于pfSync的接口。接下来将 peer ip(同步对等IP)设置为另一个主机的IP地址(10.0.0.2)。

现在,我们需要使用xmlrpc sync选项配置要复制到备份服务器的设置。对于我们的设置,我们将启用以下内容:

同步-规则
同步-NAT
同步-DHCPD
同步-虚拟IP

完成设置

为了确保正确应用所有设置,在测试之前重启两个防火墙。

测试设置

首先转到OPNsense Web界面中的Status – > Carp,然后检查两台机器是否都已正确初始化。

为了测试我们的设置,我们将客户端连接到局域网,并打开与两个防火墙后面的主机的ssh连接。现在连接时,您应该能够查看两个OPNsense防火墙(诊断 – >状态)上的状态表,它们都应该显示相同的连接。接下来尝试从主防火墙中拔出网络插头,它应该转移到备份防火墙而不会失去ssh连接。