<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=OPNsense_HA_Erkl%C3%A4rung</id>
	<title>OPNsense HA Erklärung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=OPNsense_HA_Erkl%C3%A4rung"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=OPNsense_HA_Erkl%C3%A4rung&amp;action=history"/>
	<updated>2026-05-14T19:42:39Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=OPNsense_HA_Erkl%C3%A4rung&amp;diff=67158&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= OPNsense HA – Funktionsweise und Zusammenspiel von CARP, pfsync und XMLRPC =  == Grundprinzip ==  * Ein OPNsense HA-Cluster besteht aus zwei Firewalls: **…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=OPNsense_HA_Erkl%C3%A4rung&amp;diff=67158&amp;oldid=prev"/>
		<updated>2026-02-20T15:23:41Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= OPNsense HA – Funktionsweise und Zusammenspiel von CARP, pfsync und XMLRPC =  == Grundprinzip ==  * Ein OPNsense HA-Cluster besteht aus zwei Firewalls: **…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= OPNsense HA – Funktionsweise und Zusammenspiel von CARP, pfsync und XMLRPC =&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
&lt;br /&gt;
* Ein OPNsense HA-Cluster besteht aus zwei Firewalls:&lt;br /&gt;
** Master (aktiv)&lt;br /&gt;
** Backup (passiv)&lt;br /&gt;
&lt;br /&gt;
* Beide Systeme besitzen:&lt;br /&gt;
** Eigene Interface-IP-Adressen&lt;br /&gt;
** Gemeinsame virtuelle IP-Adressen (VIPs)&lt;br /&gt;
&lt;br /&gt;
* Die VIPs sind die produktiv genutzten Gateway-Adressen im Netz&lt;br /&gt;
* Clients kommunizieren ausschließlich mit diesen VIPs&lt;br /&gt;
&lt;br /&gt;
== CARP (Common Address Redundancy Protocol) ==&lt;br /&gt;
&lt;br /&gt;
* CARP stellt die gemeinsame virtuelle IP-Adresse bereit&lt;br /&gt;
* Diese VIP wird immer nur von genau einem Knoten aktiv beantwortet&lt;br /&gt;
* Dieser Knoten befindet sich im Zustand MASTER&lt;br /&gt;
* Der andere Knoten befindet sich im Zustand BACKUP&lt;br /&gt;
&lt;br /&gt;
* Die Firewalls senden CARP-Advertisements über Multicast:&lt;br /&gt;
** IPv4: 224.0.0.18&lt;br /&gt;
** IPv6: ff02::12&lt;br /&gt;
&lt;br /&gt;
* Fällt der MASTER aus:&lt;br /&gt;
** Stoppen die Advertisements&lt;br /&gt;
** Der BACKUP erkennt dies&lt;br /&gt;
** Der BACKUP übernimmt automatisch die VIP&lt;br /&gt;
** Der BACKUP wird neuer MASTER&lt;br /&gt;
&lt;br /&gt;
* Für die Netze bleibt die VIP weiterhin erreichbar&lt;br /&gt;
* Default Gateway und Dienste bleiben funktionsfähig&lt;br /&gt;
&lt;br /&gt;
== Virtuelle MAC-Adresse ==&lt;br /&gt;
&lt;br /&gt;
* Jede CARP-VIP besitzt eine eigene virtuelle MAC-Adresse&lt;br /&gt;
* Diese MAC-Adresse „wandert“ beim Failover zwischen den Firewalls&lt;br /&gt;
* Switches und Clients lernen die neue Zuordnung automatisch per ARP&lt;br /&gt;
&lt;br /&gt;
== pfsync (State Synchronisation) ==&lt;br /&gt;
&lt;br /&gt;
* pfsync synchronisiert die Firewall-Zustandstabelle (States)&lt;br /&gt;
* Laufende TCP/UDP-Verbindungen werden übertragen&lt;br /&gt;
&lt;br /&gt;
* Beispiel:&lt;br /&gt;
** Client hat aktive HTTPS-Verbindung&lt;br /&gt;
** MASTER fällt aus&lt;br /&gt;
** BACKUP übernimmt VIP&lt;br /&gt;
** BACKUP kennt die Session bereits&lt;br /&gt;
** Verbindung bleibt bestehen&lt;br /&gt;
&lt;br /&gt;
* Ohne pfsync:&lt;br /&gt;
** Alle Sessions würden abbrechen&lt;br /&gt;
&lt;br /&gt;
== Synchronisationsnetz (SYN Interface) ==&lt;br /&gt;
&lt;br /&gt;
* Dediziertes Interface zwischen beiden Firewalls&lt;br /&gt;
* Wird ausschließlich für:&lt;br /&gt;
** pfsync (State Sync)&lt;br /&gt;
** XMLRPC (Config Sync)&lt;br /&gt;
&lt;br /&gt;
verwendet&lt;br /&gt;
&lt;br /&gt;
* Keine CARP-VIP auf diesem Interface!&lt;br /&gt;
&lt;br /&gt;
== XMLRPC (Configuration Synchronisation) ==&lt;br /&gt;
&lt;br /&gt;
* Synchronisiert die Konfiguration vom MASTER zum BACKUP&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
** Aliases&lt;br /&gt;
** NAT-Regeln&lt;br /&gt;
** Firewall-Regeln&lt;br /&gt;
** Virtual IPs&lt;br /&gt;
** VPN-Konfigurationen&lt;br /&gt;
** Zertifikate&lt;br /&gt;
&lt;br /&gt;
* Funktioniert ausschließlich:&lt;br /&gt;
** MASTER → BACKUP&lt;br /&gt;
&lt;br /&gt;
* Der BACKUP führt keinen aktiven Push durch&lt;br /&gt;
&lt;br /&gt;
== Rollenverteilung ab OPNsense 24.7 ==&lt;br /&gt;
&lt;br /&gt;
;MASTER&lt;br /&gt;
* Besitzt XMLRPC-Konfiguration:&lt;br /&gt;
** Synchronize Config&lt;br /&gt;
** Remote Username&lt;br /&gt;
** Remote Password&lt;br /&gt;
** Services to synchronize&lt;br /&gt;
&lt;br /&gt;
;BACKUP&lt;br /&gt;
* Keine XMLRPC-Konfiguration&lt;br /&gt;
* Felder bleiben leer!&lt;br /&gt;
&lt;br /&gt;
== Zusammenspiel im Betrieb ==&lt;br /&gt;
&lt;br /&gt;
;Normalbetrieb&lt;br /&gt;
* MASTER:&lt;br /&gt;
** Beantwortet VIP&lt;br /&gt;
** Verarbeitet Traffic&lt;br /&gt;
** Synchronisiert Konfiguration per XMLRPC&lt;br /&gt;
** Synchronisiert States per pfsync&lt;br /&gt;
&lt;br /&gt;
* BACKUP:&lt;br /&gt;
** Lauscht auf CARP&lt;br /&gt;
** Empfängt Config Updates&lt;br /&gt;
** Empfängt State Updates&lt;br /&gt;
&lt;br /&gt;
;Fehlerfall (MASTER fällt aus)&lt;br /&gt;
* BACKUP erkennt fehlende CARP-Advertisements&lt;br /&gt;
* Übernimmt VIP&lt;br /&gt;
* Wird MASTER&lt;br /&gt;
* Besitzt:&lt;br /&gt;
** Aktuelle Konfiguration&lt;br /&gt;
** Aktive Session-Zustände&lt;br /&gt;
&lt;br /&gt;
* Failover erfolgt unterbrechungsfrei&lt;br /&gt;
&lt;br /&gt;
== Failback ==&lt;br /&gt;
&lt;br /&gt;
* Ursprünglicher MASTER kehrt zurück&lt;br /&gt;
* Übernimmt VIP wieder (abhängig von advskew)&lt;br /&gt;
* Synchronisiert States erneut&lt;br /&gt;
&lt;br /&gt;
== Promiscuous Mode (Virtualisierung) ==&lt;br /&gt;
&lt;br /&gt;
* In virtualisierten Umgebungen erforderlich&lt;br /&gt;
&lt;br /&gt;
;Grund&lt;br /&gt;
* CARP verwendet virtuelle MAC-Adressen&lt;br /&gt;
* Hypervisor verwirft fremde MAC-Adressen standardmäßig&lt;br /&gt;
&lt;br /&gt;
;Ohne Promiscuous Mode&lt;br /&gt;
* CARP-Frames erreichen den Partner nicht&lt;br /&gt;
* VIP wird nicht korrekt übernommen&lt;br /&gt;
* HA-Funktion gestört&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>