kerbey
Goto Top

Hetzner - EXSI 7.0 - Pfsense Router VM

Guten Abend,

Ich habe vor kurzem einen Dedicated Server bei Hetzner bestellt. Der Server wurde mit einer einzigen IP geliefert. Da ich jedoch mehrere Gameserver auf diesem Server betreiben möchte, habe ich eine zusätzliche IP sowie ein /28er Subnetz erworben, das ich dafür verwenden möchte.

Um die Virtualisierung der Gameserver zu ermöglichen, habe ich mich für die Verwendung von ESXi von VMware entschieden. Ich habe ESXi mithilfe von KVM auf dem Server installiert.

Hier sind einige Beispiele für die IPs, die ich verwende (nicht meine tatsächlichen IPs):

IP 1: 136.222.46.52 -> Derzeit wird diese IP von ESXi genutzt. Später plane ich, ESXi an eine lokale Adresse zu binden und den Zugriff nur über einen VPN-Zugang zu ermöglichen.
IP 2: 136.222.46.44 -> Diese IP wird vom installierten Pfsense als WAN genutzt.
Subnetz: 140.79.142.98 -> Ich habe dieses Subnetz mithilfe der Pfsense als virtuelle IP (Proxy ARP) eingebunden und per 1:1 NAT auf ein lokales LAN geroutet.
Gateway für beide einzelnen IPs: 136.222.46.1

