
Ich habe einen kleinen Cluster mit CentOS 7, der aus den Maschinen A, B und C besteht. Es handelt sich um alle separaten physischen Maschinen, die mit demselben LAN verbunden sind.
Maschine A kann B und C anpingen. Maschine B kann A und C anpingen. Maschine C kann jedoch nur Maschine A anpingen.
Mein Problem besteht darin, dass Maschine C keine Ping-Nachricht an Maschine B senden kann. Es wird die Meldung „Zielhost nicht erreichbar“ angezeigt.
Ich habe versucht, den Netzwerk-Switch zu ändern, das Ethernet zu ändern, Firewalls und SELinux auf allen Maschinen zu deaktivieren, aber das Problem besteht immer noch. Ich habe auch die IP-Adresse und die Datei /etc/hosts überprüft, um sicherzustellen, dass sie alle konsistent sind.
Ich frage mich, was ich versuchen könnte, um die Ursache dieses Problems zu diagnostizieren.
Danke !
Antwort1
Pingen Sie nach Computernamen oder nach IP-Adresse, oder ist es in beide Richtungen dasselbe?
Führt einer dieser Computer Routing aus (mehrere Netzwerkkarten)?
Ich gehe davon aus, dass Sie mit der Aussage, dass sie sich im selben LAN befinden, meinen, dass jede Maschine eineder eine und einzigeNetzwerkkarte an denselben Switch angeschlossen ist und dass sich keine Router zwischen ihnen befinden. Ich gehe auch davon aus, dass sie sich im selben logischen IP-Subnetz befinden. Wenn dies nicht stimmt, geben Sie in der Frage bitte weitere Einzelheiten an. Ich habe Grund zu der Annahme, dass diese Annahmen nicht 100 % richtig sind.
Dinge, die Sie ausprobieren sollten:
- Pingen Sie zuerst nach IP-Adresse. Dadurch werden Probleme bei der Namensauflösung ausgeschlossen. Wenn dies erfolgreich ist, liegt wahrscheinlich ein Problem bei der Namensauflösung vor (z. B. ein DNS-Server, der mit der Hosts-Datei nicht einverstanden ist).
- Überprüfen Sie die Subnetzmaske Ihrer Schnittstelle auf jedem Rechner. Wenn sie nicht übereinstimmen, kann dies unter Umständen passieren.
- Überprüfen Sie, ob mehrere Gateways vorhanden sind. Für Maschine C sind möglicherweise mehrere definiert. Dies sollte kein Problem darstellen, wenn sie sich im selben IP-Subnetz befinden. Die MeldungZiel-Host nicht erreichbarbedeutet, dass es die Adresse des Ziels kennt, das es anpingen möchte, es aber mit den definierten Routen nicht erreichen kann.
Es wäre hilfreich, wenn Sie Ihre Routing-Tabelle für jede Maschine bereitstellen könnten, was route -n
unter Linux normalerweise der Fall ist.
Antwort2
Wenn Sie sagen „Zielhost nicht erreichbar“, wie lautet dann die IP-Adresse des Geräts, das dies meldet? Ich meine, in der Ping-Ausgabe erhalten Sie so etwas wie:
Von xxxx icmp_seq=2 Zielhost nicht erreichbar
Was also bedeutet xxxx in dieser Ausgabe? Es handelt sich wahrscheinlich um Cs eigene IP-Adresse, aber es lohnt sich, das zu überprüfen.
Wenn es die eigene Adresse von C ist, bedeutet dies normalerweise, dass B nicht in seiner ARP-Tabelle vorhanden ist und keine Antwort auf eine ARP-Anforderung erhält. Überprüfen Sie zur Bestätigung die Ausgabe von „arp -a“ (während der Ping ausgeführt wird oder unmittelbar nach dem Stoppen des Pings). Zeigt sie eine Zeile mit der IP-Adresse von B und seiner MAC-Adresse, eine Zeile mit der IP von B und „unvollständig“ oder überhaupt keine Zeile mit der IP von B?
Es kann auch hilfreich sein, eine Paketerfassung auszuführen, z. B. mit tcpdump oder wireshark, um zu sehen, was tatsächlich im Netzwerk passiert, wenn Sie den Ping ausführen. Es kann sogar noch nützlicher sein, gleichzeitig zwei Erfassungen auf B und C durchzuführen.