Rete

Come ottenere un indirizzo IP pubblico utilizzando Ngrok o SSH Tunneling

Come ottenere un indirizzo IP pubblico utilizzando Ngrok o SSH Tunneling
Ogni dispositivo connesso a 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 agli indirizzi IP pubblici da qualsiasi punto di Internet, mentre agli indirizzi IP privati ​​è possibile accedere solo all'interno della rete locale (LAN).

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

In questo caso stabilisci un tunnel dal tuo host locale a Internet e condividi un indirizzo IP pubblico con i tuoi amici a cui è possibile accedere da tutta Internet.

I tunnel possono essere stabiliti utilizzando SSH o Ngrok. Qui discuteremo entrambi i modi e poi verificheremo il risultato del tunneling usando netcat.

Ottenere l'IP pubblico usando Ngrok

Ngrok è un software di tunneling multipiattaforma 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 in Terminale.

[email protected]:~$ snap install ngrok

Quando esegui il comando sopra, installerà ngrok dopo aver scaricato i file richiesti. Puoi verificare se Ngrok è stato installato o meno utilizzando il seguente comando nel Terminale.

[email protected]:~$ ngrok --version

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

Dopo l'installazione Ngrok, ora è pronto per l'uso per stabilire i tunnel.

Esporre Localhost al pubblico

Ngrok è usato per esporre il tuo server web locale a Internet. Tutto quello che dobbiamo fare è dire Ngrok su quale porta è in ascolto il tuo server web locale. Esegui il seguente comando per esporre il tuo server web locale a Internet

[e-mail protetta]:~$ ngrok http 8080

Quando esegui il comando sopra nel Terminale, Ngrok stabilisce un tunnel dal tuo server web locale a Internet attraverso la porta 8080 e mostra l'URL pubblico attraverso il quale puoi accedere al tuo server web locale. La seguente GUI appare su Terminale quando si esegue il comando sopra.

Ora è possibile accedere al tuo localhost: 8080 da tutta Internet utilizzando il collegamento mostrato nella figura sopra.

Ispezione del traffico attraverso il tunnel

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

localhost:4040/inspect/http

Quando vai al link sopra, il browser ti mostra tutte le richieste in entrata o in uscita come mostrato nella figura seguente.

Il terminale mostra anche le richieste fatte al tuo server web locale. La figura seguente mostra come il terminale mantiene il registro delle richieste http.

Ottenere l'IP pubblico usando SSH

SSH noto anche come Secure Shell è un protocollo di comunicazione sicuro utilizzato per la comunicazione remota tra client e server. inoltre, SSH può essere utilizzato anche per stabilire tunnel per rendere il tuo localhost accessibile al pubblico. In questo blog vedremo come utilizzare SSH per stabilire tunnel tra il tuo localhost e Internet pubblico.

Esporre Localhost al pubblico

Localhost può anche essere esposto al pubblico usando SSH che è fondamentalmente un protocollo di comunicazione. È chiamato SSH tunnel o SSH Port forwarding. Esegui il seguente comando nel terminale del tuo localhost per stabilire un tunnel tra il tuo localhost e il server remoto

[email protected]:~$ ssh -R 8080:localhost:8088 remoteUser@IPAddress

Nel comando sopra

Ora è possibile accedere alla porta 8088 del tuo localhost da un server remoto con IP "Indirizzo IP" e nome utente "remoteUser" tramite la porta 8080.

Configurazione del server remoto

Prima di accedere a localhost attraverso 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 nel terminale.

[e-mail protetta]:~$ nano /etc/ssh/sshd_config

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

ConsentiTcpForwarding sì
GatewayPorts sì

Dopo aver apportato le 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 dei tunnel tra localhost e un server remoto usando 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 localhost

[e-mail protetta]:~$ netcat -l -p 8088

Quando esegui il comando sopra nel terminale del tuo localhost, netcat inizia ad ascoltare sulla porta 8088 del tuo localhost.

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

[email protected]:~$ echo “Ciao!” | netcat [IP server remoto] 8080

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

Conclusione

Per rendere il tuo localhost accessibile da Internet è necessario stabilire dei tunnel tra il tuo localhost e Internet. In questo blog abbiamo discusso su come stabilire tunnel per rendere il tuo localhost accessibile a Internet. Sono stati discussi due metodi per stabilire i tunnel che sono SSH tunneling e Ngrok tunneling. Ispezione del traffico utilizzando Ngrok è stato discusso anche il tunneling. Dopo questo, il processo di test dei tunnel utilizzando netcat è stato discusso. Dopo aver letto questo blog sarà molto facile per te rendere pubblico il tuo server web locale.

Aggiungi i gesti del mouse a Windows 10 utilizzando questi strumenti gratuiti
Negli ultimi anni computer e sistemi operativi si sono notevolmente evoluti greatly. C'è stato un tempo in cui gli utenti dovevano usare i comandi per...
Controlla e gestisci il movimento del mouse tra più monitor in Windows 10
Gestore mouse con doppio display ti consente di controllare e configurare il movimento del mouse tra più monitor, rallentando i suoi movimenti vicino ...
WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...