Eu encontrei a resposta para o problema! O problema é que o processo de inicialização está tentando iniciar o serviço DHCP enquanto a rede está sendo inicializada / configurada e, portanto, o DHCP não consegue encontrar uma interface de trabalho para vincular. É por isso que sempre funcionou quando eu executei o serviço start dhcpd manualmente e não trabalhei na inicialização.
Encontrei uma pista para a resposta desta postagem: dhcp no arch linux - rasp-pi . O usuário usou uma declaração de reinicialização no arquivo de unidade, o que fez o serviço repetir a cada 6 segundos até que o serviço estivesse ativo. - Essa solução temporária funcionou para mim também.
Eu conheci o site do systemd nos alvos especiais e encontrei este link para executar serviços depois que a rede estiver ativa . A partir das recomendações desta página, fiz os seguintes ajustes:
- No arquivo da unidade dhcpd4 @ .service, eu removi o
Before=...
, altereiAfter
paraAfter=network-online.target
e altereiWants
paraWants=network-online.target
- também ativei o
systemd-networkd-wait-online.service
para iniciar na inicialização.
Agora funciona na inicialização! No entanto, a página de recomendações diz que ativar systemd-networkd-wait-online.service
reduz o tempo de inicialização e pode ser executado em 90 segundos (se eu tiver lido corretamente). Embora eu tenha notado apenas 1 ou 2 segundos de aumento no tempo de inicialização no meu caso.