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

    [beantwortet] Subdomains auf unterschiedliche Ports/Dienste forwarden

    Scheduled Pinned Locked Moved Deutsch
    29 Posts 5 Posters 5.9k 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.
    • P
      pisasalesgmbh
      last edited by

      Ich schicke dir morgen früh mal eine Config für SMTP, vielleicht hilft das schon weiter…

      1 Reply Last reply Reply Quote 0
      • S
        simposs
        last edited by

        Das wäre super, vielleicht habe ich ja nur irgendwo einen Denkfehler  :-[

        1 Reply Last reply Reply Quote 0
        • P
          pisasalesgmbh
          last edited by

          So nun mal ein Beispiel aus der haproxy.cfg:

          #Globale Einstellungen kannst du selber setzen

          frontend tcp_mail
                  log global
                  mode tcp
                  option tcplog
                  bind *:25
                  acl tux_srv -i tux.pisa.hom
                  acl mailgate_srv -i mailgate.pisa.hom
                  use_backend tux if tux_srv
                  use_backend mailgate if mailgate_srv

          backend tux
                  log global
                  mode tcp
                  option tcplog
                  balance roundrobin
                  server mail1 10.20.30.1:25
          server mail1 10.20.30.2:25

          backend mailgate
                  log global
                  mode tcp
                  option tcplog
                  balance roundrobin
                  server mail3 10.20.30.3:25
          server mail1 10.20.30.4:25

          #ENDE

          Gruß
          David

          1 Reply Last reply Reply Quote 0
          • S
            simposs
            last edited by

            Boa super, vielen Dank, da werde ich mich später erstmal ausgiebig mit beschäftigen!  :)

            1 Reply Last reply Reply Quote 0
            • S
              simposs
              last edited by

              Hmmm du fährst da ja eher eine Lastenverteilung aber ich möchte wenn ich minecraft1.meinedomain.de eingebe NUR auf dem minecraftserver1 und beim eingeben von minecraft2.meinedomain.de auf dem anderen minecraftserver (mit anderem Port) oder equivalent zu deinem Beispiel eben auf dem jeweils anderen SMTP-Server. Vielleicht muss ich noch dazuschreiben, dass der Server auf dem die beiden Dienste (Minecraft) laufen der gamesrv.meinedomain.de ist und ich zusätzlich noch 2 aliase (minecraft1 und minecraft2 auf die 10.133.7.2) für den selben Server angelegt habe.

              Meine Konfiguration sieht derzeit so aus:

              frontend FrontendMinecraft-merged
              bind 0.0.0.0:25565 name 0.0.0.0:25565 
              mode tcp
              log global
              timeout client 30000
              acl aclusr_source_ip_minecraft2 src minecraft2
              acl aclusr_source_ip_minecraft1 src minecraft1
              use_backend Minecraft2_tcp_ipvANY if aclusr_source_ip_minecraft2
              use_backend Minecraft1_tcp_ipvANY if aclusr_source_ip_minecraft1
              default_backend MinecraftDefault_tcp_ipvANY

              backend MinecraftDefault_tcp_ipvANY
              mode tcp
              balance source
              timeout connect 30000
              timeout server 30000
              retries 3
              option httpchk
              server gamesrv.meinedomain.org 10.133.7.2:25565

              backend Minecraft2_tcp_ipvANY
              mode tcp
              balance source
              timeout connect 30000
              timeout server 30000
              retries 3
              option httpchk
              server minecraft2.meinedomain.org 10.133.7.2:25566

              backend Minecraft1_tcp_ipvANY
              mode tcp
              balance source
              timeout connect 30000
              timeout server 30000
              retries 3
              option httpchk
              server minecraft1.meinedomain.org 10.133.7.2:25565

              1 Reply Last reply Reply Quote 0
              • F
                flix87
                last edited by

                ich glaube schon das es so ist wie viragomann sagt
                Der Proxy muss ja wissen welche Server gemeint ist. Also bräuchtest du einen Minecarft Proxy (ob es das gibt keine Ahnung)

                Loadbalancing ist ja was andere das geht auf TCP Ebene das mag mit der HAProxy sogar gehen.

                Aber gezielt auf einen Server zu verweisen da muss man schon in das Protokoll reinschauen und dann entscheiden. Muss Proxy und Protokoll aber auch erstmal hergeben und unterstützen.
                Bei HTTP klappt das weil im Protokoll (also schon über der TCP Schicht) drin steht wo der Client hin will und das kann der Proxy auswerten.
                Wenn Minecraft das  nicht macht und es keinen Proxy gibt der in das Minecarft Protokoll reinschaut kann geht es einfach nicht.

                Das einfachste wäre unterschiedliche Ports zu nehmen. Spricht da was gegen? habe ich bei anderen Gameservern auch schon so gemacht.

                1 Reply Last reply Reply Quote 0
                • S
                  simposs
                  last edited by

                  Hallo Flix,

                  ich versuche es ja mit unterschiedlichen Ports (25565 und 25566), doch bekomme es partout nicht hin.  :-
                  Entweder ich habe irgendwo einen groben Denkfehler oder es funktioniert einfach nicht mit nur einer öffentlichen IP und beliebigen TCP-Ports.

                  Eigentlich geht es ja nur darum, dass man bei der Serverwahl (clientseitig) keinen Port angeben muss, sondern anhand der subdomain unterschieden wird.

                  Mein technisches allgemeinwissen in Sachen IT ist schon umfangreich aber wenn es so ins eingemachte geht, stehe ich manchmal so richtig auf dem Schlauch…

                  1 Reply Last reply Reply Quote 0
                  • F
                    flix87
                    last edited by

                    @simposs:

                    Eigentlich geht es ja nur darum, dass man bei der Serverwahl (clientseitig) keinen Port angeben muss, sondern anhand der subdomain unterschieden wird.

                    Das dachte ich mir schon ist ja auch eine schöne Sache und nutze ich bei HTTP recht viel. In dem Fall wird es aber leider nicht gehen.

                    Du machst also im Moment das?
                    WAN_IP:25565 ->NAT-> Server1_InterneIP:25565
                    WAN_IP:25566 ->NAT-> Server2_InterneIP:25565

                    Oder wie hast du es im Moment eingerichtet im NAT?

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

                      @simposs:

                      ich versuche es ja mit unterschiedlichen Ports (25565 und 25566), doch bekomme es partout nicht hin.  :-\

                      Eigentlich geht es ja nur darum, dass man bei der Serverwahl (clientseitig) keinen Port angeben muss, sondern anhand der subdomain unterschieden wird.

                      Das widerspricht sich doch.
                      Du brauchst die beiden Ports extern. Das können zwar andere sein, als du intern am Server selbst verwendest bzw. können es intern auch unterschiedliche IP sein, aber es benötigt unterschiedliche Ports an der WAN Adresse und diese müssen dann auch am Client angegeben werden.

                      1 Reply Last reply Reply Quote 0
                      • S
                        simposs
                        last edited by

                        @flix87:

                        @simposs:

                        Eigentlich geht es ja nur darum, dass man bei der Serverwahl (clientseitig) keinen Port angeben muss, sondern anhand der subdomain unterschieden wird.

                        Das dachte ich mir schon ist ja auch eine schöne Sache und nutze ich bei HTTP recht viel. In dem Fall wird es aber leider nicht gehen.

                        Du machst also im Moment das?
                        WAN_IP:25565 ->NAT-> Server1_InterneIP:25565
                        WAN_IP:25566 ->NAT-> Server2_InterneIP:25565

                        Oder wie hast du es im Moment eingerichtet im NAT?

                        Genau beide Ports werden internet auf die selbe interne Server-IP geleitet, sind also auch von außen über den jeweiligen port erreichbar.

                        1 Reply Last reply Reply Quote 0
                        • S
                          simposs
                          last edited by

                          @viragomann:

                          @simposs:

                          ich versuche es ja mit unterschiedlichen Ports (25565 und 25566), doch bekomme es partout nicht hin.  :-\

                          Eigentlich geht es ja nur darum, dass man bei der Serverwahl (clientseitig) keinen Port angeben muss, sondern anhand der subdomain unterschieden wird.

                          Das widerspricht sich doch.
                          Du brauchst die beiden Ports extern. Das können zwar andere sein, als du intern am Server selbst verwendest bzw. können es intern auch unterschiedliche IP sein, aber es benötigt unterschiedliche Ports an der WAN Adresse und diese müssen dann auch am Client angegeben werden.

                          ja von außen wird der std Minecraft-Port (25565) benutzt, ich dachte nur dass ich das dann über die subdomain internet auf einen anderen port/server biegen kann.

                          1 Reply Last reply Reply Quote 0
                          • F
                            flix87
                            last edited by

                            Wenn das NAT stimmt und die Firewall Regeln auch sollte das gehen.

                            Außer Minecarft mag es nicht wenn der Port über NAT geändert wird kann ich mir aber nicht vorstellen.

                            NAT und Firewall sehen bei dir wie aus?

                            1 Reply Last reply Reply Quote 0
                            • S
                              simposs
                              last edited by

                              NAT und Rules siehe Anhang.
                              Wenn es wirklich funktionieren sollte idetifiziere ich vielleicht die hosts (minecraft1/2.meinedomain.de) falsch?

                              PS. KA wieso die VPN Rule 2 mal drin ist  ::)

                              NAT.PNG
                              NAT.PNG_thumb
                              RULES.PNG
                              RULES.PNG_thumb

                              1 Reply Last reply Reply Quote 0
                              • F
                                flix87
                                last edited by

                                Wenn es wirklich funktionieren sollte idetifiziere ich vielleicht die hosts (minecraft1/2.meinedomain.de) falsch?

                                Was meinst du denn damit genau?
                                Die Domains können beide auf deine WAN Adresse zeigen. Unterscheiden kannst du anhand der Adressen aber nicht wer auf welchen Server soll.

                                Die Regeln sehen soweit okay aus. Sollte damit gehen
                                Hat die PfSense direkt das WAN oder ist noch ein Server davor?

                                Klappt denn die NAT Regel für HTTP? Weil die ja genauso aufgebaut ist.

                                Vielleicht noch eine lokale Firewall auf dem Server?

                                1 Reply Last reply Reply Quote 0
                                • S
                                  simposs
                                  last edited by

                                  Also vll habe ich mich unglücklich ausgedrückt, ich leite ja die komplette domain "meinedomain.de" auf meine WAN IP weiter, d.h. die Subdomains muss ich selbst "verwalten" sofern es welche geben soll.
                                  Ich hatte mir das so vorgestellt, dass der HAproxy erkennt wer von welche "subdomain" kommt und die dann auf den jeweiligen Server/Port umleitet.

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    flix87
                                    last edited by

                                    @simposs:

                                    Ich hatte mir das so vorgestellt, dass der HAproxy erkennt wer von welche "subdomain" kommt und die dann auf den jeweiligen Server/Port umleitet.

                                    Und genau das geht eben nicht.

                                    Beim Proxy kommt erst mal nur die Ziel IP an.
                                    Für HTTP kann man das machen aber bei Minecraft geht das so nicht.
                                    Bei HTTP schaut der Proxy in das HTTP Protkoll rein und liest die Subdomain aus.
                                    Aber HTTP Protokoll ist ein anderes als bei Minecraft.
                                    Der Proxy kann das einfach nicht. Und ob im Minecarft Protokoll überhaupt die Subdomain übermittelt wird ist die andere Frage.

                                    Musst es mit Zwei verschiedenen externen Ports machen. Man muss dann den Client anfassen und den anderen Port eintragen

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      simposs
                                      last edited by

                                      Genau das war ja meine Frage, ob das so überhaupt möglich ist. Beim Client Port eintragen funktioniert natürlich sofort. Danke für die Antwort, ich werde dann eine 2te IP beim Provider (PPPoE) beantragen.  :)

                                      Kommen wir somit zum Ergebnis, dass es so wie gewünscht leider technisch nicht möglich ist. Der Thread ist somit beantwortet  :-X ;)

                                      Gruß
                                      Simon

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        simposs
                                        last edited by

                                        Falls es jemanden interessiert, speziell für den Fall, dass man Minecraft-Server hinter den Domains betreiben will, gibt es einen Mincraft Proxy mit dem man wunderbar seine Subdomains auf verschiedene interne Server leiten kann.
                                        In der Firewall selbst wird dazu nur der Std-Port des Proxys freigegeben (z.B. TCP 25565) und alles andere erledigt dann der Proxy.

                                        Die Software heißt BungeeCord von Spigot (ebenfalls eine .jar).

                                        https://www.spigotmc.org/wiki/bungeecord/

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          flix87
                                          last edited by

                                          Danke für die Rückmeldung  :)
                                          Freut mich zu hören das es nun geht.
                                          Hätte ich ja nicht gedacht das es so einen Minecarft Proxy aber dein Problem hatten wohl noch ein paar mehr.

                                          Sollte vielleicht auch mal wieder spielen ist ja doch ein tolles Spiel.  ;)

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

                                            Nunja, Bungeecord ist für andere Zwecke gebaut worden und ist spezifisch für den Spigot Server gebaut (oder Server, die Bungee Unterstützung eingebaut haben). Dies als Minecraft Proxy zu bezeichnen, halte ich für gewagt, zumal Bungee eigentlich Server miteinander verbindet, nicht direkt den Client zum Server.

                                            "a free, easy, and reliable way to connect multiple Minecraft servers together. BungeeCord is the answer to said dream."

                                            Da es als Proxy für die Server fungiert, ist es möglich, dass die Funktion zufälligerweise abgedeckt wird, aber man sollte sich nicht darauf verlassen, nur weil es zufällig funktioniert. Wie gesagt der eigentliche Zweck ist ein anderer. :)

                                            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.