
Konzeptionelles System von dem, was ich suche, in meinem Kopf:
Gegeben sind zwei Hosts (können PCs sein)!
Beide können sich in einem dynamischen Netzwerk befinden (dynamische IP)!
Beide verbinden sich mit demselben zentralen Server, um sich gegenseitig zu finden! (in meinem Fall nötig! Ein Client-Host kann auch als Server fungieren)
Der Server fungiert als Brücke! Und ermöglicht das Tunneln! Der
erste Host verbindet sich mit dem Server! Und der zweite auch! Jetzt ordnet der Server beide Knoten (Hosts) zu!
Und führt eine Weiterleitung (Tunneling) durch!
Immer wenn Host 1 etwas an Host 2 sendet, geht es an den zentralen Server! Über etwas wie einen Websocket! Dann sendet der Server es an den zweiten Host! Der zweite Host antwortet zurück! Oder was auch immer! Der Server handhabt das Überbrücken und Tunneln auf beide Arten!
Eigenschaften hier:
- Knoten können sich dynamisch verbinden! Ohne Netzwerke oder dynamische DNS einzurichten ... Genau wie Teamviewer oder Anydesk!
- TCP-Verbindungen werden getunnelt und weitergeleitet!
- Die beiden Knoten verbinden sich und können arbeiten, als wären sie ein einziger Host!
Um es zusammenzufassen: PC1, PC2 => PC1 mit PC2 verbinden, ohne dass sie die IP-Adressen des jeweils anderen kennen müssen! Alles dynamisch! Direktes Tunneln!
Wie geht das ?
Nachdem ich mir verschiedene Dinge angesehen habe, dachte ich einfach, der einfachste Weg wäre, so etwas selbst umzusetzen, da ich mir vorstellen kann, wie ich das machen kann!
Das habe ich gebraucht! Beim Versuch, den Android-Emulator auf AWS EC2 auszuführen! Und zum Weiterleiten von ADB an einen Remote-Emulator!
Ich frage nicht nachLösung für das Android-Problem!Aber vielmehrdas System oben!Ich frage mich, ob es bereits etwas gibt, das das tut, was ich beschrieben habe!
Sonst würde es einige Zeit dauern!
Mir ist eine Lösung eingefallen! Ich suche nach einem zentralen WebSocket-Server! Und TCP-Tunneling über WS!
Wie würde ein solches System heißen?
Und welche guten Möglichkeiten gibt es, dies zu erreichen? Wie würden Sie vorgehen?
Einige andere Möglichkeiten als das System oben, das ich nachgeschlagen habe
Für Systeme oder Probleme, bei denen Sie an das oben genannte denken könnten! Wie beim Android-Remote-Debugging!
Man kann an Folgendes denken:
SSH-Reverse-Tunneling => erfordert ein statisches Ende! In meinem Fall zum Beispiel der Server! Die Serverinstanz muss SSH funktionieren lassen! In AWS erfordert das einige Arbeit, um einen funktionierenden Agenten einzurichten! Nicht immer ganz einfach!
Dynamisches DNS => Portweiterleitung ist erforderlich! Für manche kann die Einrichtung kompliziert sein! Mögliche Sicherheitsrisiken
Wer es nennen darf, der möge es wissen! Ich frage nur nach dem oben genannten Begriffssystem!
Was ich selbst konzeptionell erwähnt habe! Wäre das einfachste Ding und System! Keine komplexe Einrichtung nötig! Konfigurieren Sie einfach einen Server! Und alles läuft reibungslos und dynamisch ab! Sogar für nicht fortgeschrittene Benutzer! Wie andere Entwickler im selben Team oder in derselben Organisation! Genau wie Teamviewer und Anydesk und so viele Systeme funktionieren bereits!
Antwort1
Wäre so etwas wie OpenVPN als Lösung für Ihr Problem übertrieben? OpenVPN macht alles, was Sie wollen, verschlüsselt aber auch den Netzwerkverkehr. Diese Verschlüsselung macht die Konfiguration etwas komplexer.