I'm using systemd-networkd to configure my interfaces:
[Match] Name=enp3s0 [Network] DHCP=v4
It works quite well except that at boot, some services are not waiting for DHCP to finish. For instances my NFS-mounted directories and nginx fail because there is no network at the time they boot.
Is there a way to force network.target to wait for DHCP?
Note from the editor. According to the documentation:
Many network management solutions provide a way to unconditionally pull in network-online.target, and thus upgrading the effect of network.target to the effect of network-online.target.
If you use systemd-networkd you can do this by enabling systemd-networkd-wait-online.service:
systemctl enable systemd-networkd-wait-online.service
However I tried this and it did not make services depending on
network.target wait for DHCP. It only made services which explicitly depend on
network-online.target wait for DHCP, and in fact it is required to make that work.