J'ai un contrôleur de processus basé sur Linux qui se verrouille de temps en temps au point où vous ne pouvez pas lui envoyer de requête ping (c.-à-d. Que je peux lui envoyer une requête ping, il ne devient plus pingable sans aucune modification des paramètres réseau).
Je suis curieux de savoir quel processus / système est responsable de la réponse aux pings? Il semble que ce processus se bloque.
Réponses:
La pile réseau du noyau gère les messages ICMP, qui sont ceux envoyés par le
ping
commande.Si vous ne recevez pas de réponses, mis à part des problèmes de réseau ou de filtrage, filtrez-vous avec un hôte, limitez votre cadence de trafic / parcourez les frontières / etc. cela signifie que la machine est probablement surchargée par quelque chose qui peut être transitoire ou le noyau s’être écrasé, ce qui est rare mais peut arriver (matériel défectueux, etc.), pas nécessairement à cause du trafic ICMP (mais en essayant de le surcharger avec ce type de trafic). peut être un bon test au début de la vie d’un serveur pour voir comment il préserve les choses). Dans le dernier cas de plantage du noyau, vous devriez avoir de nombreuses informations dans les fichiers journaux ou sur la console.
Notez également qu’il
ping
s’agit presque toujours du mauvais outil pour vérifier si un service est en ligne ou non. Pour diverses raisons, mais surtout parce qu'il ne reproduit pas, par définition, le trafic réel des applications. Par exemple, si vous devez vérifier qu'un serveur Web est toujours actif, vous devez lui adresser une requête HTTP (port TCP 80 ou 443). Si vous devez vérifier un serveur de messagerie, vous devez effectuer une requête SMTP (port TCP 25), si un serveur DNS, un UDP et une requête TCP sur le port 53, etc.la source
ping
car cela crée beaucoup trop de faux positifs dans le dépannage. Je pense donc que les utilisateurs qui ne savent pas exactement ce que fait le ping et comment il peut donner des résultats trompeurs devraient s'en tenir à autre chose.Il n'y a pas de processus utilisateur qui soit responsable de la réponse aux pings. Ping est juste un utilitaire pour envoyer des paquets d'écho ICMP. Ceux-ci sont reçus et traités par la pile réseau du noyau.
la source
Le noyau lui - même (aucun processus utilisateur) est responsable d'envoyer écho ICMP réponse des messages en réponse à la demande de ICMP messages. Ainsi, si un hôte cesse de répondre aux pings, cela est généralement dû à l'une des raisons suivantes:
la connectivité réseau entre vous et l'hôte auquel vous envoyez une requête ping a peut-être été interrompue. Cela peut être dû à des tonnes de raisons: dommages matériels aux câbles, bruit dans le cas du sans fil, tableaux de route brisés, attaques DDoS, routeurs / commutateurs problématiques entre deux, etc. Dans ce cas, le dépannage commence par en utilisant
ethtool(8)
,iwconfig(8)
,route(8)
,ping(8)
son routeur,tcpdump(8)
etc. sur l' hôte cible.La configuration du pare-feu sur l'hôte cible (ou tout routeur / pare-feu entre vous et l'hôte cible) peut limiter le nombre de pings (ou la quantité de trafic). Cela pourrait également être dû à des outils tels que le
fail2ban(8)
pare-feu à la demande. Voiriptables(8)
pour vérifier.il y a eu un dysfonctionnement logiciel / matériel sur l'hôte cible. Le module de noyau réseau sur l’hôte cible peut avoir une erreur OOPSed et / ou devenir confus, ou même un noyau entier peut avoir PANICked. Vous verrez apparaître des messages
dmesg(8)
sur l'hôte cible ou sur l'écran de la console physique (si l'accès physique n'est pas pratique, un autre ordinateur doté d' une console série peut vous aider.) Si le problème réside dans le noyau OOPS / PANIC, il peut arriver aide, ou vous pouvez vous calmer autour des blocages du système avec leswatchdog(8)
pilotes auxiliaires. Ou vous pouvez changer des pièces de matériel.la source