OK, acho que consertei esse problema. E é um bug no gerenciador de redes do Linux.
Veja, o gerenciador de rede é executado como parte do processo de inicialização (que seria o link simbólico 'S50NetworkManager') e exibe suas interfaces Ethernet. No entanto, faz isso de forma assíncrona. Isso significa que o gerenciador de rede retorna imediatamente, sugerindo aos scripts depois dele, "OK - a rede foi configurada". Na verdade, não, e o gerente da rede está sentado em segundo plano, continuando a configurar a rede. Enquanto isso, os scripts de inicialização são executados com a suposição de que as interfaces de rede estarão disponíveis, o que é uma condição de corrida, dependendo de o gerente de rede ter conseguido configurá-las ainda.
Esta é uma situação horrível e um bug que estou espantado não foi corrigido. Uma maneira de contornar isso é eliminar o gerenciador de rede e, em vez disso, configurar suas interfaces editando / etc / network / interfaces. Em vez de fazer esse trabalho, no entanto, eu tentei o hack feio sugerido neste relatório de bug: link
Eu adicionei um atraso de 5 segundos ('sleep 5') no início da função start no script init.d do dhcp3-server, isso dando ao gerenciador de rede tempo suficiente para configurar as interfaces de rede (embora, é claro, ainda não é garantia) - e funcionou. Agora, o dhcpd é bem-sucedido na inicialização.
Como detalhado nos bugs # 486372 e # 447442 no bugzilla.redhat.com, isso é um bug com o gerenciador de rede (ele deve bloquear até que suas interfaces de rede com fio estejam disponíveis) ou com o dhcpd (ele deve ser atualizado para aguardar para que as interfaces de rede fiquem disponíveis, em vez de simplesmente ficarem fora do ar). É definitivamente um tipo de bug, no entanto.