Device on DHCP takes Pi-Hole IP Address and Network stops

once every 2 weeks or so, my network stops responding because a device on the network takes the IP Address of my Pi-Hole server, essentially stopping Pi-hole from giving addresses. In my Syslog I see

07:30:48 dhcpcd[446]: eth0: hardware address x:x:x:x:1b:f4 claims 192.168.0.6
07:30:48 dhcpcd[446]: eth0: hardware address x:x:x:x:1b:f4 claims 192.168.0.6
07:30:48 dhcpcd[446]: eth0: 10 second defence failed for x.x.0.6
07:30:48 dhcpcd[446]: eth0: deleting route to x.x.0.0/24
07:30:48 dhcpcd[446]: eth0: deleting default route via x.x.0.1
07:30:48 dhcpcd[446]: eth0: probing address x.x.0.6/24
07:30:55 dhcpcd[446]: eth0: using static address x.x.0.6/24
07:30:55 dhcpcd[446]: eth0: adding route to x.x.0.0/24
07:30:55 dhcpcd[446]: eth0: adding default route via x.x.0.1
07:32:06 dhcpcd[446]: eth0: hardware address x:x:x:x:x:09 claims x.x.0.6

And in the pi hole log if I grep for the same time period

07:30:48 dnsmasq-dhcp[3201]: DHCPDISCOVER(eth0) x:x:x:x:1b:f4
07:30:48 dnsmasq-dhcp[3201]: DHCPOFFER(eth0) x.x.0.142 x:x:x:x:1b:f4
07:30:48 dnsmasq-dhcp[3201]: DHCPDISCOVER(eth0) x:x:x:x:1b:f4
07:30:48 dnsmasq-dhcp[3201]: DHCPOFFER(eth0) x.x.0.142 x:x:x:x:1b:f4
07:30:48 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:48 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:48 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:48 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:49 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:49 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:51 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:51 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:51 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:51 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:51 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:52 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:53 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:53 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:54 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:54 dnsmasq-dhcp[3201]: DHCP packet received on eth0 which has no address
07:30:55 dnsmasq-dhcp[3201]: DHCPREQUEST(eth0) x.x.0.142 x:x:x:x:1b:f4
07:30:55 dnsmasq-dhcp[3201]: DHCPACK(eth0) x.x.0.142 x:x:x:x:1b:f4 tapo-grg2

This was happening with 5 devices, 4 ring devices and 1 Tapo. Put static iP addresses on the 4 ring devices to stop them but the Tapo device has started taking the Pi-Hole IP Address.

Running:
Core version is v6.1.2 (Latest: v6.1.3)
Web version is v6.2.1 (Latest: v6.2.1)
FTL version is v6.2.3 (Latest: v6.2.3)
Model : Raspberry Pi 4 Model B Rev 1.2
DHCP range x.x.0.50 - x.x.0.250

Why would a DHCP device take the servers IP Address? I shouldn't really have to put static IP Addresses on devices but don't understand why any device would take an address of a server expecially when the IP is out of the DHCP range

You can't have multiple DHCP servers on the same network segment, and any segment that is managed by DHCP can not have clients on the network segment that set their IP addresses statically or manually in the same address space that is manage by the DHCP server.

The first output is from the dhcpcd process which used to be how Raspberry Pi's OS managed IP addressing. That was changed a while ago to use a standard network management daemon so I'm not sure why dhcpcd is still running. Is dhcpcd running on the same server as Pi-hole?

I only have one DHCP server (pihole) and all my static addresses are below x.x.0.50.

dhcpcd is running and dhcpcd.conf has my pihole IP addresses.

The syslog output is showing that somebody else on the network has taken the IP Address of my PiHole server and disrupts pihole and while its down nobody can access anything - It recovered (this time)... The Pi Hole log shows the device asking for an address and PiHole offers the right address but it seems the device takes PiHole servers address... I don't understand why it would take the IP Address of the DHCP server.

All you really have to do is assign a DHCP reservation with the pi-hole's IP address to it's MAC address. Then it will never give out it's own address. Alternatively, you could change the DHCP pool/pi-hole IP in a way where it will never be able to give it's own IP eg: router = 192.168.1.1 pihole = 192.168.1.2 pihole DHCP range = 192.168.1.3-192.168.1.254

This could be considered a bug too, depending on how you look at it. Maybe it might be worth creating an issue on github.

I doubt that would change anything - according to the shared Pi-hole logs, Pi-hole is handing out .142, not its own .6, and the shared sys logs would suggest that during that time frame, the Tapo device is claiming that .6 IP all by itself, disregarding the DHCP exchange.

Is that a Tapo Camera?
Some models seem to sport a 'feature' that would (re)configure a static IP upon detecting other RTSP/ONVIF protocol traffic, see e.g. Tapo C500 enabling static IP by itself and changing the IP - Smart Home Community.

1 Like

Its a Tapo plug and doesn't let me set a static IP... I have already set a DHCP reservation (as I need it to be the same IP for Homebridge)

Range is already set to .50 - .250 so my server is out of the range of DHCP and I already have a reservation on it.... I think it is a bug but dont know whether it is Tapo and Ring or Pi Hole! Was trying to see if anybody else had seen this