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
ping
ICMP パケットを宛先ホストに送信する前に、まずそのホストがローカルホストかリモートホストかを確認します。いずれにしても、次ホップの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はこのプロセスに従う必要はなく、応答はほぼ即時です。