OPNsense HA KIT: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Plan=
+
*[[OPNsense HA Erklärung]]
{{#drawio:ha-opnsense-kit}}
+
*[[OPNsense HA Umsetzung]]
=Wichtig=
 
*Auf den lan und wan Interfaces muss der Promiscuos-Modus eingestellt sein.
 
*Sowohl als Master als auch auf der Backup
 
 
 
;Begründung
 
*CARP verwendet virtuelle MAC-Adressen für die gemeinsame VIP. In virtualisierten Umgebungen werden Frames mit diesen MAC-Adressen vom Hypervisor standardmäßig verworfen, da sie nicht der echten VM-NIC zugeordnet sind. Ohne aktivierten Promiscuous-Modus erreichen CARP-Advertisements den Partner nicht, was zu Fehldetektion, unerwünschtem Failover und HA-Inkonsistenzen führt.
 
 
 
= Vorbereitung =
 
* Zwei OPNsense-Installationen mit jeweils mind. 3 Netzwerkkarten
 
* Die Anzahl der Netzwerkkarten muss auf beiden Maschinen gleich sein
 
; Die Reihenfolge und Anzahl der Netzwerkschnittstellen muss gleich sein!
 
* Empfehlung für beide Maschinen:
 
** WAN
 
** SYN
 
** LAN
 
* Am Anfang sollten so wenige Dienst wie möglich laufen
 
 
 
== IP Adressen der Master Firewall ==
 
* em0 (LAN): 192.168.1.1/24
 
* em1 (WAN): 192.168.4.X+40/24
 
* em2 (SYN): 100.64.64.1/30
 
 
 
== IP Adressen der Backup Firewall ==
 
 
 
* em0 (LAN): 192.168.1.2/24
 
* em1 (WAN): 192.168.4.X+60/24
 
* em2 (SYN): 100.64.64.2/30
 
 
 
= Firewall Regeln (beide Firewalls) =
 
 
 
* Auf allen Schnittstellen '''außer''' dem SYN-Interface muss das Protokoll CARP akzeptiert werden
 
* Dazu muss im Menü '''Firewall => Rules => {WAN, LAN}''' Allow-Regeln erstellt werden, die auf das CARP-Protokoll matchen
 
* Für das SYN-Interface kann man eine Standard-Allow-Regel erstellen, die alles erlaubt
 
 
 
= Virtuelle IPs (Master Firewall) =
 
 
 
* Die virtuellen IPs werden von den Knoten des HA-Clusters geteilt, sobald ein Ausfall erkannt wird
 
* Somit wird dafür gesorgt, dass die virtuelle IP immer erreichbar ist
 
* Die virtuelle IP wird '''nur''' auf der Master Firewall eingestellt und an die Backups mitgeteilt
 
* Dazu muss man im Menü '''Interfaces => Virtual IPs => Settings''' wieder an allen bis auf das SYN-Interface, die eigentlich gewünschten IPs vergeben
 
* Über das '''[+]''' auf der rechten Seite muss man folgende Einträge machen:
 
 
 
== virtuelle WAN IP ==
 
{| class="wikitable"
 
! Parameter !! Wert
 
|-
 
| Mode || CARP
 
|-
 
| Interface || WAN
 
|-
 
| Address || 192.168.4.213/24
 
|-
 
| Virtual Password || radler
 
|-
 
| VHID Group || 213
 
|-
 
| Advertising Frequency || 1
 
|-
 
| Description || Virtual WAN IP
 
|}
 
 
 
== virtuelle LAN IP ==
 
{| class="wikitable"
 
! Parameter !! Wert
 
|-
 
| Mode || CARP
 
|-
 
| Interface || LAN
 
|-
 
| Address || 192.168.1.3/24
 
|-
 
| Virtual Password || radler
 
|-
 
| VHID Group || 2
 
|-
 
| Advertising Frequency || 1
 
|-
 
| Description || Virtual LAN IP
 
|}
 
 
 
= Source NAT (Master Firewall) =
 
 
 
* Da die virtuelle IP für ausgehende Verbindungen benutzt werden soll, muss die automatische Regelgeneration ausgeschaltet werden
 
* Im Menü '''Firewall => NAT => Outbound''' muss die Option "Manual outbound NAT rule genereation" ausgewählt werden
 
* Dann die folgenden Regeln erstellen:
 
** Interface: WAN
 
** Source address: LAN net
 
** Translation / target: 192.168.4.213/24 (Virtual WAN IP)
 
 
 
= High Availability Konfiguration (Master Firewall) =
 
 
 
* Die eigentliche HA Einstellung erfolgt über das Menü '''System => High Availability => Settings''':
 
{| class="wikitable"
 
! Parameter !! Wert
 
|-
 
| Synchronize all states via || SYN
 
|-
 
| Sync compatibility || OPNsense 24.7 or above
 
|-
 
| Synchronize Peer IP || 100.64.64.2
 
|-
 
| Synchronize Config || 100.64.64.2
 
|-
 
| Verify peer || deaktiviert
 
|-
 
| Remote System Username || root
 
|-
 
| Remote System Password || 123Start$
 
|-
 
| Services || Aliases, Firewall Rules, NAT, Virtual IPs
 
|}
 
 
 
= High Availability Konfiguration (Backup Firewall) =
 
 
 
* Hier darf im Menü '''System => High Availability => Settings''' nur folgendes eingestellt werden:
 
{| class="wikitable"
 
! Parameter !! Wert
 
|-
 
| Synchronize all states via || SYN
 
|-
 
| Sync compatibility || OPNsense 24.7 or above
 
|-
 
| Synchronize Peer IP || 100.64.64.1
 
|-
 
| Synchronize Config || leer
 
|-
 
| Verify peer || deaktiviert
 
|-
 
| Remote System Username || leer
 
|-
 
| Remote System Password || leer
 
|-
 
| Services || Nothing selected
 
|}
 
 
 
= Endergebnis =
 
:Master
 
*System
 
**High Availability:
 
***Status
 
 
 
{| class="wikitable"
 
! Service !! Description
 
|-
 
| configd || System Configuration Daemon
 
|-
 
| cron || Cron
 
|-
 
| hostwatch || Host discovery service
 
|-
 
| login || Users and Groups
 
|-
 
| ntpd || Network Time Daemon
 
|-
 
| openssh || Secure Shell Daemon
 
|-
 
| pf || Packet Filter
 
|-
 
| routing || System routing
 
|-
 
| sysctl || System tunables
 
|-
 
| syslog-ng || Syslog-ng Daemon
 
|-
 
| unbound || Unbound DNS
 
|-
 
| webgui || Web GUI
 
|}
 
;Slave
 

Aktuelle Version vom 20. Februar 2026, 15:23 Uhr