ifup失敗後の最初のping

ifup失敗後の最初のping

Debian 8の設定ワークフローに奇妙な問題があります。
手順は次のとおりです。

  • Debian には DHCP が設定されています (PXEBoot から)
  • ESXのVLANの変更
  • eth0のifdown
  • 静的アドレスに/etc/network/interfacesを再構成する
  • eth0の場合
  • ping -c 1 ゲートウェイ

ゲートウェイのpingは失敗しますが、再試行するとpingは常に成功します。最初のpingがなぜ失敗したのかご存知ですか?
Debian 7またはRHEL 6で問題は発生しませんでした(おそらくsystemdに関連していますか?)
(pingを送信する前に5〜10秒の節電時間を追加してみました)。
ありがとう

ベストアンサー1

pingICMP パケットを宛先ホストに送信する前に、まずそのホストがローカルホストかリモートホストかを確認します。いずれにしても、次ホップのMACアドレスを検索する必要があります。これは、ローカルサブネットのホスト自体でもリモートホストのルーターでもあります。

本質的にブロードキャストであるARP(アドレス確認プロトコル)を使用してこの情報を取得します。「誰がIPアドレスabcdを持っていますか?efghに教えてください」そして返信を待って「IP アドレス abcd は、MAC アドレス ab-cd-ef-gh-ij-kl にあります。」。 MAC アドレスを取得すると、ICMP パケットを送信できます。

あなたが経験している遅延は、このARPプロセスによって引き起こされます。このオプションを使用すると、pingより長く待つことを指定できます-W

ping -W 10 gatway

応答のために10秒待ちます。

ARPデータはキャッシュされるため、後続のpingはこのプロセスに従う必要はなく、応答はほぼ即時です。

おすすめ記事