Konfiguration HAProxy PFSense - mehrere Dienste durch verschiedene Ports bei selber IP anbieten



  • Hallo Zusammen,

    ich versuche grade den EMM-Server in der lokalen Installation der Firma AppTec zum laufen zu bringen.
    Dazu müssen zumindest für Android Geräte die Ports 443, 8080 und 8081 aus dem Internet erreichbar sein, um Smartphones einzuspielen.

    Kurze Infos zum Aufbau: Die PFSense agiert als Firewall und Router, HAProxy läuft als Dienst ebenfalls mit, der EMM-Server steht virtualisiert in der DMZ und läuft auf dem Image was AppTec mitliefert, basierend auf Debian9. Der Host ist per DNS-Namen erreichbar, der auf die WAN-IP der PFSense zeigt. Ebenfalls wurde ein Zertifikat mit dem hinterlegten DNS-Eintrag bei einem Zertifikatsaussteller gekauft.
    Bei der Konfiguration mussten lediglich die Zertifikate hochgeladen werden und der Lizenzschlüssel, ebenfalls hat der Server eine statische IP aus dem Netz der DMZ bekommen.

    Die entsprechenden Ports wurden auf der WAN-Schnittstelle natürlich geöffnet und per Alias als Regel hinterlegt.

    Da später noch einige andere Dienste auf 443 angeboten werden sollten, klang es nach Recherche am vernünftigsten dies mit HAProxy zu regeln.

    Die Installation vom HAProxy funktionierte hierbei auf den ersten Blick recht erfolgreich, das Problem ist leider nur, dass die Dienste auf den Ports 8080 und 8081 nicht erreichbar sind. 443 klappt, das Webinterface des Servers ist aus dem Internet erreichbar.

    Nach zahlreichen Konfigurationen und Änderungen ist es mir leider noch immer nicht gelungen die benötigten Ports 8080 und 8081 erreichbar zu machen und hoffe hier auf Hilfe

    Der DNS-Name ist natürlich im Screenshot geändert worden und es sind nur jene für die Konfiguration des Frontends und der Backends für 443 und 8080 hinterlegt.
    Ich habe schon mehrere Konfigurationen getestet (mehrere Frontends/Backends), jedoch leider alles ohne Erfolg

    Besten Dank im Voraus für jede Hilfe.

    Beiliegend noch die Screens zur Konfig:

    Frontend:

    1.PNG
    2.PNG

    3.PNG 4.PNG

    Backends:

    5.PNG 6.PNG 7.PNG 8.PNG 9.PNG 10.PNG



  • Hallo!

    @AK_47-2 said in Konfiguration HAProxy PFSense - mehrere Dienste durch verschiedene Ports bei selber IP anbieten:

    Da später noch einige andere Dienste auf 443 angeboten werden sollten, klang es nach Recherche am vernünftigsten dies mit HAProxy zu regeln.

    Verstehe das für Port 443, aber warum leitest du auch 8080 und 8081 auch über den Proxy? Möchtest du die auch mehrfach nutzen?

    Habe keine Ahnung, was dein Server auf diesen Ports macht, aber HAProxy ist ein HTTP Proxy Server. Wenn da irgendein spezielles Protokoll drüberläuft, das HAProxy nicht versteht, wir es nicht funktionieren.



  • Tagchen,

    besten Dank für die Info, da brauche ich mich ja auch nicht wundern:D Oh man...

    Der 8080er bietet Dienste an um Smartphones auf dem Server zu verwalten, der 8081er ist soweit ich es aus dem Kopf weiß für Android Geräte und die Betankung von Apps vorgesehen.

    Also schmeiß ich die 8080er und 8081er aus dem HAProxy raus und frühstücke sie mit einer Portweiterleitung ab oder was wäre deine Empfehlung?

    Ich meine, das hätte dazu geführt, dass ich ein SSL error hatte und die Smartphones nicht das Zertifikat vom Server bekommen.

    Wäre super, wenn du mir da ne Empfehlung zu geben könntest.

    Danke im Voraus!



  • Ja, die beiden Ports einfach weiterleiten.

    Der SSL-Fehler kommt aber wohl eher vom Proxy, nicht von der Portweiterleitung. Du musst natürlich das SSL Zertifikat samt eventueller Zwischenzertifikate in die pfSense importieren und es im Proxy konfigurieren. Hast du das gemacht?

    Grüße



  • bitte das webIF gleich mal von 443 auf was anderes umstellen zB 99443 ;)
    sonst suchst du dich "dumm & dämlich"

    ich verstehs noch immer nicht wieso man nicht alles über den HAproxy laufen lässt
    aber das ist wahrscheinlich der geringen Menge Kaffee geschuldet.

    ad ssl das könnte eine interessante konfig auf der pfS werden.


  • LAYER 8 Moderator

    @noplan said in Konfiguration HAProxy PFSense - mehrere Dienste durch verschiedene Ports bei selber IP anbieten:

    ich verstehs noch immer nicht wieso man nicht alles über den HAproxy laufen lässt

    Was ist denn "alles"? :)



  • @JeGr said in Konfiguration HAProxy PFSense - mehrere Dienste durch verschiedene Ports bei selber IP anbieten:

    @noplan said in Konfiguration HAProxy PFSense - mehrere Dienste durch verschiedene Ports bei selber IP anbieten:

    ich verstehs noch immer nicht wieso man nicht alles über den HAproxy laufen lässt

    Was ist denn "alles"? :)

    na eben aaaaaaaaalles
    die Ports 443, 8080 und 8081 betreffend ;)


  • LAYER 8 Moderator

    Achso bezogen auf die ursprüngliche Anfrage. Kann man machen, gerade wenn man TLS Termination bzw. TLS Handling zentral auf der Sense mit dem Proxy haben will. Nur wenn 8080, 8081 etc. gar nichts mit SSL/TLS zu tun haben und oder andere Datenports sind, gibts keinen Grund das extra übern Proxy zu wuppern und da zusätzlich Latenz reinzubasteln. Daher packt man eigentlich nur sinnvoll die Ports auf den Proxy, die da Sinn machen. Wie gesagt kann es Sinn machen alles hin zu packen oder eben nur das was man ggf. absichern oder mit TLS abschotten will.

    Zur Fehlersuche/analyse kanns aber praktisch sein, das erstmal wegzulassen und direkt durchzurouten mit nem Forwarding, damit man ausschließen kann, dass es irgendwelche Proxy Seiteneffekte sind.



  • @JeGr

    ja haste recht.
    die Nebenwirkungen sind halt immer spannend.



  • Hallo zusammen,

    sry für das Delay, hatte gestern noch mit 802.1X zu kämpfen, welches aber jetzt steht:)

    Also besten Dank erstmal für die Infos. Ich habe es jetzt mal gemacht, wie vorgeschlagen, also 8080 und 8081 als Port Forwarding mit dem Ergebnis, dass es natürlich klappt.

    Unschöner Nebeneffekt: Das Webinterface ist dann nicht mehr zu bekommen:(
    Wenn ich über einen Webbrowser den Server auf 8080 anfrage, bietet mir dieser ein Zertifikat an, genau wie es sein soll, dieses wird für die Smartphones benötigt zur Konfiguration.

    Allerdings komme ich auf 443 nur noch drauf, wenn ich die Portweiterleitung dann auch auf 443 mache, über den HAProxy klappt das leider nicht mehr.

    Wüsste jemand, was ich da verhunzt haben könnte?

    Kann auch noch benötigte Screenshots hochladen:)



  • Hast du das SSL-Zertifikat + Zwischenzertifikat(e) auf der pfSense importiert und im HAProxy eingerichtet?



  • @viragomann

    Ja, das SSL/TLS Zertifikat habe ich importiert und dem HAProxy bekannt gemacht, andernfalls würde ich das Webinterface über den Proxy sowieso nie erreichen.

    Das Zwischenzertifikat habe ich jedoch nicht hochgeladen, kann dies jedoch gerne nachziehen.



  • Vielen Dank für die Hilfe und die zahlreichen Beiträge, es funktioniert jetzt endlich wie gewünscht.

    Anscheinend lag es echt am Intermediate-Cert, was laut Anleitung des Herstellers nicht hochgeladen werden musste.
    Man darf sich eben auf nichts verlassen...

    8080 und 8081 sind über eine Portweiterleitung erreichbar und 443 macht der HAProxy.

    Tolles Forum mit guter Hilfestellung:)



  • @AK_47-2 said in Konfiguration HAProxy PFSense - mehrere Dienste durch verschiedene Ports bei selber IP anbieten:

    Anscheinend lag es echt am Intermediate-Cert, was laut Anleitung des Herstellers nicht hochgeladen werden musste.

    War mir noch nie passiert, dass ich es nicht am Server installieren musste. Wenn eins drauf war, das zum Issuer passte, war zumindest der Fingerprint ein anderer.
    Das bekommt man doch, damit man es installiert. Zumindest einen Blick in den Zertifikatsspeicher sollte man machen, um sicher zu gehen.


  • LAYER 8 Moderator

    Also Intermediates musste ich nicht nie nicht installieren. Da in den CA Stores meistens nur die End-CAs sind, muss das Intermediate für eine gültige Zertifikatskette eigentlich immer mit hochgeladen werden, sonst fehlte was. Sieht man u.a. ja bei ACME/LE auch, dass nach Ausstellen des Zertifikats in der CA Sektion der pfSense dann automatisch das Intermediate von LE mit dazu kommt, damit die Kette sauber terminiert werden kann :)

    Aber hey hinterher ist man immer schlauer ;)


Log in to reply