Recently, after an EdgeOS upgrade, I started to see intermittent DHCP timeouts from my UniFi controller, mostly from new clients. Then after flushing the DHCP lease, all devices are unable to obtain an IP address, indicating a problem with the DHCP server.
The EdgeOS GUI does not provide a status indicator about DHCP server, so I have to use the CLI. First, I tried to start the DHCP service by using this command.
sudo service dhcpd start
But it errors out. To continue, I looked in the following log files:
cat /var/log/messages
cat /var/log/vyatta/vyatta-commit.log
I found the following log lines:
Jan 10 20:15:19 Chicago dhcpd3: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Jan 10 20:15:19 Chicago systemd[1]: vyatta-dhcpd.service: Control process exited, code=exited status=1
Jan 10 20:15:19 Chicago dhcpd3: /opt/vyatta/etc/dhcpd.conf line 58: host Samsung: already exists
Jan 10 20:15:19 Chicago systemd[1]: Failed to start EdgeOS DHCP Server.
So the problem is that I have multiple VLANs and separate DHCP server for each of them. My Samsung device has static mappings in multiple DHCP servers. It breaks the DHCP configuration after an EdgeOS upgrade. I removed the offending DHCP static mappings using the EdgeOS GUI and started DHCP server:
sudo service dhcpd start
And clients can now obtain IP addresses in my network.
Further Reads
This is the post series. Other posts can be found under HomeNetwork tag.