OPNsense 2 Provider: Unterschied zwischen den Versionen
| (22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 55: | Zeile 55: | ||
| IPv6 Configuration Type || None | | IPv6 Configuration Type || None | ||
|- | |- | ||
| − | | IPv4 address || 192.168.HS.2XX /24 | + | | IPv4 address || 192.168.HS.2XX/24 |
|- | |- | ||
| − | | IPv4 Upstream Gateway || WAN1GW | + | | IPv4 Upstream Gateway || hier kommt später '''WAN1GW''' rein |
|} | |} | ||
| Zeile 72: | Zeile 72: | ||
| Enable || aktiv | | Enable || aktiv | ||
|- | |- | ||
| − | | Device || | + | | Device || em4 |
|- | |- | ||
| Description || WAN2 | | Description || WAN2 | ||
| Zeile 86: | Zeile 86: | ||
| IPv4 address || 172.30.34.2XX/24 | | IPv4 address || 172.30.34.2XX/24 | ||
|- | |- | ||
| − | | IPv4 Upstream Gateway || WAN2GW | + | | IPv4 Upstream Gateway || hier kommt später '''WAN2GW''' rein |
|} | |} | ||
| Zeile 102: | Zeile 102: | ||
| Address Family || IPv4 || IPv4 | | Address Family || IPv4 || IPv4 | ||
|- | |- | ||
| − | | IP Address || 192.168.HS.254 || 172.34 | + | | IP Address || 192.168.HS.254 || 172.30.34.254 |
|- | |- | ||
| Upstream Gateway || '''aktiv''' || '''aktiv''' | | Upstream Gateway || '''aktiv''' || '''aktiv''' | ||
| Zeile 110: | Zeile 110: | ||
| Disable Gateway Monitoring || aus || aus | | Disable Gateway Monitoring || aus || aus | ||
|- | |- | ||
| − | | Monitor IP || | + | | Monitor IP || 9.9.9.9 || 208.67.222.222 |
|- | |- | ||
| Priority || 254 || 255 | | Priority || 254 || 255 | ||
| Zeile 126: | Zeile 126: | ||
* Die niedrigere '''Priority''' gewinnt bei der Wahl des Default-Gateways. Stehen beide auf 255, | * Die niedrigere '''Priority''' gewinnt bei der Wahl des Default-Gateways. Stehen beide auf 255, | ||
ist die Wahl zufällig. | ist die Wahl zufällig. | ||
| + | |||
| + | === Nun zuordnen der Gateway in den Interface Sektionen === | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Interface !! IPv4 gateway rules | ||
| + | |- | ||
| + | | WAN1 || WAN1GW | ||
| + | |- | ||
| + | | WAN2 || WAN2GW | ||
| + | |} | ||
| + | ===Wichtig=== | ||
| + | '''Die Gateways erscheinen in den Gateway Gruppen erstnach einem Neustart der opnsense''' | ||
=== Einstellen der Gatewaygruppe === | === Einstellen der Gatewaygruppe === | ||
| Zeile 136: | Zeile 148: | ||
| Group Name || GW_GROUP | | Group Name || GW_GROUP | ||
|- | |- | ||
| − | | Gateway Priority || | + | | Gateway Priority || WAN1GW = Tier 1, WAN2GW = Tier 2 |
|- | |- | ||
| Trigger Level || '''Member Down''' | | Trigger Level || '''Member Down''' | ||
| Zeile 146: | Zeile 158: | ||
! Ziel !! Tier-Vergabe !! Trigger Level | ! Ziel !! Tier-Vergabe !! Trigger Level | ||
|- | |- | ||
| − | | Failover (Standard hier) || | + | | Failover (Standard hier) || WAN1GW = Tier 1, WAN2GW = Tier 2 || Member Down |
|- | |- | ||
| Lastverteilung || beide Tier 1 || Packet Loss or High Latency | | Lastverteilung || beide Tier 1 || Packet Loss or High Latency | ||
| Zeile 161: | Zeile 173: | ||
! DNS Server !! Use gateway | ! DNS Server !! Use gateway | ||
|- | |- | ||
| − | | | + | | 8.8.8.8 || WAN1GW |
|- | |- | ||
| − | | 1. | + | | 1.1.1.1 || WAN2GW |
|} | |} | ||
| Zeile 172: | Zeile 184: | ||
=== NAT auf beiden WAN-Interfaces === | === NAT auf beiden WAN-Interfaces === | ||
| − | ''Firewall: NAT: Outbound'' | + | ''Firewall: NAT: Outbound'' – manuelle Regeln (Protokoll und Ports jeweils <code>*</code>, IPv4) |
{| class="wikitable" | {| class="wikitable" | ||
| − | ! | + | ! # !! Interface !! Source !! Destination !! Translate / target !! Beschreibung |
| + | |- | ||
| + | | 1 || WAN1 || LAN network || * || Interface address || LAN ins Internet | ||
|- | |- | ||
| − | | | + | | 2 || WAN2 || LAN network || * || Interface address || LAN ins Internet |
|} | |} | ||
| − | + | Das Ausrufezeichen vor dem Zielnetz invertiert die Bedingung: Die Regel greift für alle Ziele | |
| − | + | '''außer''' <code>10.88.0.0/16</code>. Verkehr aus der DMZ zu den übrigen internen Netzen wird | |
| − | + | also nicht übersetzt und behält seine Quelladresse – nur so bleiben Logs und Firewallregeln | |
| − | + | auf den Zielsystemen auswertbar. | |
| − | |||
| − | |||
| − | |||
| − | '' | + | ''Jede Regel existiert doppelt, einmal je WAN-Interface. Das ist bei Multiwan zwingend: Welche |
| − | + | Leitung genutzt wird, entscheidet das Policy Routing der Firewallregel; die passende NAT-Regel | |
| − | + | muss auf beiden Wegen bereitstehen.'' | |
| − | |||
| − | |||
=== Firewallregeln mit Gateway-Gruppe === | === Firewallregeln mit Gateway-Gruppe === | ||
| Zeile 199: | Zeile 208: | ||
{| class="wikitable" | {| class="wikitable" | ||
| − | ! # !! Action !! Source !! Destination !! Gateway !! | + | ! # !! Action !! Source !! Destination !! Gateway !! Description |
|- | |- | ||
| − | | 1 || Pass || LAN net || This Firewall || ''leer (default)'' || | + | | 1 || Pass || LAN net || This Firewall || ''leer (default)'' || Ziel Firewall |
|- | |- | ||
| − | | 2 || Pass || LAN net || | + | | 2 || Pass || LAN net || LAN net || ''leer (default)'' || Ziel LAN |
|- | |- | ||
| − | | 3 || Pass || LAN net || any || '''GW_GROUP''' || | + | | 3 || Pass || LAN net || any || '''GW_GROUP''' || Ziel Internet |
|} | |} | ||
| Zeile 234: | Zeile 243: | ||
|} | |} | ||
| − | '''Der klassische Fehler:''' Nur eine | + | '''Der klassische Fehler:''' Nur die eine Regel mit Gateway GW_GROUP anlegen. Eine Gateway-Angabe |
| − | erzwingt Policy Routing für ''alles'', was auf die Regel passt – auch für Pakete an die | + | erzwingt Policy Routing für ''alles'', was auf die Regel passt – auch für Pakete an die Firewall |
| − | + | selbst. Diese Pakete werden dann in Richtung Internet geschickt und verschwinden. Deshalb müssen | |
| − | geschickt und verschwinden. Deshalb müssen die Regeln 1 und 2 ''ohne'' Gateway-Angabe darüber | + | die Regeln 1 und 2 ''ohne'' Gateway-Angabe darüber stehen. |
| − | stehen. | ||
| − | + | ''Bei mehreren internen Netzen (DMZ, VLANs, VPN) legt man dafür einen Alias'' | |
| − | + | <code>LOKALE_NETZE</code> ''an und verwendet ihn auf jedem internen Interface in einer Regel | |
| + | ohne Gateway-Angabe oberhalb der Internet-Regel.'' | ||
=== Firewall: Settings: Advanced === | === Firewall: Settings: Advanced === | ||
| Zeile 254: | Zeile 263: | ||
== Szenarien testen == | == Szenarien testen == | ||
| + | |||
| + | * curl -4 --interface em1 ifconfig.co | ||
| + | * curl -4 --interface em4 ifconfig.co | ||
{| class="wikitable" | {| class="wikitable" | ||
! Szenario !! Vorgehen !! Erwartetes Ergebnis | ! Szenario !! Vorgehen !! Erwartetes Ergebnis | ||
|- | |- | ||
| − | | Normalbetrieb || <code>traceroute 9.9.9.9</code> vom Client || erster Hop | + | | Normalbetrieb || <code>traceroute 9.9.9.9</code> vom Client || erster Hop 192.168.HS.254 (WAN1GW) |
|- | |- | ||
| − | | Ausfall WAN1 || Kabel in VirtualBox trennen || Dashboard zeigt | + | | Ausfall WAN1 || Kabel in VirtualBox trennen || Dashboard zeigt WAN1GW offline, Verkehr läuft über 172.30.34.254 |
|- | |- | ||
| − | | Rückkehr WAN1 || Kabel wieder verbinden || | + | | Rückkehr WAN1 || Kabel wieder verbinden || WAN1GW wieder online, neue Verbindungen laufen über WAN1GW |
|- | |- | ||
| − | | DNS-Test || <code>dig @ | + | | DNS-Test || <code>dig @8.8.8.8</code> und <code>dig @1.1.1.1</code> || beide antworten, jeder über seine Leitung |
|- | |- | ||
| − | | Zugriff | + | | Zugriff Firewall || Ping auf die LAN-Adresse der Firewall bei totem WAN1 || funktioniert weiter (Regel 1 ohne Gateway) |
|} | |} | ||
Aktuelle Version vom 4. September 2026, 03:36 Uhr
Plan
| Rolle | Interface | Gerät | Identifier | IP-Adresse | Provider-Gateway |
|---|---|---|---|---|---|
| Internes Netz | LAN | em0 | lan | LAN-Netz/24 | – |
| Provider A | WAN1 | em1 | opt2 | 192.168.HS.2XX/24 | 192.168.HS.254 |
| Provider B | WAN2 | em4 | opt4 | 172.30.34.2XX/24 | 172.30.34.254 |
Hinweis: Die Identifier (opt1, opt2, opt3 …) vergibt OPNsense in der Reihenfolge, in der die Interfaces angelegt werden. Sie müssen nicht fortlaufend zu den Gerätenamen passen – wichtig ist nur, dass sie in Gateways, DNS und Regeln konsistent referenziert werden.
Was müssen wir tun?
- 2 WAN-Interfaces anlegen
- 2 Gateways definieren
- Eine Gatewaygruppe erstellen
- Die Internetleitungen überwachen (Healthcheck über Monitor-IP)
- Eine Entscheidungsinstanz schaffen: die Gatewaygruppe entscheidet über Tier und Trigger Level
- Zuordnung klären: Policy Routing über die Gateway-Angabe in der Firewallregel
- DNS-Server pro Leitung zuordnen
- Firewallregeln anpassen (Reihenfolge beachten!)
- NAT-Regeln anpassen
- Szenarien testen
Konfiguration
Interface WAN1
Interfaces: [WAN1]
| Feld | Wert |
|---|---|
| Enable | aktiv |
| Device | em1 |
| Description | WAN1 |
| Block private networks | aus |
| Block bogon networks | aus |
| IPv4 Configuration Type | Static IPv4 |
| IPv6 Configuration Type | None |
| IPv4 address | 192.168.HS.2XX/24 |
| IPv4 Upstream Gateway | hier kommt später WAN1GW rein |
Wichtig: Die Präfixlänge /24 darf nicht fehlen, sonst wird das Interface mit /32
angelegt und das Gateway ist nicht erreichbar.
Interface WAN2
Interfaces: [WAN2]
| Feld | Wert |
|---|---|
| Enable | aktiv |
| Device | em4 |
| Description | WAN2 |
| Block private networks | aus |
| Block bogon networks | aus |
| IPv4 Configuration Type | Static IPv4 |
| IPv6 Configuration Type | None |
| IPv4 address | 172.30.34.2XX/24 |
| IPv4 Upstream Gateway | hier kommt später WAN2GW rein |
Einstellen der Gateways
System: Gateways: Configuration
| Feld | GW1 | GW2 |
|---|---|---|
| Name | WAN1GW | WAN2GW |
| Interface | WAN1 | WAN2 |
| Address Family | IPv4 | IPv4 |
| IP Address | 192.168.HS.254 | 172.30.34.254 |
| Upstream Gateway | aktiv | aktiv |
| Far Gateway | aus | aus |
| Disable Gateway Monitoring | aus | aus |
| Monitor IP | 9.9.9.9 | 208.67.222.222 |
| Priority | 254 | 255 |
Zwei Punkte, die häufig falsch gemacht werden:
- Upstream Gateway muss bei beiden Gateways gesetzt sein. Es kennzeichnet ein Gateway als
Internet-Ausgang; ist es nur bei einem gesetzt, verhält sich das Failover unvorhersehbar.
- Die Monitor-IPs müssen bei verschiedenen Betreibern liegen und dürfen nicht mit den
DNS-Servern identisch sein. 8.8.8.8 und 8.8.4.4 gehören beide Google: fällt Google aus, werden beide Leitungen als tot gemeldet. Für jede Monitor-IP legt OPNsense zusätzlich eine Hostroute über das jeweilige Gateway an; benutzt man dieselbe IP auch als DNS-Server, überlagern sich Hostroute und DNS-Zuordnung.
- Die niedrigere Priority gewinnt bei der Wahl des Default-Gateways. Stehen beide auf 255,
ist die Wahl zufällig.
Nun zuordnen der Gateway in den Interface Sektionen
| Interface | IPv4 gateway rules |
|---|---|
| WAN1 | WAN1GW |
| WAN2 | WAN2GW |
Wichtig
Die Gateways erscheinen in den Gateway Gruppen erstnach einem Neustart der opnsense
Einstellen der Gatewaygruppe
System: Gateways: Group
| Feld | Wert |
|---|---|
| Group Name | GW_GROUP |
| Gateway Priority | WAN1GW = Tier 1, WAN2GW = Tier 2 |
| Trigger Level | Member Down |
| Pool Options | Default |
| Ziel | Tier-Vergabe | Trigger Level |
|---|---|---|
| Failover (Standard hier) | WAN1GW = Tier 1, WAN2GW = Tier 2 | Member Down |
| Lastverteilung | beide Tier 1 | Packet Loss or High Latency |
Bei Lastverteilung zusätzlich Firewall: Settings: Advanced → Sticky connections aktivieren, sonst wechseln einzelne Verbindungen desselben Clients die Leitung.
DNS pro Leitung
System: Settings: General
| DNS Server | Use gateway |
|---|---|
| 8.8.8.8 | WAN1GW |
| 1.1.1.1 | WAN2GW |
- Prefer IPv4 over IPv6: aktiv
- Die Zuordnung sorgt dafür, dass jeder DNS-Server über „seine“ Leitung befragt wird. Fällt eine
Leitung aus, bleibt der andere Resolver erreichbar.
NAT auf beiden WAN-Interfaces
Firewall: NAT: Outbound – manuelle Regeln (Protokoll und Ports jeweils *, IPv4)
| # | Interface | Source | Destination | Translate / target | Beschreibung |
|---|---|---|---|---|---|
| 1 | WAN1 | LAN network | * | Interface address | LAN ins Internet |
| 2 | WAN2 | LAN network | * | Interface address | LAN ins Internet |
Das Ausrufezeichen vor dem Zielnetz invertiert die Bedingung: Die Regel greift für alle Ziele
außer 10.88.0.0/16. Verkehr aus der DMZ zu den übrigen internen Netzen wird
also nicht übersetzt und behält seine Quelladresse – nur so bleiben Logs und Firewallregeln
auf den Zielsystemen auswertbar.
Jede Regel existiert doppelt, einmal je WAN-Interface. Das ist bei Multiwan zwingend: Welche Leitung genutzt wird, entscheidet das Policy Routing der Firewallregel; die passende NAT-Regel muss auf beiden Wegen bereitstehen.
Firewallregeln mit Gateway-Gruppe
Firewall: Rules: LAN – die Reihenfolge ist entscheidend:
| # | Action | Source | Destination | Gateway | Description |
|---|---|---|---|---|---|
| 1 | Pass | LAN net | This Firewall | leer (default) | Ziel Firewall |
| 2 | Pass | LAN net | LAN net | leer (default) | Ziel LAN |
| 3 | Pass | LAN net | any | GW_GROUP | Ziel Internet |
Regel 3 im Detail:
| Feld | Wert |
|---|---|
| Action | Pass |
| Quick | aktiv |
| Interface | LAN |
| Direction | in |
| TCP/IP Version | IPv4 |
| Protocol | any |
| Source | LAN net |
| Destination | any |
| Description | LAN to any über Gateway-Gruppe |
| Gateway | GW_GROUP |
Der klassische Fehler: Nur die eine Regel mit Gateway GW_GROUP anlegen. Eine Gateway-Angabe erzwingt Policy Routing für alles, was auf die Regel passt – auch für Pakete an die Firewall selbst. Diese Pakete werden dann in Richtung Internet geschickt und verschwinden. Deshalb müssen die Regeln 1 und 2 ohne Gateway-Angabe darüber stehen.
Bei mehreren internen Netzen (DMZ, VLANs, VPN) legt man dafür einen Alias
LOKALE_NETZE an und verwendet ihn auf jedem internen Interface in einer Regel
ohne Gateway-Angabe oberhalb der Internet-Regel.
Firewall: Settings: Advanced
| Option | Empfehlung | Wirkung |
|---|---|---|
| Skip rules when gateway is down | aktiv | Bei totem Gateway wird die Regel entfernt statt auf das Default-Gateway zurückzufallen – verhindert stillen Rückfall auf die falsche Leitung |
| Sticky connections | nur bei Lastverteilung | hält alle Verbindungen eines Clients auf derselben Leitung |
Szenarien testen
- curl -4 --interface em1 ifconfig.co
- curl -4 --interface em4 ifconfig.co
| Szenario | Vorgehen | Erwartetes Ergebnis |
|---|---|---|
| Normalbetrieb | traceroute 9.9.9.9 vom Client |
erster Hop 192.168.HS.254 (WAN1GW) |
| Ausfall WAN1 | Kabel in VirtualBox trennen | Dashboard zeigt WAN1GW offline, Verkehr läuft über 172.30.34.254 |
| Rückkehr WAN1 | Kabel wieder verbinden | WAN1GW wieder online, neue Verbindungen laufen über WAN1GW |
| DNS-Test | dig @8.8.8.8 und dig @1.1.1.1 |
beide antworten, jeder über seine Leitung |
| Zugriff Firewall | Ping auf die LAN-Adresse der Firewall bei totem WAN1 | funktioniert weiter (Regel 1 ohne Gateway) |
Statusanzeigen: Lobby: Dashboard (Widget Gateways), System: Gateways: Log File sowie Interfaces: Diagnostics: Routes.
