Jak uzyskać publiczny adres IP za pomocą tunelowania Ngrok lub SSH

Jak uzyskać publiczny adres IP za pomocą tunelowania Ngrok lub SSH
Każde urządzenie podłączone w Internecie ma adres IP, który jednoznacznie identyfikuje urządzenie. Adresy IP można klasyfikować w dwóch typach, które są publiczne i prywatne. Do publicznych adresów IP można uzyskać z dowolnego miejsca w Internecie, podczas gdy prywatne adresy IP można uzyskać tylko w sieci lokalnej (LAN).

Teraz, jeśli chcesz udostępnić coś z lokalnego serwera WWW znajomym, którzy są poza siecią lokalną i nie mogą uzyskać dostępu do Twojego komputera. W takim razie jak naraziłbyś swój lokalny host na znajomych poza LAN?

W takim przypadku ustanawiasz tunel od lokalnego hostu do Internetu i udostępniasz publicznego adresu IP znajomym, do którego można uzyskać dostęp z całego Internetu.

Tunele można ustanowić za pomocą Ssh Lub Ngrok. Tutaj omówimy oba sposoby, a następnie zweryfikujemy wynik tunelowania za pomocą Netcat.

Otrzymanie publicznego adresu IP za pomocą Ngrok

Ngrok to oprogramowanie do tunelowania między platformami, które można wykorzystać do ustanowienia bezpiecznych tuneli z Internetu na sieć lokalną. Uchwytuje również cały ruch w celu kontroli. Poniżej znajduje się metoda ustanowienia tuneli od LocalHost do Internetu.

Instalowanie NGrok

Przed użyciem Ngrok Na twoim komputerze musimy go zainstalować. Ngrok można zainstalować za pomocą następującego polecenia w terminalu.

Ubuntu@ubuntu: ~ $ snap instaluj ngrok

Po uruchomieniu powyższego polecenia zainstaluje Ngrok po pobraniu wymaganych plików. Możesz sprawdzić, czy Ngrok został zainstalowany lub nie przy użyciu następującego polecenia w terminalu.

Ubuntu@ubuntu: ~ $ ngrok --version

Jeśli Ngrok został zainstalowany, da wersję, jak pokazano na poniższym rysunku.

Po zainstalowaniu Ngrok, Teraz jest gotowy do użycia do ustanowienia tuneli.

Narażanie Localhost na publiczność

Ngrok służy do ujawnienia lokalnego serwera WWW na Internet. Wszystko, co musimy zrobić, to powiedzieć Ngrok Na jakim porcie lokalnym serwerze WWW słucha. Uruchom następujące polecenie, aby ujawnić lokalny serwer WWW na Internet

Ubuntu@ubuntu: ~ $ ngrok http 8080

Po uruchomieniu powyższego polecenia w terminalu, Ngrok Ustanawia tunel z lokalnego serwera internetowego do Internetu za pośrednictwem portu 8080 i wyświetla publiczny adres URL, za pomocą którego można uzyskać dostęp do lokalnego serwera WWW. Po uruchomieniu powyższego polecenia pojawia się następująca GUI.

Teraz Twój lokalny host: 8080 można uzyskać z całego Internetu za pomocą linku pokazanego na powyższym rysunku.

Sprawdzanie ruchu przez tunel

Ngrok Zapewnia nam możliwość kontroli wszystkich przychodzących lub wychodzących wniosków z Internetu do lokalnego hosta. Możemy obserwować cały ruch, przechodząc do następującego linku

Localhost: 4040/Inspekcja/http

Kiedy dostaniesz powyższy link, przeglądarka pokazuje wszystkie żądania przychodzące lub wychodzące.

Terminal pokazuje również żądania złożone na lokalnym serwerze WWW. Poniższy rysunek pokazuje, w jaki sposób terminal przechowuje zapis żądań HTTP.

Otrzymanie publicznego adresu IP za pomocą SSH

