pfsense Umsteiger Hilfe haproxy

Started by liceo, September 16, 2020, 06:18:00 PM

Previous topic - Next topic
Hallo Gemeinde, das ist mein erster Post in diesem Forum (Status Kücken ;-)

Ich bin pfsense Admin seit einigen Jahren und wollte mal testen, ob sich ein haproxy Setup auch mit opnsense realisieren lässt.

Ich habe 2 Webserver in einer DMZ, die webservices exponiere ich via haproxy. Ich habe zwei Internetanbindungen von unterschiedlichen Providern (dual WAN setup) ohne fixe IPs und nutze daher dynDNS von Cloudflare.

Nun habe ich festgestellt, das haproxy setup unterscheidet sich doch signifikant von dem was ich aus pfsense kenne. Seit Stunden versuche ich den haproxy zum laufen zu kriegen, aber er startet nicht und das ohne irgend einen aussagekräftigen Log-Eintrag. Sobald ich im fronten service eine public ip (oder DNS fqdn) definiere, startet der service nicht mehr. Haproxy startet nur wenn ich beim public service localhost definiere, zb 127.0.0.1:80

PS: Den Port für das AdminGUI habe ich geändert, und die WebGUI Redirect Rule deaktiviert.

Liebe Grüsse und vielen Dank für eure Hilfe!

Moin,

Ich schreibe mal dazu, da ich in den letzten Monaten das ähnlich hatte...

Dass das Frontend nun public service heißt verwirrt noch mehr finde ich...
mein Tipp: eine virtuelle Adresse im dmz erstellen, auf dem dmz interface. Den entsprechenden portforward einrichten. Haproxy bekommt dann nichts von ddns bzw pppoe mit und braucht es ja auch nicht. (Nebenbei, es gab ja auch bei pfsense diese Zeiten, als das bind an die wan-ip bei pppoe nicht so gut funktionierte...)

Vorsicht: auch diese virt ip-Adresse ist nach einem reboot nicht mehr blank und evtl. sind Ports dann von der Sense belegt. Je nachdem welche Services noch laufen.

Grüße, Bernd
IPU451, 16GB RAM, 120GB SSD:
OPNsense 22.7.11_1-amd64
FreeBSD 13.1-RELEASE-p5
OpenSSL 1.1.1s 1 Nov 2022

IPU441, 8GB RAM, 120GB SSD:
OPNsense 23.1.1_2-amd64
FreeBSD 13.1-RELEASE-p6
OpenSSL 1.1.1t 7 Feb 2023

Hallo Bernd, danke für die Info. Ich habe zwei WAN Links. Der eine ist über ein DSL Router, da ist intern eine statische IP am opnsense interface konfiguriert. Konfiguriere ich diese IP beim public service ein z.B. 192.168.1.2:80 started der daemon.

Der zweite WAN uplink ist aber DHCP (Cable Modem Bridge Mode), was mache ich damit?

Ich vermisse die Funktion einfach bei der haproxy frontend-config ein interface zu wählen, das geht bei pfsense, z.B. "WANInterface1 Address".. Dann kann die IP an diesen Interface ändern und es funktioniert trotzdem noch.


ich bin mir nicht sicher ob du schon gegooglet hast, hier der link ist ganz einfach zu finden, mit diesem habe ich meine sense eingerichtet: https://blog.we-cme.de/haproxy-auf-opnsense-als-https-frontend-mit-lets-encrypt/
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

Quote from: micneu on September 16, 2020, 07:33:36 PM
ich bin mir nicht sicher ob du schon gegooglet hast, hier der link ist ganz einfach zu finden, mit diesem habe ich meine sense eingerichtet: https://blog.we-cme.de/haproxy-auf-opnsense-als-https-frontend-mit-lets-encrypt/

Super, vielen Dank! Ja, habe natürlich gegoogelt, aber diesen Beitrag nicht gefunden (nur englisch gesucht, vielleicht deshalb...)

In diesem Beispiel ist die "Listen Addresses" auf 0.0.0.0:<port> gesetzt, macht ihr das so? Das müsste dann wohl auch mit 127.0.0.1:<port> funktionieren...


Ich habe mal im englischen Forum die Frage nach den - je nach Anleitung auftauchenden - IP Adressen, virtuelle ip, localhost und 0.0.0.0 gestellt, die Resonanz war da aber nicht so riesig :-)

Ich würde es nun so sehen:
- 0.0.0.0 ist ein bisschen der workaround, da es die Wahl des wan interfaces mit wechselnder IP in opnsense nicht gibt. Es müsste auf wan dann auch ein offener port reichen.

- die anderen beiden ip-Adressen brauchen jeweils nat/portforwarding + offener Port.

Wie gesagt, ich würde mittlerweile eher eine virtuelle ip im dmz konfigurieren und das frontend darauf binden. Man hat dann die Firewall und den Service etwas stärker getrennt. (Ein bisschen wie wenn man im dmz noch einen Rechner startet der sich nur um den Reverse Proxy kümmert und die Sense http/s o.ä. dahin durchreicht.) Eigentlich sollte es dann gehen, dass du von beiden wan Schnittstellen dahin weiterleitest, falls gewünscht. Sollte das gerade nicht gewünscht sein, brauchst du pro wan eine virtuelle IP.
Localhost geht aber auch, das LE-Plugin macht es ja so und für ein Plugin macht es wohl auch Sinn.

