Causas posibles
- 01. Problema
- 02. Causas posibles
- 03. Cómo comprobarlo
- 04. Soluciones
- 05. Prevención
- El servicio al que intentas conectarte no está en ejecución.
- El servicio está escuchando en otra interfaz o puerto distinto al esperado.
- Un firewall en el propio servidor está rechazando (no solo bloqueando) la conexión.
- Te estás conectando a la IP o puerto equivocados.
Cómo comprobarlo
- Comprueba que el servicio está activo:
sudo systemctl status nombre-servicio. - Revisa en qué puertos escucha realmente el sistema:
sudo ss -tulpn. - Prueba la conexión localmente en el propio servidor antes de probar desde otro equipo:
curl -v localhost:PUERTO. - Revisa las reglas del firewall:
sudo ufw status.
Soluciones
1. Iniciar o reiniciar el servicio
sudo systemctl start nombre-servicio
sudo systemctl enable nombre-servicio # para que arranque también al reiniciar2. Configurar el servicio para escuchar en la interfaz correcta
Muchos servicios escuchan por defecto solo en 127.0.0.1 (localhost). Si necesitas acceder desde otro equipo, cambia su configuración para escuchar en 0.0.0.0 o en la IP concreta de la interfaz de red.
3. Abrir el puerto en el firewall
sudo ufw allow 8080/tcp
sudo ufw reloadPrevención
- Después de instalar cualquier servicio, comprueba con
ss -tulpnque realmente está escuchando donde esperas. - Documenta qué puertos abres en el firewall y por qué, para no ir acumulando reglas innecesarias.
Preguntas frecuentes
¿Cuál es la diferencia entre "Connection refused" y "Connection timed out"?
Refused significa que hubo respuesta activa de rechazo (el puerto está cerrado o filtrado con rechazo explícito). Timeout significa que no hubo respuesta en absoluto, lo que suele apuntar a un problema de red o a un firewall que descarta los paquetes en silencio.
¿Puede ser un problema del cliente en vez del servidor?
Sí, revisa también que el cliente esté usando el host y puerto correctos, y que no haya un proxy o VPN interfiriendo.