Je veux m'envoyer un grognement une fois que le serveur SuSE a terminé le processus de démarrage. J'ai eu ce message socket_sendto(): unable to write to socket [101]: Network is unreachable in
.
Comment puis-je vérifier à partir de la ligne de commande si le réseau est accessible et attendre au cas où il ne l'est pas?
ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss"
. Cela fait cingler le serveur avec un paquet et greps la sortie pour la chaîne "perte de paquet de 0%". (l'espace avant le 0% est important) Si la commande retourne une ligne, vous êtes connecté, sinon, pas connecté.Réponses:
ping
à un hôte extérieur peut échouer pour une multitude de raisons, dont seulement quelques-unes disent réellement quelque chose d'utile sur l'état de votre propre réseau.Dans un premier temps, ouvrez une fenêtre de terminal et tapez
ip route ls
Vous devriez voir une sortie dans le sens de
Cela indique que votre réseau local est une connexion Ethernet (
eth0
) avec l'adresse192.168.15.0
, et que sa passerelle par défaut via laquelle il accède au reste d'Internet se trouve sur192.168.15.1
.Ensuite, vous pouvez essayer à
ping
cette adresse:Si vous voyez quelque chose de similaire à ce qui précède, votre propre réseau local est, au moins, très bien. À ce stade, vous pouvez commencer à chercher avec des outils plus avancés, comme
traceroute
pour voir où votre connexion à la destination peut échouer.Cependant, après une rapide vérification par Google de ce qui
growl
est réellement censé être, j'ai l'impression qu'il y a autre chose qui ne va pas. Pouvez-vous développer votre question pour nous donner quelques détails supplémentaires sur ce que vous essayez de faire, comment vous essayez de le faire et la sortie d'erreur complète? La ligne que vous nous donnez actuellement est brusquement coupée ...la source
ip route get 1.2.3.4
est plus fiable que de le faireip route ls
. Le premier prendra effet toutes les règles qui sont en place en plus des itinéraires. Il supprime également la possibilité de mal lire les tables de routage.Un moyen très simple et rapide consiste à utiliser la
ping
commande.Vous pouvez simplement taper
(ou cnn.com ou tout autre hôte) et voyez si vous obtenez une sortie. Cela suppose que les noms d'hôtes peuvent être résolus (c'est-à-dire que dns fonctionne). Sinon, vous pouvez, espérons-le, fournir une adresse IP / un numéro valide d'un système distant et voir s'il peut être atteint.
Voici la page de manuel ping .
Mise à jour :
Comme exemple rapide, vous pouvez vérifier la valeur de retour (par exemple, avec
"echo $?"
) deping
pour voir si la commande a réussi (vous pouvez toujours diriger la sortie de la commande vers> /dev/nul
). Remarque J'utilise-c 1
ici, mais vous pouvez en utiliser plus.la source
ping -c 2 -n <other host's IP>
et opérez sur le code retour: si true (0), alors il a une connectivité; s'il est faux (1), il ne peut pas parler à cette machine.mtr est un outil similaire au ping mais vous donne plus d'informations telles que la perte de paquets, les statistiques sur les temps de trajet des paquets, etc ...
la source