As interfaces de rede são ativadas somente depois que a tarefa networking
é executada na sequência inicial. Você pode ver na configuração da tarefa em /etc/init/networking.conf
que a única coisa que faz é executar ifup -a
.
Eu consertei a seqüência de inicialização removendo os links simbólicos isc-dhcp-server das pastas /etc/rc?.d
e adicionando uma nova tarefa para o upstart. A única coisa que você precisa fazer é adicionar um arquivo de configuração /etc/init/dhcp_start.conf
e editá-lo para algo como isto:
iniciar na rede interrompida
exec /etc/init.d/isc-dhcp-server start
É um truque desagradável, mas funciona. Você também pode adicionar outra tarefa para desligar gentilmente o dhcpd em outro evento, como para minha rede:
iniciar na interface bridge-network-br0 interrompida
exec /etc/init.d/isc-dhcp-server stop
Eu encontrei outro lugar que as pessoas dizem para iniciar o dhcp na rede iniciada, em vez de interromper a rede. Está essencialmente errado, já que as interfaces são configuradas somente depois que o comando ifup -a
sai e não quando é trazido à vida. Só funcionou para eles acidentalmente, porque executar o ifup em paralelo ao dhcp foi muito rápido para terminar.