Saya ingin mengirim growl kepada diri saya sendiri setelah server SuSE menyelesaikan proses booting. Saya mendapat pesan ini socket_sendto(): unable to write to socket [101]: Network is unreachable in
.
Bagaimana saya bisa mengecek dari baris perintah jika jaringan dapat dijangkau dan menunggu kalau-kalau tidak?
command-line
networking
opensuse
Radek
sumber
sumber
ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss"
. Apa yang dilakukan adalah melakukan ping server dengan satu paket, dan menangkap output untuk string "0% packet loss". (ruang sebelum 0% penting) Jika perintah mengembalikan satu baris, Anda terhubung, jika tidak, tidak terhubung.Jawaban:
ping
untuk host luar dapat gagal karena banyak alasan, hanya beberapa yang benar-benar mengatakan sesuatu yang berguna tentang keadaan jaringan Anda sendiri.Sebagai langkah pertama, buka jendela terminal dan ketik
ip route ls
Anda akan melihat output di sepanjang baris
Ini menunjukkan bahwa jaringan lokal Anda adalah koneksi ethernet (
eth0
) dengan alamat tersebut192.168.15.0
, dan bahwa gateway default-nya di mana ia mengakses seluruh internet dapat ditemukan di192.168.15.1
.Selanjutnya, Anda dapat mencoba ke
ping
alamat itu:Jika Anda melihat sesuatu yang mirip dengan yang di atas, jaringan lokal Anda, setidaknya, baik-baik saja. Pada titik ini Anda dapat mulai mencari dengan alat yang lebih canggih seperti
traceroute
untuk melihat di mana koneksi Anda ke tujuan mungkin gagal.Namun, setelah pemeriksaan cepat google dari apa
growl
yang sebenarnya seharusnya saya dapatkan perasaan bahwa ada sesuatu yang salah. Bisakah Anda memperluas pertanyaan Anda untuk memberi kami beberapa detail tentang apa yang Anda coba lakukan, bagaimana Anda mencobanya, dan hasil kesalahan penuh? Garis yang saat ini Anda berikan kepada kami akan terputus tiba-tiba ...sumber
ip route get 1.2.3.4
lebih dapat diandalkan daripada hanya melakukanip route ls
. Yang pertama akan mulai berlaku aturan yang ada di samping rute. Ini juga menghilangkan kemungkinan salah membaca tabel routing.Cara yang sangat sederhana dan cepat adalah dengan menggunakan
ping
perintah.Anda cukup mengetik
(atau cnn.com atau host lain) dan lihat apakah Anda mendapatkan output kembali. Ini mengasumsikan bahwa nama host dapat diselesaikan (mis. Dns berfungsi). Jika tidak, mudah-mudahan Anda dapat memberikan alamat IP / nomor yang valid dari sistem jarak jauh dan melihat apakah itu dapat dihubungi.
Inilah halaman ping man .
Perbarui :
Sebagai contoh cepat, Anda dapat memeriksa nilai kembali (misalnya, dengan
"echo $?"
) dariping
untuk melihat apakah perintah berhasil (Anda selalu bisa mem-pipkan output dari perintah ke> /dev/nul
). Catatan saya gunakan di-c 1
sini, tetapi Anda bisa menggunakan lebih banyak.sumber
ping -c 2 -n <other host's IP>
dan operasikan pada kode kembali: jika benar (0), maka ia memiliki konektivitas; jika false (1), maka itu tidak dapat berbicara dengan mesin itu.mtr adalah alat yang mirip dengan ping tetapi memberi Anda lebih banyak informasi seperti kehilangan paket, statistik waktu perjalanan paket, dll ...
sumber