Ahora, si desea compartir algo de su servidor web local a sus amigos que están fuera de la red de área local y no pueden acceder a su máquina. Entonces, ¿cómo expondrías tu localhost a tus amigos fuera de la lan??
En este caso, establece un túnel de su localhost a Internet y comparte una dirección IP pública con sus amigos a los que se puede acceder desde todo Internet.
Los túneles se pueden establecer utilizando Ssh o Ngrok. Aquí discutiremos las formas y luego verificaremos el resultado del túnel utilizando netcat.
Conseguir IP pública usando ngrok
Ngrok es un software de túnel de plataforma cruzada que se puede utilizar para establecer túneles seguros desde Internet hasta la red local. También captura todo el tráfico para la inspección. El siguiente es el método para establecer túneles de localhost a Internet.
Instalación de NGROK
Antes de usar Ngrok En su máquina, tenemos que instalarla. Ngrok se puede instalar utilizando el siguiente comando en la terminal.
ubuntu@ubuntu: ~ $ snap install ngrok
Cuando ejecuta el comando anterior, instalará el NGROK después de descargar los archivos requeridos. Puedes verificar si Ngrok se ha instalado o no utilizando el siguiente comando en el terminal.
ubuntu@ubuntu: ~ $ ngrok --version
Si Ngrok se ha instalado, le dará la versión como se muestra en la siguiente figura.
Después de instalar Ngrok, ahora está listo para usar para establecer túneles.
Exponer localhost a público
Ngrok se utiliza para exponer su servidor web local a Internet. Todo lo que tenemos que hacer es decir Ngrok en qué puerto está escuchando su servidor web local. Ejecute el siguiente comando para exponer su servidor web local a Internet
ubuntu@ubuntu: ~ $ ngrok http 8080
Cuando ejecuta el comando anterior en la terminal, Ngrok Establece un túnel desde su servidor web local a Internet a través del puerto 8080 y muestra la URL pública a través de la cual se puede acceder a su servidor web local. La siguiente GUI aparece en la terminal cuando ejecuta el comando anterior.
Ahora se puede acceder a su localhost: 8080 desde todo Internet utilizando el enlace que se muestra en la figura anterior.
Inspeccionar el tráfico a través del túnel
Ngrok nos proporciona la capacidad de inspeccionar todas las solicitudes entrantes o salientes de Internet a su localhost. Podemos observar todo el tráfico yendo al siguiente enlace
Localhost: 4040/Inspect/HTTP
Cuando obtienes el enlace anterior, el navegador te muestra todas las solicitudes entrantes o salientes como se muestra en la siguiente figura.
Terminal también muestra las solicitudes realizadas en su servidor web local. La siguiente figura muestra cómo el terminal mantiene el registro de las solicitudes HTTP.
Conseguir IP pública usando SSH
Ssh También se conoce como Secure Shell es un protocolo de comunicación seguro utilizado para la comunicación remota entre el cliente y el servidor. Además, Ssh También se puede utilizar para establecer túneles para que su localhost sea accesible para el público. En este blog veremos cómo usar SSH para establecer túneles entre su localhost e Internet público.
Exponer localhost a público
Localhost también puede estar expuesto al público mediante el uso de Ssh que es básicamente un protocolo de comunicación. Se llama Ssh túnel o Ssh reenvío de puertos. Ejecute el siguiente comando en el terminal de su localhost para establecer un túnel entre su localhost y el servidor remoto
Ubuntu@ubuntu: ~ $ ssh -r 8080: localhost: 8088 remotouser@ipaddress
En el comando anterior
Ahora se puede acceder al puerto 8088 de su localhost desde un servidor remoto que tiene "dirección IP" de IP y nombre de usuario "remoto" a través del puerto 8080.
Configuración del servidor remoto
Antes de acceder a localhost a través del túnel desde un servidor remoto, realice algunos cambios en el sshd_config archivo del servidor remoto. Este archivo se puede abrir escribiendo el siguiente comando en la terminal.
ubuntu@ubuntu: ~ $ nano/etc/ssh/sshd_config
Después de abrir el archivo, realice los cambios como se muestra en la siguiente figura.
Permitirse para hacer
Gatewayports Sí
Después de hacer cambios, reinicie su Ssh servidor para aplicar estos cambios. Ahora localhost está abierto al servidor remoto para acceder.
Prueba de los túneles
Hasta ahora hemos establecido túneles entre localhost y un servidor remoto utilizando Ssh y Ngrok. Ahora probaremos si estos túneles han sido establecidos o no. Usaremos netcat comandar para probar túneles. Ejecute el siguiente comando en el terminal de su localhost
ubuntu@ubuntu: ~ $ netcat -l -p 8088
Cuando ejecuta el comando anterior en la terminal de su localhost, netcat Comienza a escuchar en el puerto 8088 de tu localhost.
Ahora escriba el siguiente comando en el terminal del servidor remoto para enviar un mensaje
ubuntu@ubuntu: ~ $ echo "Hola!"| NetCat [RemoteServer IP] 8080
Cuando ejecuta el comando anterior en el terminal de su servidor remoto, el mensaje "hola" debe aparecer en el terminal de localhost. Si esto sucede, entonces se ha establecido su túnel.
Conclusión
Para que su localhost sea accesible desde Internet, se realiza estableciendo túneles entre su localhost e Internet. En este blog hemos discutido cómo establecer túneles para que su localhost sea accesible para Internet. Se han discutido dos métodos para establecer túneles que son Ssh túnel y Ngrok túnel. Inspección del tráfico usando Ngrok túneles también se ha discutido. Después de esto, el proceso de probar los túneles utilizando netcat ha sido discutido. Después de leer este blog, será muy fácil para usted hacer que su servidor web local sea público al público.