Nach meiner vorherigen Erläuterung der IP-Verteilung möchte ich nun genauer auf das Setup eingehen. Um einen ESXi-Server bei Hetzner mit mehreren IPs betreiben zu können, ist es erforderlich, eine Router-VM einzurichten. ESXI agiert nicht als Router, sondern unterstützt lediglich die Bridging-Funktion. (Siehe. Hetzner VMWare ESXI u. Hetzner zusätzliche IP's mit Virtualisierungslösungen)

Ich habe mir einige Anleitungen und Tutorials angesehen und begonnen, dies zu konfigurieren. Zuerst habe ich im ESXI einen virtuellen Switch namens "subnet0" erstellt. Dann habe ich zwei Portgruppen hinzugefügt: "public" (ehemals VMNetwork, für WAN) und "private" (für LAN). Anschließend habe ich der Router-VM manuell eine einzelne IP-Adresse anhand der MAC-Adresse zugewiesen die von Hetzner geliefert wird. Danach habe ich den Router gestartet und die Interfaces konfiguriert. Das WAN-Netzwerk läuft mit der IP-2 und das LAN-Netzwerk im Bereich 10.0.0.0/24.

Bis hierhin hat alles funktioniert. Nun habe ich das Subnetz als virtuelle IP in der Firewall eingetragen (z.B. 140.79.142.99) und bin zum 1:1 NAT übergegangen. Ich habe einzelne IPs aus dem Subnetz auf eine nebenbei installierte Windows-Maschine umgeleitet. Die Maschine hat ihre lokale IP-Adresse erhalten. Um dies zu überprüfen, habe ich eine IP-Webseite besucht, um die IP des Servers zu überprüfen. Dort wurde mir die richtige IP aus dem Subnetz angezeigt. Anschließend wollte ich für einen Kollegen einen Minecraft-Server einrichten. Ich habe die Serverdateien heruntergeladen und das grundlegende Setup mit der .bat-Datei für den Start durchgeführt.

Nun sind wir bei dem Problem angelangt: Wenn ich versuche, den Server zu starten, wird mir unabhängig vom verwendeten Port mitgeteilt, dass der Port bereits belegt ist. Selbst wenn ich ein Port Forwarding in der Pfsense einrichte, funktioniert es nicht das ich den Port freigebe. Außerdem habe ich bisher nicht geschafft, den Server von außerhalb anzupingen vielleicht hat hier ja jemand mehr Erfahrung mit Pfsense oder vielleicht sogar der Kombination mit Hetzner und ESXI.

Da ich mit meinem Latain derzeit leider nicht weiter weiß und ich auch nichts mehr im Internet finde wollte ich mal hier um Hilfe fragen ob jemand vielleicht eine Idee hat wenn ihr Screenshots etc. braucht lasst es mich wissen, zudem Entschuldige ich wenn etwas undeutlich ist mein Gehirn ist ein wenig gegrillt.

Content-Key: 7316059557

Url: https://administrator.de/contentid/7316059557

Printed on: April 28, 2024 at 14:04 o'clock

Member: StefanKittel
StefanKittel May 26, 2023 updated at 18:45:18 (UTC)
Goto Top
Hallo,

irgendwas klingt hier falsch.
Du hast den ESXi: ok
Du hast eine VM mit pfsense: ok
Du hast eine VM mit Windows: ok
Die kann normal ins internet und https://ip.skittel.de/ zeigt die korrekt WAN IP: ok
Jetzt startest Du Minecraft auf der Windows VM und es wird gesagt, dass der Port belegt sei.

Diese Meldung hat weder etwas mit der Router VM noch der IP-Adresse zu tun.
Selbst wenn Du hier völlig falsche Infos eintragen würdest, mit doppelt IP und ähnliches, würde diese Meldung nicht kommen. Du nimmst eine Windows VM ohne Netzwerk und trotzdem kommt diese Meldung nicht.

Diese Meldung kommt nur wenn direkt auf der Windows-VM der Port durch eine andere Anwendung belegt ist, oder man nicht die richtigen Rechte hat oder man keinen Port angeben hat.

Mal MC als Admin starten und die Konfiguriaton genau prüfen.
Mit cmd "netstat -a" kannst Du prüfen welche Ports belegt sind.

Stefan

Update1: https://gaming.stackexchange.com/questions/148864/how-to-set-minecraft-s ...
Update2: Nimm Linux als VM für MC (weniger Overhead, weniger Dinge die schiefgehen können)
Member: Cloudrakete
Cloudrakete May 26, 2023 at 20:42:51 (UTC)
Goto Top
Bis hierhin hat alles funktioniert. Nun habe ich das Subnetz als virtuelle IP in der Firewall eingetragen (z.B. 140.79.142.99) und bin zum 1:1 NAT übergegangen. Ich habe einzelne IPs aus dem Subnetz auf eine nebenbei installierte Windows-Maschine umgeleitet. Die Maschine hat ihre lokale IP-Adresse erhalten. Um dies zu überprüfen, habe ich eine IP-Webseite besucht, um die IP des Servers zu überprüfen


Das sagt aber nur aus, dass die WAN-IP tatsächlich die ist, die Du angedacht hast.
Es sagt nicht aus, dass dein NAT funktioniert.
Grundsätzlich musst Du für dein genanntes Szenario ein DNAT erstellen (Läuft unter "Port Forwarding" auf PFSense)

Nehmen wir an dein Minecraft-Server soll auf Port 9999 und via 136.222.46.44 erreichbar sein. Dann brauchst Du nun eine NAT-Regel auf dem dazugehörigen Interface, welches auf Port 9999 "lauscht" und wenn was reinkommt, das Ziel (Reiter "Redirect target IP & "Redirect target Port" auf der PFSense) auf die interne IP-Adresse, deiner Minecraft-Server VM umschreibt.

Also z.B. 136.222.46.44;9999 auf 192.168.0.20:9999
Der externe Port muss nicht zwingend dem internen entsprechen, da du via NAT ja so oder so umschreibst. Wenn der Port am WAN-Interface aber nicht anderweitig verwendet wird, kannst du diesen zwecks Übersichtlichkeit intern wie extern identisch halten.

Die PFSense erstellt mit der NAT-Rule auch die dafür benötigte Inbound-Rule auf deinem WAN-Interface, hier musst du also nichts weitermachen.
Zu guter letzt musst du den verwendeten Port in der Windows-Firewall noch freigeben, dann sollte alles funktionieren.

Prüf das mal so durch und schau, ob es dann funktioniert.
Wenn Du mehr als einen NAT-Port brauchst, kannst Du auf der PFSense mit Aliasen arbeiten und diese bei der NAT-Rule entsprechend verwenden.
Member: aqui
aqui May 26, 2023 updated at 22:17:23 (UTC)
Goto Top
ist es erforderlich, eine Router-VM einzurichten.
Geanu DAS macht ja deine pfSense VM ! Guckst du dazu hier.
Deine öffentlichen IPs trägst du dort schlicht und einfach als WAN Aliases ein. Kollege @Cloudrakete hat es schon gesagt. Deine Fehlermeldungen sind ungewöhnlich und lassen auf eine massive Fehlkonfiguration der Firewall VM schliessen. Ohne entsprechende Screenshots ist aber alles reine Kristallkugelei... face-sad
Member: Cloudrakete
Cloudrakete May 26, 2023 updated at 23:23:23 (UTC)
Goto Top
Nachtrag meinerseits:

Eigentlich kannst Du dein /28 Subnet auch kündigen. In der Regel kannst Du bei Spieleservern die Ports anpassen. Dank NAT brauchst Du daher eigentlich nicht mehr als eine IP-Adresse.
Ich habe in der Vergangenheit um die 20 Gameserver über eine IP-Adresse betrieben und einfach via NAT entsprechend umgeschrieben.
In meinem Fall war es 20x für das selbe Spiel, da habe ich mit nur einer NAT-Rule gearbeitet und einfach das hinterlegte Alias immer erweitert, hat super funktioniert!

Das setzt natürlich vorraus, dass die verwendeten Spieleserver eine Abweichung vom Standardport vertragen face-smile
Member: Kerbey
Solution Kerbey May 27, 2023 at 00:46:39 (UTC)
Goto Top
Hey danke erstmal für eure Zeit,

Ich habe jetzt nochmal eine Komplette Neuinstallation der Pfsense gemacht und alles nochmal erneut eingestellt einziger Unterschied: Ich habe die IP's nicht mehr als Virtuelle IP's eingebunden und zack da ist der Server erreichbar nachdem ich die Regeln eingestellt habe.

Ich kann nun auch sagen das Definitiv keine Instanz den Port blockiert hat nur mögen es Minecraft Server wohl nicht mehr das man in der Server Konfiguration eine IP einträgt und dies kann das Port Problem auslösen nun funktioniert alles.

bild_2023-05-27_023925812


Ich hätte wohl erst ne Nacht drüber schlafen sollen und das alles nochmal in ruhe durchgehen müssen anstatt nachdem der Kopf raucht den Beitrag zu schreiben ^^ Ich danke euch trotzdem alle für die Hilfsbereitschaft und die guten Ansätzen. Da ging mir die Logik wohl für ein paar Stunden komplett flöten.

Bzgl. Ports und nur einer IP -> Es sollen nicht nur Gameserver werden sondern auch z.B ein Webserver.