Cómo solucionar el error de conexión "No hay ruta al host" en Linux

Función sin ruta al host

Cuando intentas conectarte a un servicio en Linux, "No hay ruta al host" es una de las últimas cosas que quieres escuchar. Es un mensaje amplio que significa que su computadora no puede llegar al servidor de destino, ya sea un demonio de servidor local ejecutándose en su sistema o un servidor remoto al que no puede acceder por cualquier motivo. Aquí le mostramos cómo solucionar el error de conexión "no hay ruta al host" en Linux.

Lea también: ¿El Wi-Fi no funciona en Linux? He aquí cómo solucionarlo

Índice
  1. ¿Por qué aparece el error "No hay ruta al host"?
    1. El host está desconectado/el servicio no se está ejecutando
    2. Puerto equivocado
    3. Iptables está bloqueando la conexión
    4. Su DNS está mal configurado
  2. La forma GUI
  3. Configuración incorrecta de red o host

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

Hay muchas razones por las que podría recibir ese error. La creación de redes en Linux es una pila un tanto complicada y bastante intrincada y, como resultado, es difícil determinar exactamente dónde está el problema.

El host está desconectado/el servicio no se está ejecutando

Puede parecer dolorosamente obvio, pero primero debes verificar que el servidor al que estás intentando conectarte esté en línea. Es posible que lo hayan retirado por mantenimiento o que tenga problemas.

Sin ruta al estado del 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.

sudo systemctl status SERVICENAME

Lea también: Arreglar “el nombre de usuario no está en el archivo sudoers. Este incidente será reportado” Error en Ubuntu

Puerto equivocado

Es posible que esté intentando conectarse en el puerto incorrecto. Muchos administradores de sistemas optan por ejecutar servicios de destino común, como SSH, en diferentes puertos para ayudar a frustrar a los posibles atacantes.

Si el servidor no es el tuyo, consulta la documentación disponible o contacta con sus servicios de soporte.

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

sudo nmap -sS your.server.ip

Si crees que usaste un puerto realmente oscuro, puedes usar el -p- bandera para escanearlos todos. Aunque llevará un tiempo.

Lea también: Cómo mostrar todas las conexiones SSH activas en Linux

Iptables está bloqueando la conexión

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

Su DNS está mal configurado

Si todo lo demás falla, deberías intentar ping la dirección IP a la que desea conectarse. Podría ser que su computadora no se esté conectando correctamente a un servidor DNS.

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

Los usuarios de Systemd pueden ejecutar systemd-resolve --status para comprobar los servidores DNS que utiliza su sistema. Está desglosado por interfaz, así que asegúrese de marcar a través de la que realmente está intentando conectarse.

No hay ruta para alojar Systemd Resolve

En la mayoría de los casos, su computadora descubrirá la información 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 que se enumeran 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í, ingresa la dirección IP de tu enrutador o cualquier otro servidor DNS conocido que prefieras usar.

Luego, reinicie la red o toda su computadora.

Lea también: 5 mejores lectores de USENET para Linux

La forma 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.

Lea también: Cómo ejecutar Nmap sin Root o Sudo

Configuración incorrecta de red o host

Hay varias otras opciones de configuración que pueden ser incorrectas. Cualquiera de ellos haría imposible que su computadora se conecte 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.

Lea también: Cómo eliminar un directorio en Linux

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í. Verifique las configuraciones de "/etc/hosts", "/etc/hosts.allow" y "/etc/hosts.deny".

No hay ruta para hospedar a los anfitriones de gatos

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 cualquier problema que haya causado el error "No hay ruta al host". Mientras tanto, puedes aprender a controlar tu red Wi-Fi en Linux o comprobar si tu firewall está bloqueando alguna conexión entrante y saliente.

Lea también: Cómo solucionar el error "El repositorio no tiene archivo de versión"

¡Suscríbete a nuestro boletín!

Nuestros últimos tutoriales entregados directamente a su bandeja de entrada

Juan Perkins

John es un joven profesional técnico apasionado por educar a los usuarios sobre las mejores formas de utilizar su tecnología. Posee certificaciones técnicas que cubren temas que van desde hardware informático hasta ciberseguridad y administración de sistemas Linux.

Subir