Ssh Znany również jako Secure Shell to bezpieczny protokół komunikacyjny używany do zdalnej komunikacji między klientem a serwerem. Ponadto, Ssh może być również używane do ustanowienia tuneli, aby udostępnić publiczność Twojego lokalnego hostu. Na tym blogu zobaczymy, jak korzystać z SSH do ustanowienia tuneli między lokalnym hostem a publicznym Internetem.

Narażanie Localhost na publiczność

LocalHost może być również narażony na społeczeństwo, korzystając z Ssh który jest zasadniczo protokołem komunikacyjnym. Nazywa się Ssh tunelowanie lub Ssh Przekazywanie portów. Uruchom następujące polecenie w terminalu Localhost, aby ustanowić tunel między lokalnym hostem a zdalnym serwerem

Ubuntu@ubuntu: ~ $ ssh -r 8080: LocalHost: 8088 Remoteuser@ipaddress

W powyższym poleceniu

  • 8080 to port, którego słucha serwer
  • 8088 to port, który chcesz ujawnić
  • Remoteuser to nazwa użytkownika, do którego zamierzasz ujawnić swój serwer WWW
  • Ipaddress to adres IP zdalnego użytkownika
  • -R oznacza, że ​​tworzysz połączenie z zdalnego serwera do lokalnego hostu

Teraz port 8088 Localhost można uzyskać ze zdalnego serwera o „adresu IP” IP i nazwie użytkownika ”za pośrednictwem portu 8080.

Konfiguracja zdalnego serwera

Przed uzyskaniem dostępu do LocalHost przez tunel ze zdalnego serwera dokonaj pewnych zmian w sshd_config plik zdalnego serwera. Ten plik można otworzyć, wpisując następujące polecenie w terminalu.

Ubuntu@ubuntu: ~ $ nano/etc/ssh/sshd_config

Po otwarciu pliku wprowadzaj zmiany, jak pokazano na poniższym rysunku.

Zezwolenie, tak
Gatewayports Tak

Po wprowadzeniu zmian uruchom ponownie Ssh serwer do zastosowania tych zmian. Teraz LocalHost jest otwarty na zdalny serwer, do którego można uzyskać dostęp.

Testowanie tuneli

Do tej pory ustanowiliśmy tunele między LocalHost a zdalnym serwerem za pomocą Ssh I Ngrok. Teraz sprawdzimy, czy te tunele zostały ustanowione, czy nie. Użyjemy Netcat polecenie do testowania tuneli. Uruchom następujące polecenie w terminalu Localhost

Ubuntu@ubuntu: ~ $ netcat -l -p 8088

Po uruchomieniu powyższego polecenia w terminalu Localhost, Netcat Zaczyna słuchać w porcie 8088 twojego lokalnego hostu.

Teraz wpisz następujące polecenie w terminalu zdalnego serwera, aby wysłać wiadomość

Ubuntu@ubuntu: ~ $ echo „Hello!”| Netcat [Remoteserver IP] 8080

Po uruchomieniu powyższego polecenia w terminalu zdalnego serwera komunikat „Hello” musi pojawić się na terminalu LocalHost. Jeśli tak się stanie, wówczas tunel został ustanowiony.

Wniosek

Aby Twoja lokalna hosta dostępna z Internetu odbywa się poprzez ustanowienie tuneli między lokalnym hostem a Internetem. Na tym blogu omówiliśmy, jak ustanowić tunele, aby udostępnić lokalizację w Internecie. Omówiono dwie metody ustanawiania tuneli, które są Ssh tunelowanie i Ngrok tunelowanie. Za pomocą kontroli ruchu Ngrok Omówiono również tunelowanie. Następnie proces testowania tuneli za pomocą Netcat został omówiony. Po przeczytaniu tego bloga będzie bardzo łatwo uczynić lokalny serwer WWW do publiczności.