Ich habe einen Linux-basierten Prozess-Controller, der gelegentlich bis zu dem Punkt blockiert, an dem Sie kein Ping mehr durchführen können (dh, ich kann ein Ping durchführen, ohne dass Änderungen an den Netzwerkeinstellungen vorgenommen werden müssen).
Ich bin gespannt, welcher Prozess / welches System dafür verantwortlich ist, tatsächlich auf Pings zu reagieren. Es scheint, dass dieser Prozess abstürzt.
network-interface
ping
icmp
Izzo
quelle
quelle
Antworten:
Der Kernel-Netzwerkstapel verarbeitet ICMP-Nachrichten, die vom
ping
Befehl gesendet werden .Wenn Sie keine Antworten erhalten, außer Netzwerkproblemen oder Filtern und hostbasiertem Filtern / Ratenbegrenzung / Black-Holing / etc. Dies bedeutet, dass die Maschine wahrscheinlich von etwas überlastet ist, das vorübergehend sein kann, oder dass der Kernel abgestürzt ist, was selten vorkommt, aber passieren kann (fehlerhafte Hardware usw.), und zwar nicht unbedingt aufgrund des ICMP-Verkehrs (aber des Versuchs, ihn mit solchem Verkehr zu überlasten) kann ein guter Test zu Beginn eines Serverlebens sein, um zu sehen, wie es die Dinge stützt). Im späteren Fall eines Kernel-Absturzes sollten Sie reichlich Informationen in den Protokolldateien oder auf der Konsole haben.
Beachten Sie auch, dass dies
ping
fast immer das falsche Tool ist, um zu überprüfen, ob ein Dienst online ist oder nicht. Aus verschiedenen Gründen, vor allem aber, weil es per Definition keinen echten Anwendungsverkehr nachahmt. Wenn Sie beispielsweise überprüfen möchten, ob ein Webserver noch aktiv ist, sollten Sie stattdessen eine HTTP-Abfrage durchführen (TCP-Port 80 oder 443). Wenn Sie einen Mailserver überprüfen möchten, führen Sie eine SMTP-Abfrage durch (TCP-Port 25) einen DNS-Server, eine UDP- und eine TCP-Abfrage an Port 53 usw.quelle
ping
da dies bei der Fehlerbehebung viel zu viele Fehlalarme hervorruft. Daher denke ich, dass Benutzer, die nicht genau wissen, was Ping bewirkt und wie es zu irreführenden Ergebnissen führen kann, bei etwas anderem bleiben sollten.Es gibt keinen Userland-Prozess, der für die Beantwortung von Pings verantwortlich ist. Ping ist nur ein Dienstprogramm zum Senden von ICMP-Echopaketen. Diese werden vom Netzwerkstapel des Kernels empfangen und verarbeitet
quelle
Der Kernel selbst (kein Benutzerprozess) ist dafür verantwortlich, ICMP-Echoantwortnachrichten als Antwort auf ICMP-Echoanforderungsnachrichten zu senden. Wenn ein Host nicht mehr auf Pings reagiert, hat dies normalerweise folgende Gründe:
Möglicherweise wurde die Netzwerkverbindung zwischen Ihnen und dem angeforderten Host unterbrochen. Dies kann unzählige Gründe haben: Beschädigung der Kabel, Rauschen bei drahtlosen Verbindungen, defekte Routentabellen, DDoS-Angriffe, problematische Router / Switches dazwischen usw. In diesem Fall können Sie mit der Fehlerbehebung beginnen mit
ethtool(8)
,iwconfig(8)
,route(8)
,ping(8)
seine Router,tcpdump(8)
usw. auf Ziel - Host.Die Firewall-Einstellung auf dem Zielhost (oder einem Router / einer Firewall zwischen Ihnen und dem Zielhost) kann die Anzahl der Pings (oder den Datenverkehr) begrenzen. Es könnte auch an Tools liegen, wie z. B.
fail2ban(8)
Firewall- Tools bei Bedarf. Sieheiptables(8)
zu überprüfen.Auf dem Zielhost ist ein Software- / Hardwarefehler aufgetreten. Das Netzwerk-Kernel-Modul auf dem Ziel-Host ist möglicherweise überlastet und / oder verwirrt, oder sogar der gesamte Kernel ist möglicherweise überlastet. Sie sehen Meldungen über at in
dmesg(8)
auf dem Zielhost oder als Bildschirmausgabe auf der physischen Konsole (wenn der physische Zugriff nicht möglich ist, kann ein anderer Computer mit serieller Konsole Abhilfe schaffen.) Wenn das Problem in Kernel-OOPS / PANIC besteht, kann es sein, dass ein neuerer Kernel mit besseren Treibern verwendet wird Hilfe, oder Sie könnten die Systemabstürze mit Hilfstreibern umgehenwatchdog(8)
. Oder Sie können Hardware-Teile ändern.quelle