Ich möchte ein Knurren an mich selbst senden, nachdem der SuSE-Server den Startvorgang abgeschlossen hat. Ich habe diese Nachricht erhalten socket_sendto(): unable to write to socket [101]: Network is unreachable in
.
Wie kann ich über die Befehlszeile überprüfen, ob das Netzwerk erreichbar ist, und warten, ob dies nicht der Fall ist?
command-line
networking
opensuse
Radek
quelle
quelle
ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss"
. Damit wird der Server mit einem Paket gepingt und die Ausgabe auf die Zeichenfolge "0% Packet Loss" überprüft. (Das Leerzeichen vor 0% ist wichtig.) Wenn der Befehl eine Zeile zurückgibt, sind Sie verbunden, andernfalls nicht verbunden.Antworten:
ping
an einen externen Host kann aus einer Vielzahl von Gründen fehlschlagen, von denen nur einige tatsächlich etwas Nützliches über den Zustand Ihres eigenen Netzwerks aussagen.Öffnen Sie zunächst ein Terminalfenster und geben Sie Folgendes ein
ip route ls
Sie sollten eine Ausgabe nach dem Vorbild von sehen
Dies zeigt an, dass Ihr lokales Netzwerk eine Ethernet-Verbindung (
eth0
) mit der Adresse192.168.15.0
ist und dass sich das Standard-Gateway, über das es auf das restliche Internet zugreift, unter befindet192.168.15.1
.Als nächstes können Sie versuchen, an
ping
diese Adresse:Wenn Sie etwas Ähnliches sehen, ist Ihr eigenes lokales Netzwerk zumindest in Ordnung. An diesem Punkt können Sie mit erweiterten Tools nachsehen
traceroute
, wo Ihre Verbindung zum Ziel möglicherweise fehlschlägt.Nach einer schnellen Überprüfung durch Google, was
growl
eigentlich sein soll, habe ich jedoch das Gefühl, dass etwas anderes schief geht. Können Sie Ihre Frage erweitern, um uns ein paar Details darüber zu geben, was Sie versuchen, wie Sie es versuchen, und die vollständige Fehlerausgabe? Die Leitung, die Sie uns gerade geben, wird abrupt unterbrochen ...quelle
ip route get 1.2.3.4
ist zuverlässiger als nur zu tunip route ls
. Ersteres wird alle Regeln in Kraft setzen, die zusätzlich zu den Routen gelten. Außerdem wird die Möglichkeit eines Fehllesens der Routingtabelle (n) beseitigt.Eine sehr einfache und schnelle Möglichkeit ist die Verwendung des
ping
Befehls.Sie können einfach tippen
(oder cnn.com oder einen anderen Host) und prüfen Sie, ob Sie eine Ausgabe zurückerhalten. Dies setzt voraus, dass Hostnamen aufgelöst werden können (dh DNS funktioniert). Wenn nicht, können Sie hoffentlich eine gültige IP-Adresse / Nummer eines Remote-Systems angeben und prüfen, ob diese erreichbar ist.
Hier ist die Ping-Manpage .
Update :
Als schnelles Beispiel können Sie den Rückgabewert (z. B. mit
"echo $?"
) von überprüfen, um festzustellen ,ping
ob der Befehl erfolgreich war (Sie können die Ausgabe des Befehls immer an weiterleiten> /dev/nul
). Anmerkung, die ich-c 1
hier verwende, aber Sie könnten mehr verwenden.quelle
ping -c 2 -n <other host's IP>
und arbeiten nach dem Rückkehrcode: wenn true (0), dann hat es Konnektivität; Wenn false (1), kann es nicht mit dieser Maschine kommunizieren.mtr ist ein Ping-ähnliches Tool, das Ihnen jedoch mehr Informationen wie Paketverlust, Statistiken zu Paketlaufzeiten usw. liefert.
quelle