Ich entwickle Websites auf meinem (High-End-) Laptop und arbeite von verschiedenen physischen Standorten aus.
Ich mag den Aufwand der ständig mit einem von außen sichtbaren Web - Server , um für die Kunden zu Testfortschritt der Website (oder für Ähnliche Zwecke) zu synchronisieren speichern .Daher Ich versuche , einen Weg zu finden , um meinen zu ermöglichen Laptop sein automatisch öffentlich Aus dem Internet und von jedem Ort aus sichtbar, auch wenn ich keinen Zugriff auf den Router habe, um die Portweiterleitung einzurichten (z. B. von Coffeeshops oder anderen öffentlichen drahtlosen Verbindungen).
Ich verwende bereits DynDNS meine Wahl von Domain - Namen sich auf einen Desktop - Server über einen Router, dass ich habe einrichten ... aber wie ich sage, würde Ich mag den Schritt der Verwendung diesen Desktop - Servers verschrotten.
Ich hatte gehofft, dass bezahlte Reverse-Proxy-Dienste (die eine monatliche Gebühr für ein Konto erheben) proprietäre Client / Server- "Reverse-Proxy" -Software auf Socket-Ebene bieten, die für diesen Zweck verwendet werden könnte. Ich kann keinen finden. Ich verwende bereits TeamViewer und LogMeIn und biete ähnliche proprietäre Dienste an. Um dies zu ermöglichen, habe ich versucht, LogMeIn Hamachi VPN zu verwenden. Mein Desktop (der bereits für das Internet sichtbar ist) leitet den IP-Verkehr, der den Port 80 anfordert, über das VPN an meinen Laptop weiter. Es scheint jedoch nicht möglich zu sein, Hamachi / Windows so einzurichten (aber ich könnte mich irren).
Ich hoffe, es gibt einen einfachen und robusten Weg, um dies zu erreichen.
quelle
Antworten:
Wenn Sie einen Server haben, zu dem Sie SSH ausführen können, und dieser Server ermöglicht es Ihnen, auf den relevanten Ports die öffentlichen IP-Adressen abzuhören (was, wenn Sie dies steuern, auch der Desktop-Computer ist, den Sie beschreiben, wenn Sie SSHd über Cygwin installieren) oder ähnliches) Sie können die Tunneling-Option von SSH verwenden, um Datenverkehr auf Ihren lokalen Server zu leiten.
So etwas wie:
ssh [email protected] -g -R 11.22.33.44:80:127.0.0.1:80
Lässt Port 80 nach der Verbindung und Authentifizierung am 11.22.33.44 (vorausgesetzt, es handelt sich um eine öffentliche Adresse des Servers) Verbindungen annehmen, die dann an Ihren lokalen Port 80 weitergeleitet werden. Auf dem Server muss die Option GatewayPorts aktiviert sein Um auf diese Weise eine nicht-lokale Host-Adresse abzuhören und als root angemeldet zu sein, um Ports unter 1024 abzuhören, und wenn bereits ein Dienst auf Port 80 abhört, müssen Sie offensichtlich trotzdem etwas anderes auswählen. Das Hinzufügen der-C
Option zum Aktivieren der Komprimierung der über SSH übertragenen Streams wird empfohlen, insbesondere, wenn Sie den Laptop über ein langsames Netzwerk verbinden (möglicherweise mitten im Nirgendwo, wenn nur eine GPRS-Mobilfunkverbindung verfügbar ist).Um ssh unter Windows zu verwenden, haben Sie einige Optionen. Sie können Cygwins Port installieren [dann sollte der Befehl, den ich oben gegeben habe, JustWork (tm)] oder einen anderen Client verwenden. PuTTY ist eine sehr beliebte Option und unterstützt Remote-Port-Tunneling.
Auf diese Weise ist der Webserver Ihres Geräts auch bei einer Verbindung immer unter der gleichen Adresse verfügbar, unabhängig davon, von wo aus Sie eine Verbindung herstellen. Sie müssen daher kein dynamisches DNS für benutzerfreundliche Namen verwenden, die Sie möglicherweise zuweisen möchten (vorausgesetzt, der Server, mit dem Sie eine Verbindung herstellen) hat natürlich eine feste öffentliche Adresse).
Anstatt dafür einen Heim- oder Büroserver zu verwenden, der die Arbeit möglicherweise weiter verlangsamt, es sei denn, Sie haben dort eine schöne schnelle Verbindung in beide Richtungen, erzielen Sie möglicherweise bessere Ergebnisse, wenn Sie einen kleinen Linux-VPS irgendwo (vorzugsweise im selben Land) mieten dieser Zweck. Sie benötigen nur die kleinste Maschine, solange genügend Bandbreite zur Verfügung steht, sodass dies nur ein paar Dollar pro Monat kostet.
Neben SSH können Sie auch ein VPN-Tool wie OpenVPN in Betracht ziehen und einfache iptables-Regeln auf dem Server verwenden, um Verbindungen nach unten zu Ihrem Computer weiterzuleiten, wenn eine Verbindung besteht. Dies ist möglicherweise effizienter und weniger aufwändig, wenn die Einrichtung erst einmal durchgeführt wurde. Die Konfiguration ist jedoch möglicherweise etwas aufwändiger, wenn Sie mit dem Thema und dem Routing im Allgemeinen noch nicht vertraut sind. Auch hier würde ein billiger VPS oder Ihr eigener Büro- / Heimserver als Serverende des VPNs ausreichen.
quelle
IPV6-Tunneling auf dem Laptop, kombiniert mit einem IPV4- bis 6-Proxy - gogo6 bietet einen netten, kostenlosen Service mit einem Client, der im Rahmen von freenet6 - automatisch aktualisiert werden kann . Kombinieren Sie dies mit einem AAAA-Datensatz und einem Proxy, der von ipv6 auf 4 übersetzt ( sixxs führt einen öffentlichen aus), oder für eine elegantere Lösung Ihren eigenen Proxy-Server ( polipo funktioniert möglicherweise), der die Übersetzung unter derselben A-Adresse ausführt
Richtig eingestellt, sollte dies größtenteils transparent sein, abgesehen von einer geringen Latenz, die durch so häufiges Hin- und Herschleudern entsteht.
quelle