OPNsense HA KIT: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→em0) |
|||
| Zeile 193: | Zeile 193: | ||
'''inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 vhid 2''' | '''inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 vhid 2''' | ||
'''carp: MASTER vhid 2 advbase 1 advskew 0''' | '''carp: MASTER vhid 2 advbase 1 advskew 0''' | ||
| + | '''peer 224.0.0.18 peer6 ff02::12''' | ||
| + | media: Ethernet autoselect (1000baseT <full-duplex>) | ||
| + | status: active | ||
| + | nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> | ||
| + | |||
| + | em1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 | ||
| + | description: WAN (wan) | ||
| + | options=48500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO,HWSTATS,MEXTPG> | ||
| + | ether 08:00:27:61:6f:6d | ||
| + | inet 192.168.4.53 netmask 0xffffff00 broadcast 192.168.4.255 | ||
| + | '''inet 192.168.4.213 netmask 0xffffff00 broadcast 192.168.4.255 vhid 213''' | ||
| + | '''carp: MASTER vhid 213 advbase 1 advskew 0''' | ||
'''peer 224.0.0.18 peer6 ff02::12''' | '''peer 224.0.0.18 peer6 ff02::12''' | ||
media: Ethernet autoselect (1000baseT <full-duplex>) | media: Ethernet autoselect (1000baseT <full-duplex>) | ||
status: active | status: active | ||
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> | nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> | ||
Version vom 20. Februar 2026, 15:14 Uhr
Plan
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
| 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
| 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:
| 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:
| 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
- High Availability:
| 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
- System
- High Availability:
- Status
- High Availability:
Die Meldung auf der Backup-Firewall kann ignoriert werden, da diese nur passiv empfängt und die leeren XMLRPC-Felder daher fälschlicherweise als "unvollständig" markiert werden. Solange die Master-Firewall auf Version 24.7 eingestellt ist und die Daten erfolgreich überträgt, arbeitet der Cluster technisch einwandfrei.
Debugging
XLLRPC
- Um den erfolgreichen Sync auf der Master-Firewall zu prüfen, gehst du so vor:
- System
- Log Files
- General.
- Log Files
- Gib oben im Filter-Feld den Begriff xmlrpc ein.
Suche nach einem Eintrag wie: [OK] Configuration synchronized to https://100.64.64.2:443.
Netzwerkschnittstellen
em0
- Master
em0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: LAN (lan) options=48500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO,HWSTATS,MEXTPG> ether 08:00:27:c4:a2:6f inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 vhid 2 carp: MASTER vhid 2 advbase 1 advskew 0 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
em1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
description: WAN (wan)
options=48500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO,HWSTATS,MEXTPG> ether 08:00:27:61:6f:6d inet 192.168.4.53 netmask 0xffffff00 broadcast 192.168.4.255 inet 192.168.4.213 netmask 0xffffff00 broadcast 192.168.4.255 vhid 213 carp: MASTER vhid 213 advbase 1 advskew 0 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
