Portanto, tenho o mesmo dilema com uma unidade cifs de montagem remota que precisa ser montada via FQDN do DNS em vez de IP. Eu tentei um monte de coisas, mas até agora eu tenho que concordar com a solução de Brando (curto de escrever um serviço Systemd inteiro e puxá-lo antes do .mount ou network-online.target).
A única alternativa para Brando que eu encontrei (que realmente funciona na prática, ao invés de apenas em teoria nas man pages) é golpear a mosca com uma marreta, e colocar um ExecStartPre = em systemd-networkd-wait-online.service:
[Service]
...
ExecStartPre=/bin/sleep 15
Se você estiver interessado, você também pode acrescentar ao ExecStart = usando - interface = nome_da_interface (e opcionalmente --timeout = ). Isso ajuda porque eu tenho uma sub-interface vlan, mas o wait-online estava apenas rastreando o primeiro de qualquer interface (excluindo o loop) que viria online. Por si só, não resolveu o problema.
Eu pensei em usar -o _netdev dentro da definição de montagem do / etc / fstab que iria consertar (e em teoria nas unidades remotas do Systemd esperar pela rede online. alvo por padrão), mas, infelizmente, não há dados. Listar as dependências do arquivo mnt-remote.mount resultante mostra que network-online.target é um precursor, mas o DNS ainda falha. A execução manual da inicialização do posto de serviço funciona bem, estou apenas me ferrando com algum tipo de condição de corrida entre o destino chegando e o DNS realmente resolvendo antes do processo de montagem acontecer. Isso e o fato de que a definição de uma interface 'online' varia de pessoa para pessoa e caso a caso (meu caso de uso requer DNS, outros obviamente não o são - um tópico que é amplamente abordado no FreeDesktop: link ).
A solução de Brando é mais elegante. Este também precisa testar um erro para minimizar o tempo de inatividade, mas ainda assim ele funcionará de forma confiável, sujeito ao tempo que o DHCP / DNS / NIC demora para resolver tudo.
Eu uso isso como uma solução inferior, para o caso do Brando não funcionar para você por algum motivo.
Outra solução seria digitar uma entrada no arquivo de hosts locais, mas eu não estava interessado em fazer isso para um caso em que o IP para o FQDN muda em uma base relativamente freqüente (problema semelhante com apenas montá-lo usando o IP em primeiro lugar).