Cuando intenta conectarse a un servicio en Linux, «Sin 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 solucionar el error de conexión «sin ruta al host» en Linux.
¿Por qué recibo el error «Sin ruta al host»?
Hay muchas razones por las que podría estar recibiendo ese error. La creación de redes en Linux es una pila un tanto complicada que es 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 debe verificar que el servidor al que está tratando de conectarse esté en línea. Es posible que se haya retirado por mantenimiento o que esté experimentando problemas.
Es posible que el servicio en sí no se haya iniciado. Si es su servidor, puede comprobar si el servicio se ha iniciado y funciona correctamente. Para hacer eso con Systemd, ejecute el siguiente comando.
sudo systemctl status SERVICENAME
Puerto incorrecto
Es posible que esté intentando conectarse en el puerto incorrecto. Muchos administradores de sistemas optan por ejecutar servicios comúnmente dirigidos como SSH en diferentes puertos para ayudar a frustrar a los posibles atacantes.
Si el servidor no es 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 cree que usó un puerto realmente oscuro, puede usar el -p-
bandera para escanearlos a 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ía el mismo mensaje si configuró 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á 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 esté conectando correctamente a un servidor DNS.
Si el ping funciona pero la conexión de un nombre de dominio no, se trata de 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 verificar a través de la que realmente está tratando de conectarse.
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í, 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 interfaz gráfica de usuario
Si está utilizando un escritorio gráfico con Network Manager, puede editar su información de conexión de esa manera. Abra el applet 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 de host o red incorrecta
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í. Verifique las configuraciones de «/etc/hosts», «/etc/hosts.allow» y «/etc/hosts.deny».
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 «Sin ruta al host». Mientras tanto, puede aprender cómo controlar su red Wi-Fi en Linux o verificar si su firewall está bloqueando alguna conexión entrante y saliente.