Chcę wysłać warczenie do siebie po tym, jak serwer SuSE zakończy proces uruchamiania. Dostałem tę wiadomość socket_sendto(): unable to write to socket [101]: Network is unreachable in
.
Jak mogę sprawdzić z linii poleceń, czy sieć jest osiągalna i poczekać, jeśli nie jest?
command-line
networking
opensuse
Radek
źródło
źródło
ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss"
. Powoduje to pingowanie serwera jednym pakietem i przechwytywanie danych wyjściowych dla ciągu „0% utraty pakietu”. (spacja przed 0% jest ważna) Jeśli polecenie zwraca wiersz, jesteś połączony, w przeciwnym razie nie jesteś połączony.Odpowiedzi:
ping
na zewnętrznym hoście może zawieść z wielu powodów, z których tylko kilka faktycznie mówi coś przydatnego o stanie twojej sieci.W pierwszym kroku otwórz okno terminala i wpisz
ip route ls
Powinieneś zobaczyć wynik wzdłuż linii
Oznacza to, że twoja sieć lokalna jest połączeniem ethernetowym (
eth0
) z adresem192.168.15.0
i że jej domyślną bramę, przez którą uzyskuje dostęp do reszty Internetu, można znaleźć pod adresem192.168.15.1
.Następnie możesz spróbować znaleźć
ping
ten adres:Jeśli widzisz coś podobnego do powyższego, twoja sieć lokalna jest przynajmniej w porządku. W tym momencie możesz zacząć szukać za pomocą bardziej zaawansowanych narzędzi, takich jak
traceroute
sprawdzanie, gdzie połączenie z miejscem docelowym może nie działać.Jednak po szybkim sprawdzeniu przez Google, co
growl
tak naprawdę powinno być, mam wrażenie, że dzieje się coś innego. Czy możesz rozwinąć swoje pytanie, aby podać nam kilka dodatkowych szczegółów na temat tego, co próbujesz zrobić, w jaki sposób próbujesz to zrobić oraz pełnego wyjścia błędu? Linia, którą nam obecnie podajesz, zostaje nagle odcięta ...źródło
ip route get 1.2.3.4
jest bardziej niezawodny niż tylko robienieip route ls
. Te pierwsze wejdą w życie wszelkie obowiązujące zasady oprócz tras. Eliminuje również możliwość błędnego odczytania tabel routingu.Bardzo prostym i szybkim sposobem jest użycie
ping
polecenia.Możesz po prostu pisać
(lub cnn.com lub jakikolwiek inny host) i sprawdź, czy odzyskasz jakieś dane wyjściowe. Zakłada się, że nazwy hostów można rozwiązać (tzn. Działa dns). Jeśli nie, możesz podać poprawny adres IP / numer zdalnego systemu i sprawdzić, czy można go uzyskać.
Oto strona man pinga .
Aktualizacja :
Jako szybki przykład możesz sprawdzić wartość zwracaną (np. Za pomocą
"echo $?"
),ping
aby sprawdzić, czy polecenie się powiodło (zawsze możesz przesłać dane wyjściowe polecenia do> /dev/nul
). Uwaga: używam-c 1
tutaj, ale możesz użyć więcej.źródło
ping -c 2 -n <other host's IP>
i działaj na kodzie powrotu: jeśli true (0), to ma łączność; jeśli false (1), to nie może rozmawiać z tym komputerem.mtr jest narzędziem podobnym do ping, ale daje więcej informacji, takich jak utrata pakietów, statystyki dotyczące czasów podróży pakietów itp.
źródło