Come ottenere l'indirizzo IP pubblico utilizzando NGROK o SSH Tunneling

Come ottenere l'indirizzo IP pubblico utilizzando NGROK o SSH Tunneling
Ogni dispositivo collegato su Internet ha un indirizzo IP che identifica in modo univoco il dispositivo. Gli indirizzi IP possono essere classificati in due tipi che sono pubblici e privati. È possibile accedere a indirizzi IP pubblici da qualsiasi luogo su Internet, mentre gli indirizzi IP privati ​​sono accessibili solo all'interno della rete locale (LAN).

Ora se vuoi condividere qualcosa dal tuo server web locale ai tuoi amici che sono al di fuori della rete locale e non possono accedere alla macchina. Allora come esporresti il ​​tuo locale ai tuoi amici fuori dalla LAN?

In questo caso si stabilisce un tunnel dal tuo host locale a Internet e condividi un indirizzo IP pubblico ai tuoi amici a cui è possibile accedere da tutte le cose su Internet.

I tunnel possono essere stabiliti utilizzando Ssh O Ngrok. Qui discuteremo di entrambi i modi e quindi verificheremo il risultato del tunneling usando Netcat.

Ottenere l'IP pubblico usando NGROK

Ngrok è un software di tunneling a piattaforma incrociata che può essere utilizzato per stabilire tunnel sicuri da Internet alla rete locale. Cattura anche tutto il traffico per l'ispezione. Di seguito è riportato il metodo per stabilire tunnel da localhost a Internet.

Installazione di NGROK

Prima di usare Ngrok Sulla tua macchina, dobbiamo installarlo. Ngrok può essere installato utilizzando il seguente comando nel terminale.

ubuntu@ubuntu: ~ $ snap installa ngrok

Quando si esegue il comando sopra, installerà NGROK dopo il download dei file richiesti. Puoi controllare se Ngrok è stato installato o meno utilizzando il seguente comando nel terminale.

ubuntu@ubuntu: ~ $ ngrok -version

Se Ngrok è stato installato, darà la versione come mostrato nella figura seguente.

Dopo l'installazione Ngrok, ora è pronto per essere utilizzato per stabilire tunnel.

Esponendo il locale al pubblico

Ngrok viene utilizzato per esporre il tuo server web locale a Internet. Tutto quello che dobbiamo fare è dirlo Ngrok Su quale porta sta ascoltando il tuo server web locale. Esegui il comando seguente per esporre il server Web locale su Internet

ubuntu@ubuntu: ~ $ ngrok http 8080

Quando si esegue il comando sopra nel terminale, Ngrok Stabilisce un tunnel dal tuo server web locale a Internet tramite la porta 8080 e visualizza l'URL pubblico attraverso il quale è possibile accedere al server web locale. Seguendo la GUI appare sul terminale quando si esegue il comando sopra.

Ora il tuo LocalHost: 8080 è possibile accedere da tutte su Internet utilizzando il collegamento mostrato nella figura sopra.

Ispezionando il traffico attraverso il tunnel

Ngrok ci fornisce la possibilità di ispezionare tutte le richieste in arrivo o in uscita da Internet al tuo host locale. Possiamo osservare tutto il traffico andando al seguente link

LocalHost: 4040/Ispect/HTTP

Quando si ottiene il link sopra, il browser mostra tutte le richieste in arrivo o in uscita come mostrato nella figura seguente.

Il terminale mostra anche le richieste effettuate al server web locale. La figura seguente mostra come il terminale mantiene il record di richieste HTTP.

Ottenere l'IP pubblico usando SSH

Ssh Conosciuto anche come Shell Secure è un protocollo di comunicazione sicuro utilizzato per la comunicazione remota tra client e server. Inoltre, Ssh Può anche essere utilizzato per stabilire tunnel per rendere il tuo locale accessibile al pubblico. In questo blog vedremo come utilizzare SSH per stabilire tunnel tra il tuo host locale e Internet pubblico.

Esponendo il locale al pubblico

LocalHost può anche essere esposto al pubblico utilizzando Ssh che è fondamentalmente un protocollo di comunicazione. È chiamato Ssh tunneling o Ssh Port forwarding. Esegui il seguente comando nel terminale del tuo locale per stabilire un tunnel tra il tuo host locale e il server remoto

ubuntu@ubuntu: ~ $ ssh -r 8080: localhost: 8088 remoteuser@iPaddress

Nel comando sopra

  • 8080 è la porta che è il server sta ascoltando
  • 8088 è la porta che si desidera esporre
  • Remoteuser è il nome dell'utente a cui stai per esporre il tuo server web
  • IPAddress è l'IP dell'utente remoto
  • -R significa che stai creando una connessione dal server remoto al tuo locale

Ora è possibile accedere alla porta 8088 del tuo host local.

Configurazione del server remoto

Prima di accedere a LocalHost tramite il tunnel da un server remoto, apportare alcune modifiche al sshd_config File del server remoto. Questo file può essere aperto digitando il seguente comando in terminale.

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

Dopo aver aperto il file, apportare le modifiche come mostrato nella figura seguente.

Consentire aforwarding sì
Gatewayports Sì

Dopo aver apportato modifiche, riavvia il tuo Ssh server per applicare queste modifiche. Ora localhost è aperto al server remoto a cui accedere.

Testare i tunnel

Finora abbiamo stabilito tunnel tra localhost e un server remoto utilizzando Ssh E Ngrok. Ora testeremo se questi tunnel sono stati stabiliti o meno. Noi useremo Netcat comando per testare i tunnel. Esegui il seguente comando nel terminale del tuo locale

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

Quando si esegue il comando sopra nel terminale del tuo locale, Netcat Inizia ad ascoltare sulla porta 8088 del tuo locale.

Ora digita il seguente comando nel terminale del server remoto per inviare il messaggio

ubuntu@ubuntu: ~ $ echo “Ciao!"| NetCAT [RemoteServer IP] 8080

Quando si esegue il comando sopra nel terminale del server remoto, il messaggio "Hello" deve apparire sul terminale di LocalHost. Se ciò accade, il tuo tunnel è stato stabilito.

Conclusione

Per rendere accessibile il tuo LocalHost da Internet, stabilendo tunnel tra il tuo host locale e Internet. In questo blog abbiamo discusso di come stabilire tunnel per rendere il tuo locale accessibile a Internet. Sono stati discussi due metodi per stabilire tunnel Ssh tunneling e Ngrok tunneling. Ispezione del traffico usando Ngrok Il tunneling è stato anche discusso. Dopo questo, il processo di test dei tunnel utilizzando Netcat è stato discusso. Dopo aver letto questo blog sarà molto facile per te rendere il tuo server web locale al pubblico.