Saya memiliki pengontrol proses berbasis Linux yang kadang-kadang mengunci sampai titik di mana Anda tidak dapat melakukan ping (yaitu saya dapat melakukan ping, maka ia tidak lagi dapat di-ping tanpa modifikasi pengaturan jaringan).
Saya ingin tahu, proses / sistem apa yang bertanggung jawab untuk benar-benar merespons ping? Tampaknya proses ini macet.
network-interface
ping
icmp
Izzo
sumber
sumber
Jawaban:
Tumpukan jaringan kernel sedang menangani pesan ICMP, yang dikirim oleh
ping
perintah.Jika Anda tidak mendapatkan balasan, selain masalah jaringan atau pemfilteran, dan pemfilteran berbasis host / pembatasan-batas / black-holing / dll. itu berarti mesin mungkin kelebihan beban oleh sesuatu, yang bisa sementara, atau kernel crash, yang jarang terjadi tetapi dapat terjadi (perangkat keras rusak, dll.), belum tentu karena lalu lintas ICMP (tetapi mencoba untuk membebani itu dengan lalu lintas seperti itu) bisa menjadi ujian yang baik di awal kehidupan server untuk melihat bagaimana hal itu menopang hal-hal). Dalam kasus kernel crash nanti, Anda harus memiliki informasi yang cukup di file log atau di konsol.
Perhatikan juga itu
ping
hampir selalu alat yang salah untuk memeriksa apakah suatu layanan online atau tidak. Untuk berbagai alasan, tetapi sebagian besar karena tidak meniru lalu lintas aplikasi nyata, menurut definisi. Misalnya jika Anda perlu memeriksa bahwa server web masih hidup, Anda harus melakukan permintaan HTTP untuk itu (TCP port 80 atau 443), jika Anda perlu memeriksa server surat Anda melakukan permintaan SMTP (TCP port 25), jika server DNS, UDP, dan permintaan TCP ke port 53, dll.sumber
ping
karena hal ini menciptakan terlalu banyak kesalahan positif dalam pemecahan masalah, jadi saya pikir pengguna tidak tahu persis apa yang ping dan bagaimana bisa memberikan hasil yang menyesatkan harus menempel pada hal lain.Tidak ada proses userland yang bertanggung jawab untuk merespons ping. Ping hanyalah sebuah utilitas untuk mengirim paket gema ICMP. Ini diterima dan diproses oleh tumpukan jaringan kernel
sumber
Kernel itu sendiri (bukan proses pengguna apa pun) bertanggung jawab untuk mengirim pesan balasan gema ICMP sebagai respons terhadap pesan permintaan gema ICMP . Jadi, jika tuan rumah berhenti merespons ping, biasanya karena beberapa alasan berikut:
konektivitas jaringan antara Anda dan host yang sedang di-ping mungkin terputus. Bisa jadi karena banyak alasan itu sendiri: kerusakan fisik pada kabel, kebisingan dalam kasus nirkabel, tabel rute yang rusak, Anda berada di bawah serangan DDoS, router / switch bermasalah di antara dll. Anda akan mulai memecahkan masalah dalam kasus ini dengan menggunakan
ethtool(8)
,iwconfig(8)
,route(8)
,ping(8)
router nya,tcpdump(8)
dsb di host target.pengaturan firewall pada host target (atau router / firewall di antara Anda dan host target) mungkin membatasi jumlah ping (atau jumlah lalu lintas lalu lintas). Bisa juga karena alat seperti
fail2ban(8)
firewall hal-hal sesuai permintaan. Lihatiptables(8)
untuk memeriksa.telah terjadi kerusakan perangkat lunak / perangkat keras pada host target. Modul kernel jaringan pada host target mungkin telah OOPS dan / atau menjadi bingung, atau bahkan seluruh kernel mungkin memiliki PANICked. Anda akan melihat pesan tentang in in
dmesg(8)
pada host target, atau sebagai output layar pada konsol fisik (jika akses fisik tidak praktis, mesin lain dengan konsol serial dapat membantu.) Jika kernel OOPS / PANIC adalah masalahnya, kernel yang lebih baru dengan driver yang lebih baik mungkin bantuan, atau Anda bisa menyelinap di sekitar penguncian sistem denganwatchdog(8)
dan driver pembantu. Atau Anda dapat mengubah bagian perangkat keras.sumber