Wenn Sie nun etwas von Ihrem lokalen Webserver an Ihre Freunde weitergeben möchten, die außerhalb des örtlichen Netzwerks liegen, können Sie nicht auf Ihren Computer zugreifen. Wie würden Sie dann Ihren örtlichen Haus Ihren Freunden außerhalb des LAN aussetzen??
In diesem Fall stellen Sie einen Tunnel von Ihrem Localhost ins Internet ein und teilen Ihre Freunde eine öffentliche IP -Adresse, auf die Sie aus dem ganzen Internet zugreifen können.
Tunnel können durch Verwendung hergestellt werden Ssh oder Ngrok. Hier werden wir beide Wege diskutieren und dann das Ergebnis des Tunnelings verwenden netcat.
Mit NGROK öffentliche IP erhalten
Ngrok ist eine Cross -Plattform -Tunneling -Software, mit der sichere Tunnel aus dem Internet zum lokalen Netzwerk festlegen können. Es erfasst auch den gesamten Verkehr für die Inspektion. Im Folgenden finden Sie die Methode, um Tunnel von Localhost zum Internet zu etablieren.
Installieren von NGROK
Vor Gebrauch Ngrok Auf Ihrem Computer müssen wir es installieren. Ngrok kann durch die Verwendung des folgenden Befehls in Terminal installiert werden.
Ubuntu@ubuntu: ~ $ snap install ngrok
Wenn Sie den obigen Befehl ausführen, werden die NGROK nach dem Herunterladen der erforderlichen Dateien installiert. Sie können überprüfen, ob Ngrok wurde durch den folgenden Befehl im Terminal installiert oder nicht.
Ubuntu@Ubuntu: ~ $ ngrok --version
Wenn Ngrok wurde installiert, sie wird die Version wie in der folgenden Abbildung angegeben.
Nach der Installation Ngrok, Jetzt ist es bereit, Tunnel zu etablieren.
Lokalhost der Öffentlichkeit aussetzen
Ngrok wird verwendet, um Ihren lokalen Webserver dem Internet auszusetzen. Alles was wir tun müssen, ist zu sagen Ngrok Welchen Port Ihr lokaler Webserver hört. Führen Sie den folgenden Befehl aus, um Ihren lokalen Webserver dem Internet auszusetzen
Ubuntu@Ubuntu: ~ $ ngrok http 8080
Wenn Sie den obigen Befehl im Terminal ausführen, Ngrok Erstellt über Port 8080 einen Tunnel von Ihrem lokalen Webserver zum Internet und zeigt die öffentliche URL an, über die auf Ihr lokaler Webserver zugegriffen werden kann. Die folgende GUI wird am Terminal angezeigt, wenn Sie den obigen Befehl ausführen.
Jetzt kann auf Ihr Localhost: 8080 aus dem gesamten Internet zugreifen, indem Sie den in der obigen Abbildung gezeigten Link verwenden.
Überprüfung des Verkehrs über Tunnel
Ngrok Bietet uns die Möglichkeit, alle eingehenden oder ausgehenden Anfragen aus dem Internet nach Ihrem Localhost zu untersuchen. Wir können den gesamten Verkehr beobachten, indem wir zu dem folgenden Link gehen
localhost: 4040/inspect/http
Wenn Sie über den obigen Link gekommen sind, zeigt der Browser Ihnen alle eingehenden oder ausgehenden Anfragen, wie in der folgenden Abbildung gezeigt.
Das Terminal zeigt auch die Anforderungen an Ihren lokalen Webserver an. Die folgende Abbildung zeigt, wie das Terminal den Aufzeichnung von HTTP -Anforderungen hält.
Mit SSH öffentliche IP bekommen
Ssh Auch als Secure Shell bezeichnet ist ein sicheres Kommunikationsprotokoll, das für die Remote -Kommunikation zwischen Client und Server verwendet wird. Außerdem, Ssh kann auch verwendet werden, um Tunnel zu etablieren, damit Ihr Localhost für die Öffentlichkeit zugänglich ist. In diesem Blog werden wir sehen, wie Sie SSH zum Einrichten von Tunneln zwischen Ihrem lokalen und öffentlichen Internet verwenden können.
Lokalhost der Öffentlichkeit aussetzen
Localhost kann auch der Öffentlichkeit durch Verwendung von Explosione ausgesetzt werden Ssh Das ist im Grunde ein Kommunikationsprotokoll. Es wird genannt Ssh Tunneling oder Ssh Port-Weiterleitung. Führen Sie den folgenden Befehl im Terminal Ihres Localhost aus, um einen Tunnel zwischen Ihrem Localhost und Remote -Server festzulegen
Ubuntu@Ubuntu: ~ $ ssh -r 8080: localhost: 8088 remoteuser@ipaddress
Im obigen Befehl
Jetzt kann Port 8088 Ihres Localhost über einen Remote -Server mit IP -IP -Adresse und Benutzername „Remoteuser“ über Port 8080 zugegriffen werden.
Remote -Server -Konfiguration
Nehmen Sie vor dem Zugriff auf Localhost über den Tunnel von einem Remote -Server einige Änderungen in der sshd_config Datei des Remote -Servers. Diese Datei kann geöffnet werden, indem der folgende Befehl in Terminal eingegeben wird.
Ubuntu@Ubuntu: ~ $ nano/etc/ssh/sshd_config
Nehmen Sie nach dem Öffnen der Datei die Änderungen wie in der folgenden Abbildung gezeigt vor.
ALLETCPFORWARDING JA
Gatewayports Ja
Starten Sie Ihre Änderungen neu, nachdem Sie Ihre neu gestartet haben Ssh Server, um diese Änderungen anzuwenden. Jetzt ist Localhost offen für den Remote -Server, der zugegriffen wird.
Testen der Tunnel
Bisher haben wir Tunnel zwischen localhost und einem Remote -Server mithilfe von Tunneln etabliert Ssh Und Ngrok. Jetzt werden wir testen, ob diese Tunnel festgelegt wurden oder nicht. Wir werden verwenden netcat Befehl zum Testen von Tunneln. Führen Sie den folgenden Befehl im Terminal Ihres Localhost aus
Ubuntu@Ubuntu: ~ $ netcat -l -p 8088
Wenn Sie den oben genannten Befehl im Terminal Ihres Localhost ausführen, netcat Hört Port 8088 Ihres Localhost an.
Geben Sie nun den folgenden Befehl in das Terminal des Remote -Servers ein, um die Nachricht zu senden
Ubuntu@Ubuntu: ~ $ echo „Hallo!”| netcat [remoteServer ip] 8080
Wenn Sie den obigen Befehl im Terminal Ihres Remote -Servers ausführen, muss die Nachricht „Hallo“ auf dem Terminal von Localhost angezeigt werden. In diesem Fall wurde Ihr Tunnel festgelegt.
Abschluss
Um Ihr Localhost aus dem Internet zugänglich zu machen, erfolgt die Einrichtung von Tunneln zwischen Ihrem Localhost und dem Internet. In diesem Blog haben wir besprochen, wie Sie Tunnel etablieren, um Ihr lokales Host für das Internet zugänglich zu machen. Es wurden zwei Methoden zur Errichtung von Tunneln erörtert, die sind Ssh Tunneling und Ngrok Tunneling. Verkehrsinspektion mit Ngrok Tunneling wurde ebenfalls diskutiert. Danach der Prozess des Testens der Tunnel mithilfe netcat wurde diskutiert. Nach dem Lesen dieses Blogs ist es für Sie sehr einfach, Ihren lokalen Webserver für die Öffentlichkeit zu machen.