Erreurs

❌ Erreur Linux "No route to host" — Causes et Solutions

🐧 Erreur Linux

Aucune route réseau vers l'hôte destination

🐧 Linux 📋 6 causes 🔧 5 solutions
L'erreur No route to host (EHOSTUNREACH) indique que le système ne trouve pas de chemin réseau pour atteindre l'hôte destination. Elle diffère de Connection refused (l'hôte est joignable mais le port est fermé) et de Network unreachable (pas de route vers le réseau).

⚠️ Causes possibles

⚠️
Table de routage incorrecte
Pas de route par défaut ou route manquante vers le réseau destination
⚠️
Interface réseau down
L'interface eth0/ens3 est désactivée ou le câble est débranché
⚠️
Firewall bloque l'ICMP
iptables/nftables bloque les paquets vers cette destination
⚠️
ARP échoue
L'adresse MAC de la destination ne peut pas être résolue (même sous-réseau)
⚠️
VPN non connecté
La destination est accessible uniquement via VPN
⚠️
VLAN incorrect
La machine est dans le mauvais VLAN et ne peut pas router

🔧 Solutions étape par étape

1

Vérifier la table de routage

terminal
# Afficher la table de routage
ip route show
# ou (ancienne méthode)
route -n

# Chercher la route vers une IP
ip route get 192.168.1.1

# Vérifier la passerelle par défaut
ip route show default
2

Vérifier les interfaces réseau

terminal
# Voir toutes les interfaces et leur état
ip addr show
ip link show

# Activer une interface désactivée
ip link set eth0 up
# ou
ifup eth0

# Vérifier les erreurs sur l'interface
ip -s link show eth0
ethtool eth0
3

Ajouter une route manquante

terminal
# Ajouter une route vers un réseau
ip route add 192.168.2.0/24 via 192.168.1.254

# Ajouter la route par défaut (passerelle)
ip route add default via 192.168.1.254

# Route permanente sur Debian/Ubuntu
# /etc/network/interfaces ou /etc/netplan/*.yaml
# Exemple Netplan :
# routes:
#   - to: 0.0.0.0/0
#     via: 192.168.1.254
4

Diagnostiquer le chemin réseau

terminal
# Test de connectivité ICMP
ping -c 4 192.168.1.1

# Tracer le chemin
traceroute 192.168.1.1
# ou
mtr 192.168.1.1

# Voir si le port est accessible
nc -zv 192.168.1.1 22
telnet 192.168.1.1 80
5

Vérifier le firewall

terminal
# Voir les règles iptables
iptables -L -n -v
iptables -L FORWARD -n -v

# Voir les règles nftables
nft list ruleset

# Tester en désactivant temporairement
iptables -F    # ⚠️ Vide toutes les règles — test seulement !

# UFW (Ubuntu)
ufw status verbose
ufw allow from 192.168.1.0/24

🛡️ Comment éviter cette erreur

  • ✅ Toujours configurer une route par défaut (default via X.X.X.X)
  • ✅ Utiliser ip route get IP pour vérifier rapidement la route vers une destination
  • ✅ Documenter la topologie réseau et les VLANs pour faciliter le diagnostic
  • ✅ Utiliser mtr pour un traceroute continu — idéal pour détecter les intermittences
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google