マシンA、B、Cで構成されるcentos 7を実行している小さなクラスターがあります。これらはすべて、同じLAN上で接続された個別の物理マシンです。
マシンAはBとCにpingできます。マシンBはAとCにpingできます。ただし、マシンCはマシンAにしかpingできません。
私の問題は、マシンCがマシンBにpingできないことです。宛先ホストに到達できませんと表示されます。
ネットワークスイッチの変更、イーサネットの変更、すべてのマシンでファイアウォールとSELinuxの無効化を試みましたが、それでも問題は解決しません。また、IPアドレスと/ etc/hostsファイルをチェックして、それらがすべて一貫していることを確認しました。
この問題の原因を診断するために何ができるのだろうかと思っています。
ありがとうございました !
マシン名またはIPアドレスでpingを実行しますか、それとも両方の方法で同じですか?
これらのマシンのいずれかがルーティング(複数のNIC)を実行していますか?
同じLAN上にあると言うときは、各マシンが同じスイッチに接続された1つだけネットワークカードを使用していて、それらの間にルーターがないことを意味すると思います。 。また、それらが同じ論理IPサブネット上にあると想定しています。これが正しくない場合は、質問に詳細を記入してください。私はこれらの仮定が100%正しくないと信じる理由があります。
試すべきこと:
Linuxでは通常route -n
で実行される、各マシンのルーティングテーブルを提供できれば便利です。
「宛先ホストに到達できません」と言う場合、これを報告するデバイスのIPアドレスは何ですか。つまり、ping出力では、次のようになります。
X.x.x.xからicmp_seq = 2宛先ホストに到達できません
では、その出力のx.x.x.xは何ですか?おそらくC自身のIPアドレスですが、確認する価値があります。
それがC自身のアドレスである場合、これは通常、ARPテーブルにBがなく、ARP要求への応答を取得していないことを意味します。確認するには、「arp -a」の出力を確認します(pingの実行中、またはpingの停止直後)。BのIPアドレスとそのMACアドレスの行、BのIPと「不完全」またはBのIPとの行がまったくありませんか?
また、たとえば、を使用してパケットキャプチャを実行することも役立ちます。 tcpdumpまたはwiresharkを使用して、pingの実行時にネットワークで実際に何が発生しているかを確認します。 BとCで同時に2つのキャプチャを取得する方がさらに便利な場合があります。