障害内容

ping監視に失敗することがある

【現象】

  • 複数のNICを備えたサーバの各NICに対し、ping監視を行おうとしたところ、時折リプライが来ないことがある

Warning: Invalid argument supplied for foreach() in /home/valinux/www/valinux/source/htdocs/wp/wp-content/themes/valinux/mvc/view/technologylibrary/case-detail.php on line 106

システム

Red Hat Enterprise Linux AS release 4 Update 4


Warning: Invalid argument supplied for foreach() in /home/valinux/www/valinux/source/htdocs/wp/wp-content/themes/valinux/mvc/view/technologylibrary/case-detail.php on line 106

解析内容

パケットダンプ、ネットワーク設定内容


Warning: Invalid argument supplied for foreach() in /home/valinux/www/valinux/source/htdocs/wp/wp-content/themes/valinux/mvc/view/technologylibrary/case-detail.php on line 106

解析結果

  • ping監視の間隔を、10分から10秒に短くしたところ、再現しなくなったということから、デフォルトルーターに対するARPに問題があるのではないかと推測。通信がある間はARPキャッシュが更新され続けるため問題ないが、通信が途切れてARPキャッシュがエクスパイアした後、サーバが能動的にARP要求を行った場合、何らかの原因でARPリプライが届かず、ping応答が送信できないのではないかと推測。
  • 裏づけのため、パケットダンプを調査。
  • 結果、eth0より、eth1のIPアドレスと、eth0のMACアドレスを送信元とするARPリクエストが出ていることが判明。ルータがARPにうまく答えられなかったと思われる。
  • sysctl変数 net.ipv4.conf.all.arp_announce を1にすることにより解決。

 


Warning: Invalid argument supplied for foreach() in /home/valinux/www/valinux/source/htdocs/wp/wp-content/themes/valinux/mvc/view/technologylibrary/case-detail.php on line 106