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
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.