1 votes

Le ping ne fonctionne que dans une seule direction

J'ai un petit cluster fonctionnant sous centos 7 composé des machines A, B et C. Ce sont toutes des machines physiques distinctes connectées sur le même réseau local.

La machine A peut envoyer un ping à B et C. La machine B peut envoyer un message à A et C. Cependant, la machine C peut uniquement envoyer un message à la machine A.

Mon problème est que la machine C ne peut pas envoyer de ping à la machine B. Le message "Destination Host Unreachable" s'affiche.

J'ai essayé de changer le commutateur réseau, de changer l'Ethernet, de désactiver les pare-feu et SELinux sur toutes les machines et le problème persiste. J'ai également vérifié l'adresse IP et le fichier /etc/hosts pour m'assurer qu'ils sont tous cohérents.

Je me demande ce que je pourrais essayer pour aider à diagnostiquer la cause de ce problème.

Merci !

1voto

GuitarPicker Points 1397

L'interrogation se fait-elle par le nom de la machine ou par l'adresse IP, ou est-ce la même chose dans les deux cas ?

Est-ce que l'une de ces machines effectue du routage (plusieurs NICs) ?

Je suppose que lorsque vous dites qu'elles sont sur le même réseau local, vous voulez dire que chaque machine utilise une le seul et unique carte réseau attachée au même commutateur, et qu'il n'y a pas de routeurs entre eux. Je suppose également qu'ils se trouvent sur le même sous-réseau IP logique. Si cela est incorrect, veuillez donner plus de détails dans la question. J'ai des raisons de croire que ces hypothèses ne sont pas correctes à 100%.

Des choses à essayer :

  • Effectuez d'abord un ping par adresse IP. Cela permet d'exclure les problèmes de résolution de nom. Si cette opération réussit, vous avez probablement un problème de résolution de nom (comme un serveur DNS en désaccord avec le fichier hosts).
  • Vérifiez le masque de sous-réseau de votre interface sur chaque machine. S'ils ne correspondent pas, cela peut arriver dans certaines circonstances.
  • Vérifiez s'il y a plusieurs passerelles. La machine C peut en avoir plus d'une définie. Cela ne devrait pas poser de problème si elles se trouvent sur le même sous-réseau IP. Le message L'hôte de destination est inac inac l l'hôte de destination implique qu'il connaît l'adresse de ce qu'il essaie d'appeler, mais qu'il n'arrive pas à l'atteindre avec les routes définies.

Il serait utile que vous fournissiez votre table de routage pour chaque machine, ce qui est typiquement fait avec route -n sur Linux.

1voto

hertitu Points 306

Quand vous dites "Il dit Destination Host Unreachable", quelle est l'adresse IP de l'appareil qui signale cela ? Ce que je veux dire, c'est que dans le résultat du ping, vous obtenez quelque chose comme :

De x.x.x.x icmp_seq=2 Destination Host Unreachable

Alors, quel est le x.x.x.x dans cette sortie ? C'est probablement la propre adresse IP de C, mais cela vaut la peine de vérifier.

S'il s'agit de la propre adresse de C, cela signifie généralement que B ne figure pas dans sa table ARP et qu'il ne reçoit pas de réponse à une requête ARP. Pour confirmer, vérifiez la sortie de "arp -a" (pendant que le ping est en cours, ou immédiatement après l'avoir arrêté), montre-t-elle une ligne avec l'adresse IP de B et son adresse MAC, une ligne avec l'IP de B et "incomplet" ou aucune ligne avec l'IP de B ?

Il peut également être utile d'effectuer une capture de paquets en utilisant par exemple tcpdump ou wireshark pour voir ce qui se passe réellement sur le réseau lorsque vous exécutez le ping. Il peut être encore plus utile d'obtenir 2 captures sur B et C en même temps.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X