O Systemd possui várias opções que você pode definir no arquivo de unidade de um serviço para proteger diretórios específicos no sistema de arquivos. Isso é feito usando o namespace do sistema de arquivos.
Parece que essa funcionalidade não é suportada em um host inicializado por PXE, portanto, os serviços que precisam dela não serão iniciados.
No caso de systemd-networkd, isso pode ser corrigido desabilitando todas as opções que exigem namespacing.
Primeiro, crie uma cópia do arquivo de serviço. Os arquivos em /etc/systemd
substituirão os padrões em /usr/lib/systemd
:
cp /usr/lib/systemd/system/networkd-systemd.service /etc/systemd/systemd/
Agora edite o /etc/systemd/system/systemd-networkd.service
, removendo a proteção do namespace:
ProtectSystem=no
ProtectHome=no
Por fim, reinicie o daemon:
systemctl restart networkd-systemd
Aviso: isso pode expor os riscos de segurança.