Es gibt eine zweite recht ausführliche, deutsche Anleitung zu Haproxy auf der Sense von http://schulnetzkonzept.de/

Beste Grüße, Bernd
IPU451, 16GB RAM, 120GB SSD:
OPNsense 22.7.11_1-amd64
FreeBSD 13.1-RELEASE-p5
OpenSSL 1.1.1s 1 Nov 2022

IPU441, 8GB RAM, 120GB SSD:
OPNsense 23.1.1_2-amd64
FreeBSD 13.1-RELEASE-p6
OpenSSL 1.1.1t 7 Feb 2023

Danke Bernd, die Anleitung schaue ich mir gerne mal an. Momentan gefällt mir die pfsense Implementation von haproxy besser, werde wohl nicht wechseln.

Also wenn HAproxy dein hauptsächlicher Use-Case ist und du ansonsten mit der Software zufrieden bist, würde ich es auch lassen. Ich wechsle ja nicht mal eben so den kompletten Unterbau aus nur wegen einem Service darauf ;)

Und ja, es gibt natürlich einige pro/contra Sachen. Mir gefällt persönlich subjektiv sowohl HAproxy als auch bspw. die FreeRadius Implementation bei der pfSense besser. Aber dafür ist es doch fein, dass man beide zur Verfügung zum Evaluieren hat :)
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Wobei ein Pro bei der opnsense ein neueres HAproxy ist.

Und die Integration: da finde ich mittlerweile eher die Aufteilung des Backends auf zwei Reiter und das fehlende Dashboard-Widget nicht so schön. Dass das Frontend nicht direkt auf WAN läuft, finde ich mittlerweile nicht mehr schlimm und letztlich hat auch die Aufteilung des Backends in einigen Fällen Vorteile.

Aber ja - was soll ich sagen - ich habe auch gerade wg. haproxy recht lange mit dem Umzug gewartet.
IPU451, 16GB RAM, 120GB SSD:
OPNsense 22.7.11_1-amd64
FreeBSD 13.1-RELEASE-p5
OpenSSL 1.1.1s 1 Nov 2022

IPU441, 8GB RAM, 120GB SSD:
OPNsense 23.1.1_2-amd64
FreeBSD 13.1-RELEASE-p6
OpenSSL 1.1.1t 7 Feb 2023

Naja, primärer use case ist eigentlich immer noch die klassische Firewall. Aber ich betreibe noch ein paar Wordpress Seiten, das muss einfach laufen. Bin mir am überlegen, ob ich nicht besser einen separaten haproxy hochziehe, ich brauche für die Konfiguration ja eigentlich kein GUI. Aber danke für die Tipps; dieses Forum spricht definitiv für opnsense!

September 21, 2020, 11:17:37 AM #10 Last Edit: September 21, 2020, 11:20:35 AM by JeGr
Da fühle ich mich jetzt aber etwas angegriffen. Im pfSense Forum (zumindest im deutschen Teil) ist der Ton genauso freundlich, also da lasse ich jetzt mal nichts drankommen - da mach ich schließlich den gleiche Job :P

Darf gern nachgeschaut werden. Zudem wir auch immer mal wieder quer weiterhelfen - also zu pf bei OPN und zu OPN bei pf - wie man das bei Kollegen eben tut :)
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Quote from: liceo on September 20, 2020, 08:49:23 AM
Naja, primärer use case ist eigentlich immer noch die klassische Firewall. Aber ich betreibe noch ein paar Wordpress Seiten, das muss einfach laufen. Bin mir am überlegen, ob ich nicht besser einen separaten haproxy hochziehe, ich brauche für die Konfiguration ja eigentlich kein GUI. Aber danke für die Tipps; dieses Forum spricht definitiv für opnsense!

Du kannst auch das Plugin von HAProxy löschen und nur das Paket installieren (also wäre eine ein reines Consolen-Linux). Allerdings wirst du dann mit LE Probleme bekommen weil das natürlich für GUI-only konzipiert ist.

> Allerdings wirst du dann mit LE Probleme bekommen weil das natürlich für GUI-only konzipiert ist.

Genau das. Ich würde da wirklich - mal unabhängig vom Projekt - den Proxy als Modul/Package ausprobieren und ggf. schauen, wo es hakt (wenn überhaupt, Wordpress als Backend sollte jetzt nicht schwer sein). Denn sowas als Feedback hilft jedem weiter sich zu verbessern :)
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Vor allem ist HAProxy eins der weniger Plugins die custom configs erlauben .. eigentlich ist das nicht so die Herausforderung.


Quote from: mimugmail on September 21, 2020, 11:48:19 AM
Vor allem ist HAProxy eins der weniger Plugins die custom configs erlauben .. eigentlich ist das nicht so die Herausforderung.

Was hoffentlich so bleibt. Weil sonst wird es schwierig es noch zu nutzen. Wenn das wegfällt werde ich wohl auch den haproxy umziehen müssen.