Nyní, pokud chcete sdílet něco z místního webového serveru se svými přáteli, kteří jsou mimo místní síť a nemají přístup k vašemu počítači. Jak byste pak vystavili svého localhost svým přátelům mimo LAN?
V tomto případě vytvoříte tunel ze svého localhostu na internet a sdílíte veřejnou IP adresu se svými přáteli, ke které lze přistupovat z celého internetu.
Tunely lze vytvořit pomocí SSH nebo Ngrok. Zde probereme oba způsoby a poté ověříme výsledek tunelování pomocí netcat.
Získání veřejné IP pomocí Ngrok
Ngrok je software pro tunelování mezi platformami, který lze použít k vytvoření zabezpečených tunelů z internetu do místní sítě. Zachycuje také veškerý provoz ke kontrole. Následuje způsob vytváření tunelů z localhost do internetu.
Instalace Ngrok
Před použitím Ngrok na vašem počítači, musíme jej nainstalovat. Ngrok lze nainstalovat pomocí následujícího příkazu v Terminálu.
[chráněno e-mailem]: ~ $ snap install ngrokKdyž spustíte výše uvedený příkaz, nainstaluje ngrok po stažení požadovaných souborů. Můžete zkontrolovat, zda Ngrok byl nainstalován nebo ne pomocí následujícího příkazu v Terminálu.
[chráněno e-mailem]: ~ $ ngrok --verzeLi Ngrok byl nainstalován, bude mít verzi, jak je znázorněno na následujícím obrázku.
Po instalaci Ngrok, nyní je připraven k použití k vytvoření tunelů.
Vystavení Localhost veřejnosti
Ngrok se používá k vystavení vašeho místního webového serveru internetu. Musíme jen říct Ngrok na jakém portu poslouchá váš místní webový server. Spuštěním následujícího příkazu vystavíte místní webový server internetu
[chráněno e-mailem]: ~ $ ngrok http 8080Při spuštění výše uvedeného příkazu v terminálu, Ngrok vytvoří tunel z místního webového serveru na internet přes port 8080 a zobrazí veřejnou adresu URL, přes kterou lze přistupovat k místnímu webovému serveru. Po spuštění výše uvedeného příkazu se na terminálu zobrazí následující grafické uživatelské rozhraní.
Nyní je váš localhost: 8080 přístupný z celého internetu pomocí odkazu zobrazeného na obrázku výše.
Kontrola provozu tunelem
Ngrok poskytuje nám možnost kontrolovat všechny příchozí nebo odchozí požadavky z internetu na vašeho localhost. Celý provoz můžeme sledovat na následujícím odkazu
localhost: 4040 / inspect / httpKdyž přejdete na výše uvedený odkaz, prohlížeč vám zobrazí všechny příchozí nebo odchozí požadavky, jak je znázorněno na následujícím obrázku.
Terminál také zobrazuje požadavky na váš místní webový server. Následující obrázek ukazuje, jak terminál udržuje záznam požadavků HTTP.
Získání veřejné IP pomocí SSH
SSH Secure Shell je zabezpečený komunikační protokol používaný pro vzdálenou komunikaci mezi klientem a serverem. Dále, SSH lze také použít k vytvoření tunelů, aby byl váš localhost přístupný veřejnosti. V tomto blogu uvidíme, jak používat SSH pro vytváření tunelů mezi vaším localhostem a veřejným internetem.
Vystavení Localhost veřejnosti
Localhost může být také vystaven veřejnosti pomocí SSH což je v zásadě komunikační protokol. To se nazývá SSH tunelování nebo SSH přesměrování portů. Spuštěním následujícího příkazu v Terminálu svého localhost vytvořte tunel mezi localhost a vzdáleným serverem
[chráněno e-mailem]: ~ $ ssh -R 8080: localhost: 8088 remoteUser @ IPAddressVe výše uvedeném příkazu
- 8080 je port, který server naslouchá
- 8088 je port, který chcete vystavit
- remoteUser je jméno uživatele, kterému vystavíte svůj webový server
- IPAddress je IP vzdáleného uživatele
- -R znamená, že vytváříte připojení ze vzdáleného serveru k vašemu localhost
Nyní lze na port 8088 vašeho localhost přistupovat ze vzdáleného serveru s IP „IP adresou“ a uživatelským jménem „remoteUser“ přes port 8080.
Konfigurace vzdáleného serveru
Před přístupem k localhost přes tunel ze vzdáleného serveru proveďte nějaké změny v sshd_config soubor vzdáleného serveru. Tento soubor lze otevřít zadáním následujícího příkazu do terminálu.
[chráněno e-mailem]: ~ $ nano / etc / ssh / sshd_configPo otevření souboru proveďte změny, jak je znázorněno na následujícím obrázku.
AllowTcpForwarding anoGatewayPorty ano
Po provedení změn restartujte svůj SSH tyto změny použít. Nyní je localhost otevřený pro vzdálený server, ke kterému lze přistupovat.
Testování tunelů
Zatím jsme vytvořili tunely mezi localhost a vzdáleným serverem pomocí SSH a Ngrok. Nyní otestujeme, zda byly tyto tunely vytvořeny nebo ne. Použijeme netcat příkaz k testování tunelů. Spusťte následující příkaz v terminálu vašeho localhost
[chráněno e-mailem]: ~ $ netcat -l -p 8088Když spustíte výše uvedený příkaz v terminálu vašeho localhost, netcat začne poslouchat na portu 8088 vašeho localhost.
Nyní zadejte do terminálu vzdáleného serveru následující příkaz k odeslání zprávy
[chráněno e-mailem]: ~ $ echo „Dobrý den!„| netcat [IP vzdálený server] 8080Když spustíte výše uvedený příkaz v terminálu vzdáleného serveru, musí se na terminálu localhost objevit zpráva „Hello“. Pokud k tomu dojde, byl váš tunel zřízen.
Závěr
Zpřístupnění localhostu z internetu se provádí vytvořením tunelů mezi vaším localhostem a internetem. V tomto blogu jsme diskutovali o tom, jak vytvořit tunely, aby byl váš localhost přístupný na internetu. Byly diskutovány dva způsoby budování tunelů, které jsou SSH tunelování a Ngrok tunelování. Dopravní kontrola pomocí Ngrok diskutovalo se také o tunelování. Po tomto, proces testování tunelů pomocí netcat bylo diskutováno. Po přečtení tohoto blogu bude pro vás velmi snadné zpřístupnit místní webový server veřejnosti.