
Ich habe einen Server, auf den die Studenten meiner Universität zugreifen können sollen. Aus irgendeinem Grund wird die Verbindung jedoch im Universitätsnetzwerk unterbrochen und da es sich um einen Unterhaltungsdienst handelt, der zwar nicht verboten ist, werden die Administratoren keine Zeit in die Lösung des Problems investieren.
Ich habe es mit Hamachi und OpenVPN zum Laufen gebracht (auf sichere Weise mit iptables, sodass nur auf den Minecraft-Port zugegriffen werden kann und nur die Server-IP über das VPN geleitet wird), allerdings erfordern beide Benutzer die Installation zusätzlicher Software und verursachen eine zusätzliche Belastung für meinen Server, da alles verschlüsselt wird ...
Ich suche daher nach einer Möglichkeit, die ohne zusätzliche Software auskommt und im Idealfall nur eine minimale Zusatzbelastung für den Server darstellt.
Ich kann Ports auf dem NAT-Router für meinen Linux-Server weiterleiten und Software auf dem Server installieren. Ich möchte sicherstellen, dass Benutzer keinen Zugriff auf mein LAN haben und sich nur mit einem einzigen Port auf dem Server verbinden können. Ich möchte auch jede Verbindung vom Server zu einem Client verhindern.
Ich möchte auf keinen Fall, dass mein Server als Proxy für irgendetwas anderes dient, beispielsweise für andere Minecraft-Server, Minecraft-Updates usw.
Ich habe Sachen über Socks/SSH-Proxys gesehen, aber diese scheinen zu versuchen, alles zu tunneln, was ein Benutzer tut, und ich sehe keine Möglichkeit, sie auf meinem Server mit einer Firewall zu schützen (z. B. wird keine Schnittstelle wie ham0 oder tun0 erstellt).
Antwort1
Benutzer kommen nicht darum herum, auf ihren PCs eine Anwendung als Client zu installieren, um sich mit dem Tunnel zu verbinden.
Ich weiß mitKostenloseSSHd(Unter Windows) Sie könnten fast alles auf Ihrem Server steuern, worauf Ihre Benutzer Zugriff haben sollen. Vielleicht könnten Sie einen Windows-Server als Man-in-the-Middle in der Netzwerkinfrastruktur hinzufügen, das haben Sie, aber ich bin nicht sicher, wie stark sich dies auf Ihre Leistung auswirken wird.
Ich kenne noch kein Tool, mit dem dies unter Linux möglich ist, aber ich bin auch nur ein gelegentlicher Linux-Benutzer.
Antwort2
Angenommen, Ihr Dienst befindet sich außerhalb des Universitätsnetzwerks. Das Problem besteht darin, dass der Minecraft-Port durch die Firewalls der Universität nicht geöffnet wird.
Sie müssen sich daher nicht mit VPNs herumschlagen, solange das Universitätsnetzwerk die Leute nicht blockiert, indem es die tatsächlichen Pakete untersucht und Gaming-Pakete blockiert.
Sie müssen lediglich Ihren Router auf NAT einrichten (genau genommen ist es PAT, Port Address Translation). Auf der Internetseite müssen Sie einen bekannten Port zulassen. 8080 könnte funktionieren, in sehr strengen Netzwerken sind Ihnen jedoch möglicherweise nur 80 und 443 erlaubt. Auf der lokalen Netzwerkseite müssen Sie die IP-Adresse des PCs und den Minecraft-Port konfigurieren. Jetzt haben Sie eine Verbindung zwischen Ihrer öffentlichen IP-Adresse und dem gewählten Port und der privaten IP-Adresse und dem anderen Port. Der Router kümmert sich um alles.
Benutzer im Universitätsnetzwerk müssen Minecraft so konfigurieren, dass eine Verbindung zu Ihrer öffentlichen IP-Adresse über den öffentlichen Port hergestellt wird, z. B.
publicaddress:8080
Hier lasse ich die Standardports direkt durch, aber Sie sollten die erste Portnummer, den „Externen Port“, in 8080 oder was auch immer Sie benötigen, ändern.
AKTUALISIEREN:
Aus Ihren Kommentaren geht hervor, dass Universitätsbenutzer sich mit Ihrem Server verbinden KÖNNEN, ihre Sitzungen dann aber nach einiger Zeit abbrechen. Dies passiert nicht, wenn die Verbindung über ein VPN besteht. Dies würde darauf hinweisen, dass der Filterdienst der Universität den Datenverkehr markiert und etwas mit den Verbindungen unternimmt.
Ein VPN ist also die beste Alternative. Überprüfen Sie in der Dokumentation Ihres Routers, ob er als VPN-Endpunkt fungieren kann. Wenn er etwas wie PPTP unterstützt, können Sie es einrichten und den Benutzern Anweisungen zum Einrichten eines PPTP-VPN von ihren Computern aus geben.
Wenn Ihr Router dies nicht kann, haben Sie nicht viele Optionen. Entweder ein externer (wahrscheinlich kostenpflichtiger) VPN-Dienst oder eine Maschine in Ihrem lokalen Netzwerk, die als VPN-Server fungiert. @safjrz hat FreeSSHd erwähnt, es gibt auch WinSSHd, das ich in der Vergangenheit häufig für ähnliche Zwecke verwendet habe. Benutzer können WinSSHd ausführen, um ausgehende SSH-basierte VPNs zu erstellen. Sie stellen eine Verbindung zu einem SSH-Server in Ihrem Netzwerk her, der auch von WinSSHd stammen kann, wenn Sie einen Windows-PC verwenden, oder direkt über SSH, wenn Sie Linux verwenden.