Hi deHakklar,
Yes I have done this on 5 machines now, physical and VMs; all windows work fine.
Even rebooting and removing any reserved IPs, windows machines have worked
Just to check this is a pihole issue and NOT a config issue on my side, I have rebuilt a new pihole again, left vanilla and then enabled DHCP (while disabling the DHCP on the router)
The results are below:
20:Jan 17 09:46:20 dnsmasq-dhcp[5846]: DHCP, IP range 192.168.0.21 -- 192.168.0.251, lease time 1d
32:Jan 17 09:46:38 dnsmasq-dhcp[5846]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:01
33:Jan 17 09:46:38 dnsmasq-dhcp[5846]: DHCPOFFER(eth0) 192.168.0.157 00:15:5d:00:9d:01
34:Jan 17 09:46:38 dnsmasq-dhcp[5846]: DHCPREQUEST(eth0) 192.168.0.157 00:15:5d:00:9d:01
35:Jan 17 09:46:38 dnsmasq-dhcp[5846]: DHCPACK(eth0) 192.168.0.157 00:15:5d:00:9d:01 YYYYYYYY
66:Jan 17 09:46:52 dnsmasq-dhcp[5954]: DHCP, IP range 192.168.0.21 -- 192.168.0.251, lease time 1d
106:Jan 17 09:47:16 dnsmasq-dhcp[5954]: DHCPDISCOVER(eth0) 192.168.0.5 b4:2e:99:3d:8b:dc
107:Jan 17 09:47:16 dnsmasq-dhcp[5954]: DHCPOFFER(eth0) 192.168.0.169 b4:2e:99:3d:8b:dc
108:Jan 17 09:47:18 dnsmasq-dhcp[5954]: DHCPDISCOVER(eth0) 192.168.0.5 b4:2e:99:3d:8b:dc
109:Jan 17 09:47:18 dnsmasq-dhcp[5954]: DHCPOFFER(eth0) 192.168.0.169 b4:2e:99:3d:8b:dc
110:Jan 17 09:47:26 dnsmasq-dhcp[5954]: DHCPDISCOVER(eth0) 192.168.0.5 b4:2e:99:3d:8b:dc
111:Jan 17 09:47:26 dnsmasq-dhcp[5954]: DHCPOFFER(eth0) 192.168.0.169 b4:2e:99:3d:8b:dc
112:Jan 17 09:47:26 dnsmasq-dhcp[5954]: DHCPREQUEST(eth0) 192.168.0.169 b4:2e:99:3d:8b:dc
113:Jan 17 09:47:26 dnsmasq-dhcp[5954]: DHCPACK(eth0) 192.168.0.169 b4:2e:99:3d:8b:dc XXXXXXXX
265:Jan 17 09:47:31 dnsmasq-dhcp[6066]: DHCP, IP range 192.168.0.21 -- 192.168.0.251, lease time 1d
485:Jan 17 09:48:14 dnsmasq-dhcp[6066]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
486:Jan 17 09:48:14 dnsmasq-dhcp[6066]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
487:Jan 17 09:48:14 dnsmasq-dhcp[6066]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
488:Jan 17 09:48:14 dnsmasq-dhcp[6066]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
489:Jan 17 09:48:18 dnsmasq-dhcp[6066]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
490:Jan 17 09:48:18 dnsmasq-dhcp[6066]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
499:Jan 17 09:48:25 dnsmasq-dhcp[6066]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
500:Jan 17 09:48:25 dnsmasq-dhcp[6066]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
510:Jan 17 09:48:32 dnsmasq-dhcp[6208]: DHCP, IP range 192.168.0.21 -- 192.168.0.251, lease time 1d
538:Jan 17 09:48:44 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
539:Jan 17 09:48:44 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
557:Jan 17 09:49:15 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:07
558:Jan 17 09:49:15 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.163 00:15:5d:00:9d:07
559:Jan 17 09:49:18 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
560:Jan 17 09:49:18 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
561:Jan 17 09:49:18 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:07
562:Jan 17 09:49:18 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.163 00:15:5d:00:9d:07
563:Jan 17 09:49:24 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:07
564:Jan 17 09:49:24 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.163 00:15:5d:00:9d:07
608:Jan 17 09:49:40 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:07
609:Jan 17 09:49:40 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.163 00:15:5d:00:9d:07
669:Jan 17 09:50:15 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:07
670:Jan 17 09:50:15 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.163 00:15:5d:00:9d:07
673:Jan 17 09:50:21 dnsmasq-dhcp[6208]: DHCPDISCOVER(eth0) 00:15:5d:00:9d:0b
674:Jan 17 09:50:21 dnsmasq-dhcp[6208]: DHCPOFFER(eth0) 192.168.0.167 00:15:5d:00:9d:0b
YYYYYY and XXXXXX are windows clients (one physical, one VM) on both brand new IPs that haven't been given before on these clients
The others that are stuck in this DISCOVER/OFFER dance are both linux VMs, given enough time all the other clients will expire and start this dance also.
I have run the tcpdump command you suggested on one of the VMs; as below:
mike@piholevm2:~$ sudo tcpdump -nvvvi eth0 '(udp port 67 or udp port 68) and ether host 00:15:5d:00:9d:0b'
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:01:04.239059 IP (tos 0xc0, ttl 64, id 47865, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.18.67 192.168.0.167.68: [bad udp cksum 0x834f -0x1152!] BOOTP/DHCP, Reply, length 300, xid 0x4208bc88, secs 770, Flags [none] (0x0000)
Your-IP 192.168.0.167
Server-IP 192.168.0.18
Client-Ethernet-Address 00:15:5d:00:9d:0b
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.0.18
Lease-Time (51), length 4: 86400
RN (58), length 4: 43200
RB (59), length 4: 75600
Subnet-Mask (1), length 4: 255.255.255.0
BR (28), length 4: 192.168.0.255
Domain-Name-Server (6), length 4: 192.168.0.18
Domain-Name (15), length 3: "lan"
Default-Gateway (3), length 4: 192.168.0.1
END (255), length 0
PAD (0), length 0, occurs 3
10:02:05.414284 IP (tos 0xc0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 305)
0.0.0.0.68 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 00:15:5d:00:9d:0b, length 277, xid 0x4208bc88, secs 834, Flags [none] (0x0000)
Client-Ethernet-Address 00:15:5d:00:9d:0b
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Client-ID (61), length 7: ether 00:15:5d:00:9d:0b
Parameter-Request (55), length 11:
Subnet-Mask (1), Default-Gateway (3), Domain-Name-Server (6), Hostname (12)
Domain-Name (15), MTU (26), Static-Route (33), NTP (42)
Unknown (119), Unknown (120), Classless-Static-Route (121)
MSZ (57), length 2: 576
Hostname (12), length 5: "hub02"
END (255), length 0
I assume the bad checksum on the offer is an issue here?
Using the same tcpdump command, I released/renew'd a windows machine; as below:
mike@piholevm2:~$ sudo tcpdump -nvvvi eth0 '(udp port 67 or udp port 68) and ether host 00:15:5D:00:9D:01'
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:05:20.738681 IP (tos 0x0, ttl 128, id 64176, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.157.68 192.168.0.18.67: [udp sum ok] BOOTP/DHCP, Request from 00:15:5d:00:9d:01, length 300, xid 0x122778d1, Flags [none] (0x0000)
Client-Ethernet-Address 00:15:5d:00:9d:01
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Release
Client-ID (61), length 7: ether 00:15:5d:00:9d:01
END (255), length 0
PAD (0), length 0, occurs 47
10:05:25.768868 IP (tos 0x0, ttl 128, id 34738, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 00:15:5d:00:9d:01, length 300, xid 0x2018ce0, Flags [none] (0x0000)
Client-Ethernet-Address 00:15:5d:00:9d:01
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Client-ID (61), length 7: ether 00:15:5d:00:9d:01
Requested-IP (50), length 4: 192.168.0.157
Hostname (12), length 7: "win11vm"
Vendor-Class (60), length 8: "MSFT 5.0"
Parameter-Request (55), length 14:
Subnet-Mask (1), Default-Gateway (3), Domain-Name-Server (6), Domain-Name (15)
Router-Discovery (31), Static-Route (33), Vendor-Option (43), Netbios-Name-Server (44)
Netbios-Node (46), Netbios-Scope (47), Unknown (119), Classless-Static-Route (121)
Classless-Static-Route-Microsoft (249), Unknown (252)
END (255), length 0
PAD (0), length 0, occurs 6
10:05:25.768974 IP (tos 0xc0, ttl 64, id 53819, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.18.67 192.168.0.157.68: [bad udp cksum 0x8345 -0x8421!] BOOTP/DHCP, Reply, length 300, xid 0x2018ce0, Flags [none] (0x0000)
Your-IP 192.168.0.157
Server-IP 192.168.0.18
Client-Ethernet-Address 00:15:5d:00:9d:01
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.0.18
Lease-Time (51), length 4: 86400
RN (58), length 4: 43200
RB (59), length 4: 75600
Subnet-Mask (1), length 4: 255.255.255.0
BR (28), length 4: 192.168.0.255
Domain-Name-Server (6), length 4: 192.168.0.18
Domain-Name (15), length 3: "lan"
Default-Gateway (3), length 4: 192.168.0.1
END (255), length 0
PAD (0), length 0, occurs 3
Which worked ok.
Any further ideas?
In the meantime i'm going to use the router and look into alternatives for the pihole, see if I have any further success with them.
Thanks for all that have looked/replied.
Mike.