Reverse Proxy für TCP und UDP Anfragen
Hallo zusammen,
ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da es vorkommen wird, dass mehrere Server gleichzeitig laufen werden, welche die selben Ports verwenden, suche ich nach einer Möglichkeit mit der ich die Anfragen anhand der Subdomain an die entsprechenden VMs weiterleiten kann. Meiner Recherche nach kann ein Reverse Proxy keine TCP/UDP Requests weiterleiten und IPTABLES ist nicht in der Lage anhand eines FQDN eine Anfrage entsprechend weiterzuleiten.
Gibt es eine Lösung wie ich dieses Problem lösen kann?
Beispielaufbau:
webserver1.meine-domain.de -> VM 1
teamspeakserver.meine-domain.de -> VM 2
gameserver1.meine-domain.de -> VM 3
gameserver2.meine-domain de -> VM 4
Schonmal vielen Dank!
ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da es vorkommen wird, dass mehrere Server gleichzeitig laufen werden, welche die selben Ports verwenden, suche ich nach einer Möglichkeit mit der ich die Anfragen anhand der Subdomain an die entsprechenden VMs weiterleiten kann. Meiner Recherche nach kann ein Reverse Proxy keine TCP/UDP Requests weiterleiten und IPTABLES ist nicht in der Lage anhand eines FQDN eine Anfrage entsprechend weiterzuleiten.
Gibt es eine Lösung wie ich dieses Problem lösen kann?
Beispielaufbau:
webserver1.meine-domain.de -> VM 1
teamspeakserver.meine-domain.de -> VM 2
gameserver1.meine-domain.de -> VM 3
gameserver2.meine-domain de -> VM 4
Schonmal vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 398930
Url: https://administrator.de/contentid/398930
Ausgedruckt am: 21.11.2024 um 15:11 Uhr
14 Kommentare
Neuester Kommentar
Hallo,
Klar geht das! Genau für solche Zwecke gibt es ein Reverse Proxy. Ganz einfach mit Apache oder nginx umsetzbar.
Da findest du zahlreiche Tutorials im Netz.
Klar beherrscht iptables FQDN. Allerdings tut iptables nur einmal den Namen auflösen. Bei einer DynDNS Adresse bräuchtest du ein Script.
Außerden ist iptables ein Paketfilter - kein Proxy!
Ja. Die Lösung hast du doch selbst erwähnt. -> Reverse Proxy.
Viele Grüße,
Exception
Meiner Recherche nach kann ein Reverse Proxy keine TCP/UDP Requests weiterleiten
Klar geht das! Genau für solche Zwecke gibt es ein Reverse Proxy. Ganz einfach mit Apache oder nginx umsetzbar.
Da findest du zahlreiche Tutorials im Netz.
IPTABLES ist nicht in der Lage anhand eines FQDN eine Anfrage entsprechend weiterzuleiten.
Klar beherrscht iptables FQDN. Allerdings tut iptables nur einmal den Namen auflösen. Bei einer DynDNS Adresse bräuchtest du ein Script.
Außerden ist iptables ein Paketfilter - kein Proxy!
Gibt es eine Lösung wie ich dieses Problem lösen kann?
Ja. Die Lösung hast du doch selbst erwähnt. -> Reverse Proxy.
Viele Grüße,
Exception
Moin,
Gruß,
Dani
ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen.
normalerweise hat man einen Firewall als VM am Laufen, hinter der sich alle VMs befinden. Nutzt du z.B. pfSense oder Opnsense ist ein Reverse Proxy ebenfalls enthalten. Anleitung dazu gibt es genüge. Gruß,
Dani
Hallo,
Kommt auf den Reverse Proxy an. NGINX kann das schon bzw. ist dann Loadbalancing aber man kommt auf das selbe Ergebnis:
https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-bala ...
Viele Grüße,
Exception
es sei auch noch angemertkt, das der Reverse Proxy nur für HTTP(S) Verbindungen funktioniert.
Kommt auf den Reverse Proxy an. NGINX kann das schon bzw. ist dann Loadbalancing aber man kommt auf das selbe Ergebnis:
https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-bala ...
Viele Grüße,
Exception
Ich glaube nicht, das TS die Games auf den SRV Record achten. Wirklich helfen werden dir nur mehr IP Adressen wenn keine anderen Ports verwenden willst.
/EDIT: Ok, ich nehme das zur Hälfte zurück. TS "kann" SRV:
https://support.teamspeakusa.com/index.php?/Knowledgebase/Article/View/2 ...
/EDIT: Ok, ich nehme das zur Hälfte zurück. TS "kann" SRV:
https://support.teamspeakusa.com/index.php?/Knowledgebase/Article/View/2 ...
Das mit der Auswertung der Subdomain klappt nur bei bestimmten Protokollen, die es entsprechend vorsehen, also z.B. HTTP/HTTPS und ich glaube ein FTP, da hier die aufgerufene Adresse mit in der Anfrage integriert wird. Bei sehr vielen anderen Protokollen ist es nicht möglich, dieses auszuwerten, da es einfach nicht da ist.
Hallo,
wie soll das gehen? Afaik enthalten die TCP- bzw. UDP-Datenpakete keine Informationen bezüglich des kontaktierten Hostnames.
Das steht erst in den höheren Protokollen (z.B. im HTTP-Request).
Entweder, Du hast mehrere IP-Adressen oder biegst jedes Protokoll auf einen anderen Port um.
Gruß,
Jörg
wie soll das gehen? Afaik enthalten die TCP- bzw. UDP-Datenpakete keine Informationen bezüglich des kontaktierten Hostnames.
Das steht erst in den höheren Protokollen (z.B. im HTTP-Request).
Entweder, Du hast mehrere IP-Adressen oder biegst jedes Protokoll auf einen anderen Port um.
Gruß,
Jörg