Dual Stack DHCP clobber each other when using /run/dhcp-server/ for pid files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
isc-dhcp (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
When installing dual stack IPv4 and IPv6 DHCP I found that DHCPv4 and DHCPv6 clobber each others /run/dhcp-server path when you stop or restart one of the daemons
I found that the config in the systemd unit has the /run path set to the same location for both DHCPv4 and DHCPv6
In /lib/systemd/
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-
In /lib/systemd/
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-
This means if you stop/restart DHCPv4 or DHCPv6, then it cleans up the path /run/dhcp-server and removed the pid file for the alternate process.
I have found a possible fix is to give DHCPv6 it's own /run path, thus I suggest:
1) update DHCPv6 to use /run/dhcp-server6/
Update /lib/systemd/
ie.
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-
Now we need to give dhcp access to this path in Apparmor:
2) Update /etc/apparmor.
38d39
/var/
/var/log/ r,
/var/log/** rw,
/{,var/
+ /{,var/
Found in package version:
4.4.1-2ubuntu5
description: | updated |