OPNsense HAProxy Einrichtung
Version vom 30. August 2026, 15:29 Uhr von Thomas.will (Diskussion | Beiträge)
Update
- System
- Firmware
- Status
- Firmware
- Nach unten scrollen
- auf Update klicken
Installation
- System
- Firmware
- Plugins
- Firmware
- Show community plugins
- Suchen nach haproxy
Einstiegspunkt
- Services
- HAProxy
- Settings
- HAProxy
- Die Reiter der Seite in der Reihenfolge der Einrichtung
| Reiter | Inhalt |
|---|---|
| Introduction | Quick Start Guide des Plugins |
| Real Servers | Die physischen oder virtuellen Server, auf die verteilt wird |
| Virtual Services | Backend Pools und Public Services |
| Rules & Checks | Conditions, Rules und Health Checks |
| User Management | Zugangsdaten fuer geschuetzte Bereiche |
| Settings | Dienst starten und Grundeinstellungen |
| Advanced | Freie Konfigurationsschnipsel |
- Reihenfolge
- Real Servers anlegen
- Backend Pools bilden
- Public Services anlegen
- HAProxy unter Settings einschalten
- Die Firewall-Regeln muessen von Hand angelegt werden, das Plugin macht das nicht
Realserver
Real Servers: Edit Server
| Bereich | Parameter | Wert | Bedeutung |
|---|---|---|---|
| Enabled | (x) | Server wird verwendet | |
| Name or Prefix | realserver-opfer | Name des Eintrags | |
| Description | Freitext | ||
| Type | static | Feste Adresse, keine Aufloesung ueber einen Resolver | |
| Static Server | FQDN or IP | 10.0.10.104 | Adresse des Zielservers |
| Common Options | Port | 80 | Port auf dem Zielserver |
| Common Options | Mode | active [default] | Server nimmt Anfragen an, backup nur bei Ausfall der aktiven |
| Common Options | SSL | ( ) | Verbindung zum Zielserver unverschluesselt |
| Common Options | SSL SNI | Servername bei verschluesselter Verbindung | |
| Common Options | Verify SSL Certificate | ( ) | Zertifikat des Zielservers pruefen |
| Common Options | SSL Verify CA | Nothing selected | CA fuer diese Pruefung |
Virtual Service: Backend Pool
Virtual Services: Edit Backend Pool
| Bereich | Parameter | Wert | Bedeutung |
|---|---|---|---|
| Enabled | (x) | Pool wird verwendet | |
| Name | backendpool-opfer | Name des Pools | |
| Description | Freitext | ||
| Mode | HTTP (Layer 7) [default] | Auf Layer 7 kann HAProxy den Inhalt der Anfrage auswerten | |
| Balancing Algorithm | Source-IP Hash [default] | Ein Client landet immer auf demselben Server | |
| Servers | realserver-opfer | Die Server dieses Pools | |
| FastCGI Application | None | Nur fuer FastCGI-Backends noetig | |
| Resolver Options | Nur bei dynamischer Namensaufloesung noetig | ||
| Enable Health Checking | ( ) | Regelmaessige Pruefung ob der Server lebt | |
| HTTP(S) settings | Enable HTTP/2 | (x) | HTTP/2 zum Zielserver erlauben |
| HTTP(S) settings | HTTP/2 without TLS | ( ) | HTTP/2 auch unverschluesselt |
| HTTP(S) settings | Advertise Protocols (ALPN) | HTTP/2, HTTP/1.1 | Protokolle die beim TLS-Handshake angeboten werden |
| HTTP(S) settings | Forwarded header (RFC7239) | ( ) | Setzt den Forwarded-Header |
| HTTP(S) settings | Forwarded header parameters | Zusatzangaben fuer diesen Header |
- Ein Backend Pool muss auch dann angelegt werden, wenn es nur einen Server gibt
Virtual Service: Public Service
Virtual Services: Edit Public Service
| Bereich | Parameter | Wert | Bedeutung |
|---|---|---|---|
| Enabled | (x) | Dienst wird verwendet | |
| Name | shared-frontend | Name des Dienstes | |
| Description | Freitext | ||
| Listen Addresses | 192.168.66.13:443 | Adresse und Port auf denen HAProxy lauscht | |
| Type | HTTP / HTTPS (SSL offloading) [default] | HAProxy beendet die TLS-Verbindung selbst | |
| Default Backend Pool | None | Ohne passende Regel wird nichts weitergeleitet | |
| Enable SSL offloading | (x) | Schaltet den Bereich SSL Offloading frei | |
| SSL Offloading | Certificates | star.lab30.linuggs.de | Zertifikat fuer die eingehenden Verbindungen |
| SSL Offloading | Default certificate | None | Zertifikat wenn kein anderes passt |
| Tuning Options | Maximum Connections | Begrenzung der gleichzeitigen Verbindungen | |
| Logging Options | Detailed Logging | ( ) | Ausfuehrliches Protokoll |
| Stickiness table | Table type | None | Keine Sitzungsbindung ueber eine Tabelle |
| Stickiness table | Stored data types | Nothing selected | Was in dieser Tabelle gespeichert wird |
| Rules | Select Rules | rule-opfer | Die Regeln dieses Dienstes |
| Error Messages | Select Error Messages | Nothing selected | Eigene Fehlerseiten |
- Der Public Service wird zuerst ohne Regel angelegt, die Regel wird danach unter Rules & Checks gebaut und hier nachgetragen
Rules & Checks: Condition
Rules & Checks: Edit Condition
| Bereich | Parameter | Wert | Bedeutung |
|---|---|---|---|
| Name | conditon-opfer | Name der Bedingung | |
| Description | Freitext | ||
| Condition | Condition type | Host starts with | Prueft den Anfang des Host-Headers |
| Condition | Negate condition | ( ) | Kehrt die Bedingung um |
| Condition | Case-sensitive | ( ) | Gross- und Kleinschreibung unterscheiden |
| Parameters | Host Prefix | opfer | Der gesuchte Anfang des Hostnamens |
Rules & Checks: Rule
Rules & Checks: Edit Rule
| Bereich | Parameter | Wert | Bedeutung |
|---|---|---|---|
| Name | rule-opfer | Name der Regel | |
| Description | Freitext | ||
| Optional condition | Test type | IF [default] | Regel greift wenn die Bedingung zutrifft |
| Optional condition | Select conditions | conditon-opfer | Die zu pruefende Bedingung |
| Optional condition | Logical operator for conditions | AND [default] | Verknuepfung bei mehreren Bedingungen |
| HAProxy function | Execute function | Use specified Backend Pool | Was bei einem Treffer geschieht |
| Parameters | Use backend pool | backendpool-opfer | Ziel der Weiterleitung |
Zurück zu Virtual Service
- Public Services
- Den angelegten Public Service oeffnen
- Unter Rules die Regel rule-opfer eintragen
- Speichern
Settings
Settings: Service
| Parameter | Wert | Bedeutung |
|---|---|---|
| Enable HAProxy | (x) | Startet den Dienst |
| Graceful stop | ( ) | Laufende Verbindungen beim Stoppen zu Ende bringen |
| Graceful stop timeout | 60s | Wartezeit dafuer |
| Gradual connection close time | Zeitraum ueber den Verbindungen abgebaut werden | |
| Seamless reload | ( ) | Neuladen ohne Verbindungsabbruch |
| Show introduction pages | (x) | Blendet den Quick Start Guide ein |
- Schaltflaechen
| Schaltflaeche | Wirkung |
|---|---|
| Apply | Uebernimmt die Konfiguration |
| Save & Test syntax | Prueft die erzeugte HAProxy-Konfiguration vor dem Uebernehmen |
Firewall
Firewall: Rules: WAN
| Parameter | Wert | Bedeutung |
|---|---|---|
| Action | Pass | Erlaubt den Verkehr |
| Disabled | ( ) | Regel ist aktiv |
| Quick | (x) | Bei einem Treffer wird sofort entschieden |
| Interface | WAN | Interface der Regel |
| Direction | in | Eingehend |
| TCP/IP Version | IPv4 | Adressfamilie |
| Protocol | TCP | Protokoll |
| Source / Invert | ( ) | Absender nicht umkehren |
| Source | any | Beliebiger Absender |
| Destination / Invert | ( ) | Ziel nicht umkehren |
| Destination | This Firewall | HAProxy lauscht auf der Firewall selbst |
| Destination port range | from HTTPS to HTTPS | Nur Port 443 |
- Das Plugin legt keine Firewall-Regeln an, ohne diese Regel ist der Public Service von aussen nicht erreichbar
Tests
Aufgabe
- Richtet den HAProxy so ein, dass ihr bei einer Anfrage auf https://opn.labXX.linuggs.de auf der Adminoberflaeche der OPNsense landet