Tengo una PC con Microsoft SQL Server con internet de Megacable a la que me conecto normalmente desde otro lugar también con Megacable y sin problemas. El problema viene cuando me quiero conectar desde mi laptop con una conexión de Telmex. Aún sabiendo la IP pública de Megacable no me lo permite, teorizo que por alguna limitación impuesta por Megacable puesto que a la inversa (de Megacable a un servidor con internet de Telmex) sí es posible.
Aquí es donde entra Ngrok, que en términos sencillos y poco exactos, te permite crear un canal público a la PC desde donde lo ejecutes, el cual es accesible desde cualquier parte del mundo (con internet) usando servidores intermedios.
El principal uso de ngrok es que otra persona pueda ver un sitio web en desarrollo en tu PC, exponiendo el puerto 80 y asignándote una URL dinámica, viva, mientras el proceso de Ngrok está ejecutándose.
En fin, esto resuelve mi problema. Conectarme a SQL Server usando Ngrok.
Para conectarte a SQL Server se usa (de forma predeterminada) el puerto 1433 mediante el Protocolo TCP. Así que tendríamos que crear un túnel TCP al puerto 1433 mediante Ngrok.
Pasos para hacerlo:
- Regístrate en Ngrok mediante este enlace
- Serás dirigido al panel de Ngrok, desde donde podrás descargarlo. Házlo. Te dará también las siguientes instrucciones y tu token.
- Descomprime el archivo descargado
- Abre la consola dentro de la carpeta descomprimida. En Windows 10, clic derecho: Abrir Powershell aquí
- Agrega tu token mediante el comando: .\
ngrok.exe config add-authtoken <<el token que te da el panel de ngrok>>
- Ejecuta: .\
ngrok.exe tcp 1433
y te devolverá una URL como esta:tcp://0.tcp.kngrok:12345
- Conviértela al siguiente formato:
0.tcp.ngrok,12345
donde antes de la coma es la URL y después es el puerto. - Listo, esa dirección la puedes usar para conectarte desde la consola, tu sistema o SQL Management.
Si lo haces desde la consola de Windows, no ocupas el punto y diagonal inversa. En lugar de .\ngrok.exe
sería nada más: ngrok.exe
En mis pruebas, en dos hora de uso se me desconectó dos veces, pero desconozco si fue por mi internet, el internet del servidor o el túnel de Ngrok. La conexión es rápida, muy fluida y fácilmente te saca de apuros.
Personalmente la membresía de Ngrok se me hace cara, creo que debería haber un intermedio entre la gratuita y el plan de pago básico, pero con la versión gratuita me ha sacado de muchos apuros