Re: systemd: how to start a service (kea DHCP4) after all network interfaces are up?
Greg Wooledge, 18.3.2019 13:30 +0100:
> 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.
1) and 2) was already the case on my machine. Nevertheless the service
was started before the needed interface was up.
That's why I asked in the first place.
Judging from the info in the other answers I got, it's obviously known
that 1) and 2) are *not* enough to make sure the start of such a service
is delayed until the required interfaces are up.
--
Regards
mks
Reply to: