Pingは一方向にしか機能しない

Pingは一方向にしか機能しない

マシン A、B、C で構成される CentOS 7 を実行する小さなクラスターがあります。これらはすべて、同じ LAN に接続された個別の物理マシンです。

マシン A は B と C に ping できます。マシン B は A と C に ping できます。ただし、マシン C はマシン A にのみ ping できます。

問題は、マシン C がマシン B に ping できないことです。宛先ホストに到達できませんと表示されます。

ネットワーク スイッチの変更、イーサネットの変更、すべてのマシンのファイアウォールと SELinux の無効化を試しましたが、問題は解決しません。また、IP アドレスと /etc/hosts ファイルをチェックして、すべてが一貫していることを確認しました。

この問題の原因を診断するために何を試せばよいか考えています。

ありがとう !

答え1

マシン名で ping していますか、それとも IP アドレスで ping していますか、それともどちらの方法でも同じですか?

これらのマシンのいずれかがルーティング (複数の NIC) を実行していますか?

同じLAN上にあると言うのは、各マシンが唯一のネットワーク カードが同じスイッチに接続されており、それらの間にルーターがないことを前提としています。また、それらは同じ論理 IP サブネット上にあると想定しています。これが間違っている場合は、質問に詳細を記入してください。これらの想定は 100% 正確ではないと考える理由があります。

試してみること:

  • まず IP アドレスで ping を実行します。これにより、名前解決の問題が排除されます。これが成功した場合は、名前解決の問題があると考えられます (DNS サーバーがホスト ファイルと一致していないなど)。
  • 各マシンのインターフェースのサブネット マスクを確認してください。一致しない場合は、状況によってはこの問題が発生する可能性があります。
  • 複数のゲートウェイをチェックしてください。マシンCには複数のゲートウェイが定義されている可能性があります。同じIPサブネット上にある場合は問題にはなりません。メッセージ宛先ホストに到達できませんこれは、ping しようとしているアドレスを認識しているが、定義されているルートではそこに到達できないことを意味します。

各マシンのルーティング テーブルを提供していただければ助かります。これは通常route -nLinux で行われます。

答え2

「宛先ホストに到達できません」と表示される場合、これを報告するデバイスの IP アドレスは何ですか? つまり、ping 出力では次のようなものが表示されます。

xxxx icmp_seq=2 から宛先ホストに到達できません

では、その出力の xxxx とは何でしょうか? おそらく C 自身の IP アドレスですが、確認する価値はあります。

それが C 自身のアドレスである場合、これは通常、ARP テーブルに B が含まれておらず、ARP 要求に対する応答を受け取っていないことを意味します。確認するには、「arp -a」の出力をチェックします (ping の実行中、または ping を停止した直後)。B の IP アドレスと MAC アドレスの行、B の IP と「不完全」の行、または B の IP の行がまったく表示されません。

また、ping を実行したときにネットワーク上で実際に何が起こっているかを確認するには、tcpdump や wireshark などを使用してパケット キャプチャを実行することも役立つ場合があります。B と C で同時に 2 つのキャプチャを取得すると、さらに役立つ場合があります。

関連情報