Descobri o motivo pelo qual ele solicita um contrato antes que o link esteja pronto. É porque o ifup-dhcp tenta esperar até que a interface esteja pronta antes de chamar o dhcpcd, mas usa a função is_iface_up
que é definida em /etc/sysconfig/network/scripts/functions
, e essa função apenas verifica se eth0 existe antes de retornar um resultado positivo.
Eu também encontrei uma solução (ligeiramente) mais a longo prazo. ifup-dhcp espera por um resultado positivo de is_iface_up e então espera uma quantidade adicional de segundos, conforme definido por DHCLIENT_SLEEP, que pode ser encontrado em / etc / sysconfig / network / dhcp. Definindo DHCLIENT_SLEEP="3", a interface agora tem tempo para ficar pronta antes de o dhcpcd ser chamado, apesar do fato de que is_iface_up retorna muito cedo. Isso também é menos provável de ser espancado por atualizações.