Primeiro ping após falha no ifup

1

Eu tenho um problema estranho no Debian 8 em um fluxo de trabalho de provisionamento,
as etapas são:

  • O debian é configurado para DHCP (do PXEBoot)
  • Alteração de VLAN no ESX
  • ifdown em eth0
  • reconfigure / etc / network / interfaces com endereço estático
  • ifup em eth0
  • ping -c 1 gateway

O ping do gateway falha, mas se você tentar novamente o ping, ele sempre será bem-sucedido. Você tem alguma idéia sobre por que esses primeiros ping falhar?
Nenhum problema encontrado no Debian 7 ou RHEL 6 (talvez ligado ao systemd?)
(Tentei adicionar 5 segundos - ou 10 segundos - dormir antes do ping)
Obrigado

    
por doctori 30.09.2015 / 16:07

1 resposta

1

Antes de ping poder enviar pacotes ICMP para o host de destino, ele decide primeiro se é um host local ou remoto. De qualquer forma, ele precisará recuperar o endereço MAC do próximo salto, que pode ser o próprio host em uma sub-rede local ou o roteador para um host remoto.

Obtém isto usando o Protocolo de Resolução de Endereços (ARP) que em essência difunde "Quem tem endereço IP abcd? Tell efgh" e espera por uma resposta de "endereço IP abcd está em Endereço MAC ab-cd-ef-gh-ij-kl ". Uma vez que tenha o endereço MAC, ele pode enviar o pacote ICMP.

O atraso que você está enfrentando se deve a esse processo ARP. Você pode informar ping para esperar mais com a opção -W .

ping -W 10 gatway

fará com que espere 10 segundos por uma resposta.

Os dados ARP são armazenados em cache, portanto, os pings subsequentes não precisam seguir esse processo e a resposta é quase instantânea.

    
por 30.09.2015 / 16:20