Debug Token: https://tricorder.pi-hole.net/R3xGptDa/
Over the weekend I wanted to play with Raspberry Pi clusters. I purchased a ClusterHat which I've put on a raspberry Pi 4 and I have some old Model 3s laying around. For clarity, there are other RPis on my network but they all have manually assigned IP addresses. I also have other devices like laptops, phones, TVs and so on - the usual stuff everyone has.
I also definitely only have one DHCP server. If I disable the PiHole DHCP server nothing can get an address.
There are two specific behaviours, probably related, that are giving me problems. First one is this
Sep 30 20:55:22 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.54 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:00:26 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.54 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:00:27 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.54 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:00:43 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:00:50 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:05:58 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:11:16 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:11:16 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:16:37 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:16:37 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:21:57 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:22:01 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:27:11 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:27:18 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:32:40 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:37:51 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:37:52 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.59 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:38:04 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.82 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:38:04 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.82 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:43:34 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.82 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:48:43 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.82 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:53:55 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.82 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:53:56 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.82 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:54:08 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.93 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:54:08 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.93 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:59:27 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.93 dc:a6:32:7d:c2:57 cbridge
Sep 30 21:59:27 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.93 dc:a6:32:7d:c2:57 cbridge
Sep 30 22:04:37 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.93 dc:a6:32:7d:c2:57 cbridge
Sep 30 22:04:39 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.93 dc:a6:32:7d:c2:57 cbridge
Over the space of an hour this Pi had 4 different IP addresses. This is the RPi 4 but the others do this as well. Here's an example:
16:49:45 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.161 b8:27:eb:7e:02:3c node3
16:49:53 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.163 b8:27:eb:7e:02:3c node3
16:50:01 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.165 b8:27:eb:7e:02:3c node3
16:55:00 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.165 b8:27:eb:7e:02:3c node3
16:55:02 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.165 b8:27:eb:7e:02:3c node3
16:55:10 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.168 b8:27:eb:7e:02:3c node3
17:00:21 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.43 b8:27:eb:7e:02:3c node3
17:00:25 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.168 b8:27:eb:7e:02:3c node3
17:00:34 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.174 b8:27:eb:7e:02:3c node3
17:05:41 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.174 b8:27:eb:7e:02:3c node3
17:05:43 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.174 b8:27:eb:7e:02:3c node3
17:05:51 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.180 b8:27:eb:7e:02:3c node3
For verification, here's an example - my laptop not doing this
00:36:34 dnsmasq-dhcp[627]: DHCPACK(eth0) 192.168.1.130 f8:e4:3b:5c:c1:9c Steves-MBP
11:49:38 dnsmasq-dhcp[627]: DHCPACK(eth0) 192.168.1.130 f8:e4:3b:5c:c1:9c Steves-MBP
18:19:19 dnsmasq-dhcp[629]: DHCPACK(eth0) 192.168.1.130 f8:e4:3b:5c:c1:9c Steves-MBP
This leads to unexpected behaviour 2 - if I use Pihole to set a static IP for these devices this happens
17:32:24 dnsmasq-dhcp[628]: DHCPOFFER(eth0) 192.168.1.43 b8:27:eb:7e:02:3c
17:32:24 dnsmasq-dhcp[628]: DHCPREQUEST(eth0) 192.168.1.43 b8:27:eb:7e:02:3c
17:32:24 dnsmasq-dhcp[628]: DHCPACK(eth0) 192.168.1.43 b8:27:eb:7e:02:3c node3
17:32:24 dnsmasq-dhcp[628]: DHCPDECLINE(eth0) 192.168.1.43 b8:27:eb:7e:02:3c
17:32:24 dnsmasq-dhcp[628]: disabling DHCP static address 192.168.1.43 for 10m
17:32:25 dnsmasq-dhcp[628]: not using configured address 192.168.1.43 because it was previously declined
17:32:29 dnsmasq-dhcp[628]: not using configured address 192.168.1.43 because it was previously declined
17:32:34 dnsmasq-dhcp[628]: not using configured address 192.168.1.43 because it was previously declined
17:32:38 dnsmasq-dhcp[628]: not using configured address 192.168.1.43 because it was previously declined
17:53:50 dnsmasq[629]: config 192.168.1.43 is NXDOMAIN
All the Pis are running fully updated Raspbian Bullseye.
The fact that I'm only seeing this with the RPis makes me think it's the RPis that are the problem but apart from one post on here about the "because it was previously declined" message I've failed to find anything that has helped me understand why this is happening.
Can anyone shed some light?
Thanks
Steve