dhcpd4.service and dhcpd6.service should not point to the same config file. Instead, dhcpd6.service should point to /etc/dhcp/dhcpd6.conf or similar. And i fail to understand why there's the -s switch in dhcpd6.service. Reproducible: Always Workaround : Put this in /etc/systemd/system/dhcpd6.service : [Unit] Description=DHCPv6 Server Daemon Documentation=man:dhcpd(8) man:dhcpd.conf(5) After=network.target After=time-sync.target [Service] ExecStart=/usr/sbin/dhcpd -f -6 -cf /etc/dhcp/dhcpd6.conf -user dhcp -group dhcp --no-pid [Install] WantedBy=multi-user.target
I can confirm this bug. It's a problem if you want to run an instance of dhcpd4 and dhcpd6 at the same time, as both use the same file, but you actually can't have IPv6 directives like subnet6 in the config file for dhcp4 or IPv4 directives in the file for dhcpd6. Both services will fail. The package should ship two versions of dhcp.conf files by default. Additionally I can confirm the bug of the "-s" flag in the systemd dhcpd6.service file. Man page sys: -s address Specify an address or host name to which dhcpd should send replies rather than the broadcast address (255.255.255.255). This option is only supported in IPv4. So, first -s can't work in dhcpd6 and second, using it without an adress doesn't make sense anyway. Please fix. It's simple.
Still present in net-misc/dhcp-4.4.1 /lib/systemd/system/dhcpd6.service : 1. Unnecessary -s switch for dhcpd6 2. Points to wrong config file As a side note, please also have a look at https://bugs.gentoo.org/524686