Cargando



No Route to Host Error Linux | Solución

Tuttorial para saber cómo solucionar el error Route to Host Error Linux de manera detallada paso a paso.


nov 07 2022 10:12
Intermedio

Cuando nos conectamos a la red existen cientos de procesos tanto en primer como en segundo plano que entran en acción para que todas las operaciones puedan ser exitosas. Muchas de estas se realizan localmente y otras en la ruta hacia el destino a través de los protocolos y periféricos que permiten un mayor alcance de la red, en el caso de Linux existen servicios y demonios que tienen un impacto en la conectividad y en algunos momentos es posible encontrarnos con el error “no route to host”, esto simplemente hace referencia a que el proceso de conexión no ha sido exitoso y por lo tanto todas las tareas que implican algo de red serán incompletas o simplemente no las podremos llevar a cabo.

 

El error puede ser desde físico hasta a nivel de configuración y Solvetic explicará en este tutorial cómo corregir este error y poder tener acceso y la comunicación como debe ser.

 

Tutorial para saber reparar disco Linux con comando FSCK Linux y así corregir errores disco Linux.

 

Cómo corregir error No route to Host Linux


Para este caso usaremos Ubuntu pero el proceso es similar para otras distribuciones usadas de Linux.

 

Paso 1

En primer lugar por temas de procesos básicos debemos comprobar que el host está activo o bien el servicio asociado se esté ejecutando, si el host o servicio no funciona por alguna razón allí estará la causa para que el error salte a la vista. Es posible validar que el servicio que permite el uso de la red este activo, en este caso simplemente podemos corroborar su estado actual, para este caso ejecutamos lo siguiente:
sudo systemctl status libvirtd

 

Validamos que su estado es activo. El servicio libvirtd es un componente del servidor del sistema de administración de virtualización libvirt, es un servicio que lleva a cabo acciones como iniciar, detener o migrar invitados entre servidores host así como configurar y manipular redes y administrar el almacenamiento para equipos invitados. Es un servicio tradicional para temas de redes pero podemos validar el estado de otros servicios de ser necesario.

 

Ahora bien, otra de las causas por las cuales es posible ver este error en Linux es debido a una conexión a un puerto incorrecto o bien que el puerto esta con fallos. En Linux podemos como administradores usar puertos diferentes a los predeterminados con el fin de descartar ataques sabiendo el numero de puerto de servicios como Apache, HTTPD o SSH.

 

Paso 2

Para comprobar los puertos podemos usar NMAP (Network Mapper), esta es una utilidad que nos permite descubrir de redes y realizar auditorías de seguridad, Nmap hace uso de paquetes de IP sin procesar con el fin de detectar qué hosts están disponibles en la red y si se descubren tener acceso a detalles completos de cada uno. Para usar Nmap en Linux debemos instalarlo con el comando:
sudo apt install nmap

 

Paso 3

Ingresamos la letra S para confirmar y esperamos que el proceso llegue a su fin.

 

 

Paso 4

Ahora ejecutamos lo siguiente:
sudo nmap -sS IP

 

Paso 5

En algunos casos es posible ver que los puertos están cerrados lo cual no nos suministra detalles:

 

 

Paso 6

Normalmente es posible ver el puerto asociado a un servicio para un control más directo:

 

 

Nota
Algunas opciones extras de Nmap son:
  • -iR <num hosts>: selecciona objetivos aleatorios
  • --exclude <host1[,host2][,host3],...>: excluye hosts o redes
  • -sn: Ping Scan: deshabilita el escaneo de puertos
  • -Pn: valida solo los hosts en línea y omite el descubrimiento de hosts
  • -PO: ejecuta un ping de protocolo IP
  • --system-dns: hace uso del sistema de resolución de DNS del sistema operativo
  • --traceroute: rastrea la ruta de salto a cada host
  • -sU: realiza un escaneo UDP
  • -sO: lleva a cabo un escaneo de protocolo IP
  • -F: modo rápido: escanea menos puertos que el escaneo por defecto
  • -r: escanea puertos consecutivamente mas no de forma aleatoria
  • -sV: analiza puertos abiertos para determinar la información de servicio/versión
  • -O: habilitar la detección del sistema operativo
  • --open: solo despliega los puertos abiertos
  • -d: aumenta el nivel de depuración
  • --iflist: imprime las interfaces y rutas de host
  • -6: habilita el escaneo de IPv6sudo iptables -S7ping -c3 IP8cat /etc/hosts10sudo nano /etc/systemd/resolved.conf11netstat -rn13
  • -o: despliega el ID del proceso de propiedad asociado con cada conexión

 

 

Paso 7

Otra de las causas del error “No route to host” se debe a que Iptables está bloqueando la conexión local, esta es una herramienta de administración para el proceso de filtrado de paquetes IPv4 y NAT, normalmente con Iptables podemos configurar, administrar e inspeccionar las tablas de reglas de filtrado de paquetes, en Linux es posible ver las rutas de las tablas IP ejecutando:
sudo iptables -S7

 

Paso 8

Otra de las formas para ver el estado de la red y que todo anda de manera correcta es usando el comando PING, este se encarga de enviar y recibir respuesta de parte del equipo remoto usando paquetes, esto determina que la comunicación es correcta, será posible hacer ping a la dirección IP de la siguiente forma:
ping -c3 IP8

 

Paso 9

Allí podemos ver el error existente si la causa es del equipo, se envían 3 paquetes y no se recibe respuesta, en una conexión normal veremos esto:


 

Paso 10

Allí vemos que cada paquete se recibió correctamente y se dan estadísticas de la operación.
Una de las causas de este error es una mala configuración de los servidores DNS o de la red en general, en Linux podemos acceder al archivo /hosts para ver su contenido:
cat /etc/hosts10

 

Allí debemos comprobar que se tiene acceso a los sitios en la configuración de este archivo, como punto adicional podemos validar los archivos "/etc/hosts", "/etc/hosts.allow" y "/etc/hosts.deny".

 

Paso 11

Otra forma para comprobar el DNS usado, el cual puede estar offline o con una dirección errada, para comprobar esto accede con algún editor de la siguiente manera;
sudo nano /etc/systemd/resolved.conf11

 

Paso 12

Veremos lo siguiente:

 

 

Paso 13

Allí encontramos detalles no solo del DNS sino de otros aspectos de la red.
Finalmente es posible usar Netstat (Network Status) para comprobar como esta nuestra red y en base a esto determinar si la causa del error “No route to Host” es por esto, en la terminal ejecuta:
netstat -rn13

 

Encontramos detalles de destino, interfaz, mascara e indicadores usados, los parámetros usados han sido -r para ver las rutas y n para ver la dirección y puerto en formato numérico, algunas opciones extras de uso son:

  • -o: despliega el ID del proceso de propiedad asociado con cada conexión
  • -e: genera estadísticas de Ethernet
  • -a: muestra todas las conexiones y puertos de escucha
  • -s: genera estadísticas por protocolo
Con estas soluciones que te ha dado Solvetic es posible corregir el error “No route to Host” y así poder tener conectividad.

 

Tutorial para reparar inicio Ubuntu cuando Ubuntu no arranca y tenemos que reparar el arranque Ubuntu.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X