The issue I am facing:
Hello, I've hit a brick wall with this and would gratefully appreciate any help I can get. Here's what I'm trying to accomplish.
Context
I have an existing Windows box which runs 24/7 and initially seemed ideal to run pi-hole on using Docker. However, my router won't let me configure it to set pi-hole as the DNS server (there's no option to configure a DNS server in the DHCP settings on the router).
Because of this, I need to use pi-hole as the DHCP server, but the problem I'm having is getting the DHCP broadcast from the pi-hole container to the wider network.
My guide has been this page: Docker DHCP and Network Modes - Pi-hole documentation
Of the three options there, host mode and macvlan mode are out because they are not supported by Windows Docker Desktop, so I've been trying to get it working with bridge mode and using a DHCP relay to relay the DHCP signal between the pi-hole container and the rest of the network. As I'm running Windows, I can't use dnsmasq as the relay, so I've had to find an alternative DHCP relay - for this I've found some software called 'DHCP Server for Windows' which might do the job.
The problem
Where I've come unstuck here is what to specify as the IP of the client running the relay, and what to specify as the IP of the DHCP server. Here is the example configuration for the DHCP server:
[SETTINGS]
IPBIND_0=192.168.0.10 ; local IP address on client subnet
IPRELAY_0=192.168.0.10 ; IP address of central DHCP server
AssociateBindsToPools=1
Since the relay is running on the same box, and the DHCP server is running in a container on that box, what do I enter as the IP address of the relay client and the DHCP server? I've tried various combinations of various IP addresses (e.g. 192.168.0.10, 127.0.0.1) and nothing I do will allow another machine on the network to get an IP address from the pi-hole DHCP server.
Any advice? Alternatively, is what I'm trying to do even possible, or do I need to give up and just buy a Pi?
Details about my system:
For reference, my router IP is 192.168.0.1, and the IP of the Windows box I'm trying to get this working on is 192.168.0.10.
Here is my docker-compose:
version: '2'
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
volumes:
- './etc-pihole/:/etc/pihole/'
- './etc-dnsmasq.d/:/etc/dnsmasq.d/'
cap_add:
- NET_ADMIN
networks:
- pihole_network
dns:
- 127.0.0.1
- 1.1.1.1
ports:
- 443:443/tcp
- 53:53/tcp
- 53:53/udp
- 67:67/udp
- 80:80/tcp
environment:
ServerIP: 192.168.0.10
restart: unless-stopped
networks:
pihole_network:
driver: bridge