Re: systemd: how to start a service (kea DHCP4) after all network interfaces are up?
On Sat, Mar 16, 2019 at 12:31:50PM +0100, Markus Schönhaber wrote:
> It seems that the DHCP server is started while the interface it is
> configured to listen on is not yet up and therefore refuses to work.
> How can I make sure that the kea-dhcp4-server.service is started no
> sooner than after all network interfaces are up?
1) Make sure the interface is marked "auto" and NOT "allow-hotplug"
in /etc/network/interfaces.
Interfaces that are marked "auto" are required to be up before systemd
will consider network-online.target to be satisfied. Interfaces that
are marked "allow-hotplug" are NOT required to be up.
Note that the Debian installer marks all interfaces except loopback
as "allow-hotplug" because it assumes you're using a laptop with a
Wifi or removable USB network interface, even if the interface is
actually PCI and internal, or even soldered to the motherboard, even
if the machine you're installing on is a desktop PC or a rack-mounted
server.
2) Make sure your service has
[Unit]
Wants= network-online.target
After= network-online.target
either in the native unit file, or in a local drop-in directory.
Services with these options will wait for all network interfaces that
are marked "auto" to be brought up, before these services can be
started.
Don't forget the daemon-reload.
Reply to: