Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Port 443 und Port 80 Weiterleiten abhängig von der Quelle - Ist das Möglich?

    Scheduled Pinned Locked Moved Deutsch
    21 Posts 6 Posters 2.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      krischeu
      last edited by

      Hallo,
      ich habe vor, mehrere PCs in der DMZ zu betreiben.
      Videokonverenz auf dem einen PC und email,etc. auf dem anderen PC.
      Zugriff von extern auf Port 80, 443 etc. wäre schön, wenn das dann irgendwie zuteilbar ist.
      DNS eintrag wäre z.B. video.asdf.de für die eine Maschine und mail.asdf.de für die andere.
      Geht sowas? Gibt es da eine Anleitung?
      Grüße
      Heinz

      1 Reply Last reply Reply Quote 0
      • mike69M
        mike69 Rebel Alliance
        last edited by

        Moin. @krischeu

        Schmeißt die Suchmaschine nichts raus?

        DG FTTH 400/200
        Supermicro A2SDi-4C-HLN4F with pfSense 2.7.2

        1 Reply Last reply Reply Quote 0
        • K
          krischeu
          last edited by

          Zuviel
          Nicht passend
          Eventuell etwas mit Reverse Proxy

          V 1 Reply Last reply Reply Quote 0
          • noplanN
            noplan
            last edited by

            HAproxy mit SSLoffloading

            Mit ACL (host Match) funktioniert

            LgNP

            1 Reply Last reply Reply Quote 0
            • V
              viragomann @krischeu
              last edited by viragomann

              @krischeu
              Hallo,

              deine Beschreibung passt nicht zur Überschrift! In der Überschrift schreibst du

              abhängig von der Quelle

              aber

              DNS eintrag wäre z.B. video.asdf.de für die eine Maschine und mail.asdf.de für die andere

              deutet eher auf den Zielhost hin. Ich nehme an, das sind deine Hostnamen.

              Wenn es die Ziele betrifft, diese nach Hostnamen unterschiedlich zu routen, ist ein Reverse-Proxy das Mittel zum Ziel. Geht auch gar nicht anders bei nur einer WAN-IP. Der Proxy muss hier in den Hostheader schauen und die Pakete entsprechend den Zielhosts weiterleiten. Auf Layer 3, auf dem der Paketfilter arbeitet, ist das nicht möglich.

              Grüße

              1 Reply Last reply Reply Quote 1
              • K
                krischeu
                last edited by

                Reverse-Proxy hatte ich auch schon im Blick.
                Das funktioniert dann auch mit ssl und UDP?

                noplanN 1 Reply Last reply Reply Quote 0
                • noplanN
                  noplan @krischeu
                  last edited by

                  ssl kein Problem
                  udp? Hmmm

                  Hier gibt's ein paar Beiträge zu HAproxy im forum aber sollte alles gehen.

                  1 Reply Last reply Reply Quote 0
                  • JeGrJ
                    JeGr LAYER 8 Moderator
                    last edited by

                    UDP ist verbindungslos. Das ist nicht wirklich zu "proxy'n". HAproxy genauso wie Squid arbeiten mit TCP, nicht UDP. Andernfalls sind Port Forwards das (einzige) Mittel zur Q/Wahl

                    Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                    If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                    1 Reply Last reply Reply Quote 0
                    • K
                      krischeu
                      last edited by

                      Danke für die Rückmeldungen. Das hat mir schon mal geholfen. Ist es aufwändig, HAProxy einzurichten für meinen Bedarf?

                      1 Reply Last reply Reply Quote 0
                      • JeGrJ
                        JeGr LAYER 8 Moderator
                        last edited by

                        Eigentlich nicht. Es gibt direkt nach Installation von HAproxy bereits ein Template, welches man "installieren" kann, das den Einstatzzweck "shared fontend" abbildet.

                        Shared Frontend: Das Frontend von HAproxy, also die "Seite" von HA, die Verbindungen annimmt, wird für mehrere Domains/URLs geteilt, daher der Name.
                        Backends: Server in DMZ oder LAN, die die eigentlichen Seiten ausliefern sollen.

                        Beim Backend werden quasi die Server konfiguriert (und ein Check, damit HAproxy weiß ob da überhaupt was läuft oder ob er eine temporäre Fehlerseite ausliefern soll), beim Frontend - oder Frontends - die IP(s), auf denen von extern was angenommen wird (und auf welchem Port). Dann wird durch sog. ACLs (access control lists) definiert, was bei welchem Event ausgeführt wird.

                        Das Shared Frontend Template bspw. definiert 3 Backends und konfiguriert ein Frontend, welches je nach Hostname (host1/2/3.domain.tld) dann ein anderes Backend "selektiert" und sich damit verbindet. Das sollte recht einfach anpassbar sein.

                        Wenn man das noch mit SSL und ACME spicken möchte, wirds ein klein wenig umfangreicher. Kommt aber drauf an, ob das SSL Zertifikat auf der pfSense durch den Proxy ausgeliefert werden soll (SSL Termination) oder ob der Zugriff einfach durchgereicht wird und die Endgeräte selbst SSL sprechen (SSL Passthrough). Geht beides, je nachdem ist das eine oder das andere gewünscht oder einfacher.

                        Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                        If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                        noplanN 1 Reply Last reply Reply Quote 1
                        • K
                          krischeu
                          last edited by

                          Hallo Jens,
                          danke für die Erklärung. Die Funktionsweise hab ich geschnallt. Ich schau mir das mal an.
                          Grüße
                          Heinz

                          1 Reply Last reply Reply Quote 0
                          • noplanN
                            noplan @JeGr
                            last edited by

                            @JeGr

                            das dilemma ist ein shared frontend für mehrere TLDs auf
                            1 ext IP auf :443

                            zb: zeigen mittels A Record alle auf die 1 (eine) IP

                            service.sandy.xyz
                            service.lexi.xyz
                            service.kenzie.xyz

                            und alles sollte auf das backend service.stars.xyz zeigen

                            funny ist das alle (also sandy lexie & kenzie) auf stars hinkommen
                            klar durch das port forwarding auf der pfS-box

                            allerdings immer das wildcard zertifikat von sandy.xyz verwendet wird
                            was wieder nicht das ziel ist.

                            sandy hat ein LE wildcard
                            lexie & kenzie sind LE Certs p host

                            stars.xyz ist nur der interne name des apache :)

                            irgendwo hängt die logik.

                            PS nein es sind nicht die "wirklich verwendeten namen" ;)

                            1 Reply Last reply Reply Quote 0
                            • JeGrJ
                              JeGr LAYER 8 Moderator
                              last edited by

                              @noplan said in Port 443 und Port 80 Weiterleiten abhängig von der Quelle - Ist das Möglich?:

                              funny ist das alle (also sandy lexie & kenzie) auf stars hinkommen
                              klar durch das port forwarding auf der pfS-box

                              Was für ein Forwarding? Das ist doch Quark. Wenn ich mit HAProxy auf einer externen IP:443 Pakete annehme brauche ich kein Forwarding.

                              allerdings immer das wildcard zertifikat von sandy.xyz verwendet wird

                              Warum sollte? Es wird normalerweise das Zert von HAProxy verwendet und davon das was benötigt wird.

                              sandy hat ein LE wildcard
                              lexie & kenzie sind LE Certs p host

                              Warum ist das überhaupt relevant? Du willst doch Certs per ACME auf der Sense machen, also kümmert das Backend Zert überhaupt nicht?

                              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                              1 Reply Last reply Reply Quote 0
                              • noplanN
                                noplan
                                last edited by

                                • list itemad forwarding jop das stimmt.
                                  c371f16b-74ac-4179-bee5-f91404ba2e31-grafik.png

                                  die bringt ja wirklich nix da sie auf die interne IP der pfS box zeigt (himmel)
                                  das 443 port ist ja eh in der firewall open.

                                  (die forward sache kommt wohl noch aus alten Tagen ..... ;)
                                  Danke für den Hinweis !!

                                • ad Zertifikate

                                ja das versteh ich auch nicht.

                                das Backend wird ohne Probleme von der sandy aus erreicht und funktioniert

                                will ich das gleiche Backend von lexi oder kenzie aus erreichen
                                komm ich zwar zum backend aber die Browser laufen Amok weil das Zert nicht passt (da es das wildcard von sandy ist)

                                irgendwas versteh ich nicht richtig.
                                ich hab 3 https frontends gebaut
                                frontend 1 als shared basis
                                frontend 2 für sandy mit primary frontend= frontend-1
                                frontend 3 für kenzie mit primary frontend= frontend-1
                                frontend 4 für lexie mit primary frontend= frontend-1

                                ich muss doch sowohl am backend unter
                                cad81600-cb5b-4c51-9531-7aed38fb3222-grafik.png
                                das CA und das Client Cert angeben

                                als auch im frontend unter
                                a) das LE wildcard oder wenn per host das host cert
                                71ba8b38-9f8f-4004-8488-1f1c0df22aef-grafik.png
                                b) die certs die ich am frontend verwende
                                41bd943a-a393-4bcc-a2af-12746dc5c413-grafik.png
                                c) und hier die CA
                                c031da41-ed76-4a13-8e86-4089b20c7389-grafik.png

                                irgendwo faslch abgebogen ?

                                JeGrJ 1 Reply Last reply Reply Quote 0
                                • JeGrJ
                                  JeGr LAYER 8 Moderator
                                  last edited by

                                  Im Backend "musst" du gar keine Zertifikate angeben. Entweder du stellst ein, dass das Backend strikt geprüft wird ob es ein valides Zert hat oder nicht. Normalerweise macht mans nicht, weil oft der Sinn des Proxies ja genau darin liegt, überhaupt ordentliche Zerts zu haben.

                                  Das Zert das vom Proxy ausgeliefert wird, ist nur im Frontend definiert und bei den Mikroscreenshots kann ich leider nichts von der Konfig erkennen, bei dem ich so helfen könnte, sorry. Ohne vernünftig mal deine Konfig zu posten und was genau von wo aus nicht geht, wird das schwer mit der Glaskugel und so :)

                                  Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                  If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                  1 Reply Last reply Reply Quote 0
                                  • noplanN
                                    noplan
                                    last edited by

                                    @JeGr said in Port 443 und Port 80 Weiterleiten abhängig von der Quelle - Ist das Möglich?:

                                    wenn am backend keine zerts abgelegt werden müssen auch ok
                                    funktioniert nur leider mit einem shared frontend nicht ohne zerts am backend

                                    das problem besteht darin
                                    das ich zwar auf die backends (via frontend-2) für domain-2 komm aber
                                    die zerts für domain-1 (also die von frontend-1) bekomm.

                                    ich seh mir das morgen in ruhe noch mal an.

                                    btw.
                                    wie machst du einen service aus dem internet erreichbar wenn du kein forwarding machst ?

                                    Bob.DigB 1 Reply Last reply Reply Quote 0
                                    • Bob.DigB
                                      Bob.Dig LAYER 8 @noplan
                                      last edited by Bob.Dig

                                      @noplan said in Port 443 und Port 80 Weiterleiten abhängig von der Quelle - Ist das Möglich?:

                                      btw.
                                      wie machst du einen service aus dem internet erreichbar wenn du kein forwarding machst ?

                                      HA-Proxy sollte direkt auf der WAN-Schnittstelle laufen und deswegen wäre jegliches Portforwarding hier schädlich und könnte ggf. auch deine Problem erklären, wenn du denn welches eingerichtet hast. Den/die Port/s öffnen musst du natürlich trotzdem in der Firewall.

                                      noplanN 1 Reply Last reply Reply Quote 0
                                      • noplanN
                                        noplan @Bob.Dig
                                        last edited by

                                        @Bob-Dig

                                        ergo musst du ein forwarding auf zB
                                        destinationPort 443 destination firewall itself setzen
                                        nur
                                        in der rule das port zu öffnen funktionierte hier nicht

                                        aber danke für den input gleich mal testen

                                        1 Reply Last reply Reply Quote 0
                                        • JeGrJ
                                          JeGr LAYER 8 Moderator
                                          last edited by

                                          @noplan said in Port 443 und Port 80 Weiterleiten abhängig von der Quelle - Ist das Möglich?:

                                          funktioniert nur leider mit einem shared frontend nicht ohne zerts am backend

                                          Öm doch. Schon mehrfach eingerichtet :) In Backends muss kein Zert hinterlegt werden - warum auch? Proxy spricht mit Backend Server, Server präsentiert sein Zert. Warum sollte ich dazu erst eines installieren müssen?

                                          die zerts für domain-1 (also die von frontend-1) bekomm.

                                          Dann kommst du komischerweise bei Frontend 1 raus und nicht bei 2. Das ist obskur und würde eher für einen Fehler der Konfiguration sprechen.

                                          ich seh mir das morgen in ruhe noch mal an.

                                          Das macht immer Sinn :)

                                          wie machst du einen service aus dem internet erreichbar wenn du kein forwarding machst ?

                                          Ömm wie jeder andere Server auch der DIREKT am Internet hängt? Port aufmachen und "lauschen"? ;)
                                          Deine Firewall hängt ja direkt im Internet und ist auf dem WAN direkt erreichbar. Dein Proxy hört auf das WAN. Oder eine IP die dort aufliegt (VIP, Alias etc.). Warum sollte ich also umständlich noch irgendwas forwarden, was "eh einfach da" ist?
                                          Du leitest ja nichts nach innen zu privatem IP Space weiter, sondern antwortest auf deiner WAN IP auf dem HTTPS Port ganz normal als wäre die Firewall der Server selbst. Das ist die Jobbeschreibung des Proxies ^^

                                          @Bob-Dig

                                          ergo musst du ein forwarding auf zB

                                          destinationPort 443 destination firewall itself setzen

                                          Nein eben nicht 🙄 Das machst du wenn du Port 443 ÜBER die Firewall hinweg ins LAN _weiter_leiten willst. Du willst aber nichts WEITERleiten, sondern es am Proxy direkt beantworten!

                                          Sorry aber ich weiß nicht wie man es dir anders erklären soll als es Bob oder ich schon haben. Deine Firewall hat die WAN IP, eine echte IP (wahrscheinlich) und antwortet DORT auf Anfragen aus dem Internet. Da muss NICHTS weitergeleitet werden, weil es kein "weiter" gibt! Der HAProxy läuft nicht HINTER der Firewall, sondern darauf und hört per default auf 80 oder/und 443. Und wenn du sauber bei HAproxy im Frontend als "Listen Address" das WAN ausgewählt hast, dann hört der HAproxy schon auf das WAN, dann musst du dem WAN nicht erst noch irgendwas weiterleiten :)

                                          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                          1 Reply Last reply Reply Quote 0
                                          • JeGrJ
                                            JeGr LAYER 8 Moderator @noplan
                                            last edited by

                                            @noplan said in Port 443 und Port 80 Weiterleiten abhängig von der Quelle - Ist das Möglich?:

                                            ich hab 3 https frontends gebaut
                                            frontend 1 als shared basis
                                            frontend 2 für sandy mit primary frontend= frontend-1
                                            frontend 3 für kenzie mit primary frontend= frontend-1
                                            frontend 4 für lexie mit primary frontend= frontend-1

                                            Um das hier nochmals aufzugreifen, dazu kurz ein paar Fragen.

                                            • Sandy, Kenzie und Lexie haben alle als Adresse sowas wie <name>.domain.tld - korrekt?
                                            • Kannst du kein wildcard Zertifikat (per LE/ACME) ausstellen, dass alle Namen abdeckt oder geht das aus irgendeinem Grund nicht?
                                            • Wenn es nicht geht - kommt ja vor - kannst du per LE/ACME und deinem Provider ein SAN Zertifikat ausstellen? (ein Zertifikat, in dem alle 3 Domains enthalten sind, funktioniert recht einfach)

                                            Beide Varianten - Wildcard und SAN - sind in Verbindung mit HAproxy wesentlich einfacher zu handeln als 3 einzelne Zertifikate und können jederzeit ergänzt oder geändert werden wenn benötigt. Hält auch den Zertifikatsspeicher und die Konfiguration kleiner.

                                            Ansonsten würde ich ggf. statt dieser Shared Frontend Konfiguration, die das Template da vorschlägt statt dessen die ACL Variante vorschlagen, die das Template ebenfalls enthält. Also EIN Frontend auf Port 80 und auf 443 packen und per ACLs und Actions das "Routing" auf die Backend vornehmen. Hört sich schlimm an, ist aber extrem simpel und wenn du etwas mehr Details zu deinem "was ich gerne hätte" Setup postest, wäre das auch in kurzer Zeit erledigt :)

                                            Schnellstes Setup war erst kürzlich für einen Kunden zwei Seiten hinter Proxy mit Acme/LE packen. Knapp 1h mit ACME LE MultiSAN Zertifikat, automatischer Erneuerung, ACME Redirect, SSL Setup etc. - also wirklich kein großer Aufriß.

                                            Grüße

                                            Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                            If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.