Cuando configuras un nuevo servicio en tu VPS (como un servidor web en el puerto 80/443, una base de datos MySQL en el puerto 3306 o un panel de control), es muy común encontrarse con que el servicio parece no responder desde el navegador o desde tu computadora.
En la mayoría de los casos, esto no significa que el servidor esté apagado, sino que hay un bloqueo en el camino. Aquí te enseñamos cómo verificar si tu servidor está respondiendo y si los puertos correctos están abiertos.
1. Comprobar la conectividad básica (ping).
El primer paso es saber si tu servidor está encendido y es visible en internet. Para ello, usamos la prueba básica de conectividad: el comando ping.
Abre la terminal de tu computadora (o el Símbolo del Sistema en Windows) y ejecuta:
ping IP_DE_TU_VPS
-
Si recibes respuestas: Significa que tu VPS está encendido y la red básica funciona correctamente.
-
Si da "timeout" o "tiempo de espera agotado": Puede que el servidor esté apagado, que haya una falla de red importante, o que el firewall de tu VPS esté configurado para ignorar las solicitudes de ping por motivos de seguridad (esto es muy común). Por lo tanto, si el ping falla, no te detengas ahí; pasa al siguiente paso.
2. Comprobar los puertos abiertos desde fuera (tu computadora).
Que el servidor responda al ping no significa que el puerto de tu aplicación esté accesible. Para verificar si un puerto específico está abierto y aceptando conexiones desde internet, no necesitas adivinar; puedes usar estas herramientas desde tu equipo local:
Opción A: Usar una herramienta web (la forma más fácil).
Si no quieres usar la línea de comandos, puedes entrar a sitios web gratuitos de escaneo de puertos como YouGetSignal o CanYouSeeMe.org.
-
Introduce la dirección IP de tu VPS.
-
Escribe el número de puerto que quieres revisar (por ejemplo, el
22para SSH o el80para web). -
Haz clic en Check. La web te dirá inmediatamente si el puerto está open (abierto) o closed (cerrado).
Opción B: Usar la terminal con Netcat (nc)
Si estás en Mac o Linux, abre tu terminal y ejecuta el siguiente comando para probar un puerto específico:
nc -zv IP_DE_TU_VPS NUMERO_DE_PUERTO
-
Ejemplo para verificar SSH:
nc -zv 192.168.1.100 22 -
Si la respuesta dice Connection to [IP] port [X] succeeded, el puerto está perfectamente abierto al público.
3. Comprobar si el VPS realmente está "escuchando" el puerto.
Si desde fuera el puerto aparece como "cerrado", el problema puede ser uno de dos: o un firewall lo está bloqueando, o el programa en el VPS está apagado y no está usando ese puerto.
Para salir de dudas, conéctate a tu VPS por SSH y ejecuta este comando para ver qué programas están escuchando activamente en la red interna:
ss -tulpn
(Si no funciona, puedes probar con el comando clásico netstat -tulpn).
¿Cómo interpretar el resultado?
Verás una lista de conexiones. Busca en la columna Local Address el puerto que necesitas.
-
Si ves algo como
*:80o0.0.0.0:3306acompañado de la palabra LISTEN, significa que el servicio está encendido correctamente y esperando conexiones de cualquier IP. -
Si el puerto no aparece en la lista, el servicio que intentas probar (por ejemplo, Apache, Nginx o MySQL) está apagado o mal configurado por dentro. ¡Inícialo primero!
¿El servicio está encendido, pero el puerto sigue cerrado?
Si el comando ss -tulpn te confirma que el servicio está activo internamente, pero las herramientas externas dicen que el puerto está cerrado, el culpable definitivo es el firewall.