Cómo corregir el error de conexión «No hay ruta al host» en Linux

Sin ruta a la función de host

Cuando intenta conectarse a un servicio en Linux, «No hay ruta al host» es una de las últimas cosas que desea escuchar. Es un mensaje amplio que significa que su computadora no puede llegar al servidor de destino, ya sea un demonio de servidor local que se ejecuta en su sistema o un servidor remoto al que no puede acceder por cualquier motivo. Aquí le mostramos cómo corregir el error de conexión «sin ruta al host» en Linux.

¿Por qué aparece el error «No hay ruta al host»?

Hay muchas razones por las que podría estar obteniendo ese error. La conexión en red en Linux es una pila algo complicada que es bastante intrincada y, como resultado, es difícil determinar exactamente dónde está el problema.

El host está fuera de línea / el servicio no se está ejecutando

Puede parecer dolorosamente obvio, pero primero debe verificar que el servidor al que está tratando de conectarse esté incluso en línea. Es posible que se haya retirado por mantenimiento o que tenga problemas.

Sin ruta al estado de Systemctl del host

Es posible que el servicio en sí no se haya iniciado. Si es su servidor, puede verificar si el servicio se ha iniciado y está funcionando correctamente. Para hacer eso con Systemd, ejecute el siguiente comando.

Puerto incorrecto

Es posible que esté intentando conectarse en el puerto incorrecto. Muchos administradores de sistemas eligen ejecutar servicios comúnmente dirigidos como SSH en diferentes puertos para ayudar a frustrar a los posibles atacantes.

Si el servidor no es el suyo, consulte la documentación disponible o comuníquese con sus servicios de soporte.

Para su propio servidor, puede intentar usar NMAP para averiguar dónde comenzó su servicio.

Si cree que utilizó un puerto realmente desconocido, puede utilizar el -p- bandera para escanearlos todos. Sin embargo, tomará un tiempo.

Iptables está bloqueando la conexión

Es posible que haya configurado iptables accidentalmente para bloquear las conexiones en ese puerto. Recibirá el mismo mensaje si configuró iptables en el servidor o en su escritorio, por lo que vale la pena verificar ambos. Para ver las reglas de iptables, ejecute el siguiente comando.

Su DNS está configurado incorrectamente

Si todo lo demás falla, debe intentar ping la dirección IP a la que desea conectarse. Es posible que su computadora no se conecte correctamente a un servidor DNS.

Si el ping funciona pero la conexión de un nombre de dominio no lo hace, está ante un problema de DNS.

Los usuarios de Systemd pueden ejecutar systemd-resolve --status para comprobar los servidores DNS que está utilizando su sistema. Está desglosado por interfaz, así que asegúrese de verificar la que realmente está tratando de conectarse.

Sin ruta al sistema del host Resolver

En la mayoría de los casos, su computadora descubrirá la información de DNS relevante a través de DHCP. Si está utilizando una IP estática o algo en su red está configurado de manera diferente, es posible que deba configurar su DNS manualmente.

Abra «/etc/systemd/resolved.conf». En ese archivo, descomente el DNS línea y agregue la IP de su enrutador u otro servidor DNS conocido. El DNS alternativo predeterminado para Systemd son los servidores DNS de Google enumerados en FallbackDNS.

Si está utilizando OpenRC u otra alternativa de Systemd, puede encontrar su información de DNS en «/etc/resolv.conf».

Si no hay nada allí, ingrese la dirección IP de su enrutador o cualquier otro servidor DNS conocido que prefiera usar.

Después, reinicie la red o toda su computadora.

El camino de la GUI

Si está utilizando un escritorio gráfico con Network Manager, puede editar la información de su conexión de esa manera. Abra el subprograma o revise la configuración de su sistema. Seleccione su conexión y busque la pestaña «IPv4». Cambie la conexión a “Manual” e ingrese manualmente la dirección IP de su computadora y la IP de su enrutador como puerta de enlace. Luego, en el campo DNS a continuación, ingrese la IP de su enrutador o la IP de otro servidor DNS.

Configuración incorrecta de la red o del host

Hay varias otras opciones de configuración que pueden ser incorrectas. Cualquiera de ellos haría imposible que su computadora se conectara al servidor.

Primero, asegúrese de que la configuración de red de su computadora sea correcta. Vuelva a verificar los archivos de configuración y, por supuesto, vea si puede conectarse a Internet de otra manera.

Si está utilizando un nombre de host específico para conectarse o ha configurado hosts específicos en el servidor o en el cliente, debe asegurarse de que ambas máquinas puedan conectarse entre sí. Compruebe las configuraciones de «/ etc / hosts», «/etc/hosts.allow» y «/etc/hosts.deny».

No hay ruta a los hosts Cat anfitriones

Finalmente, verifique la configuración de su servidor. Es posible que algo esté configurado incorrectamente en el servidor, lo que impide que los clientes se conecten correctamente.

Con suerte, el uso de estos consejos le ha permitido solucionar los problemas que estaban ocurriendo y que causaron el error «No hay ruta al host». Mientras tanto, puede aprender a controlar su red Wi-Fi en Linux o verificar si su firewall está bloqueando cualquier conexión entrante y saliente.