Prerequisites #
In this setup I’m using VMware Workstation Pro 17.5 on Windows 11. I’m setting up Pi-hole on a Debian 12 VM with the following IP address 192.168.50.2
. The
Debian VM automatically starts after the Windows login.
I achieved great results by combining Pi-hole with the Brave browser.
Pi-hole #
Folder Structure #
# Create folder structure
sudo mkdir -p /opt/pihole && cd /opt/pihole
Docker Compose File #
# Create Docker Compose file
sudo vi docker-compose.yml
version: "3.9"
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/Vienna'
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
cap_add:
- NET_ADMIN
restart: unless-stopped
# Create / start Docker container
sudo docker compose up -d
Change Pi-hole Password #
# Exec container terminal
sudo docker exec -it pihole bash
# Change password
pihole -a -p newpassword
# Exit container terminal
exit
Webinterface #
Login with the password defined in the previous step, it is not necessary to define a username.
# Open webinterface
192.168.50.2/admin/
Upstream DNS Server #
Go to Settings
> DNS
-
Define upstream DNS servers
-
Click
Save
Client DNS Server (Windows) #
-
Define the IP of the Debian VM as the DNS server in the Windows network interface
-
Optional: Use PowerShell to check if the correct DNS server is defined
# List DNS server with PowerShell
Get-DnsClientServerAddress
# Shell output:
InterfaceAlias Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet1 10 IPv4 {192.168.50.2}
Ethernet1 10 IPv6 {}
Loopback Pseudo-Interface 1 1 IPv4 {}
Loopback Pseudo-Interface 1 1 IPv6 {}
VMware #
VM Autostart #
Enable the auto startup of the Debian vm when the Windows user logs in:
# Open the Windows startup folder for the current user: Run
shell:startup
# Create a shortcut with the location pointing to vmware.exe and the vmx file of the Pi-Hole vm
"C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x "F:\VMs\VLAN-50\Debian_Pi-hole\Deb-Pi-hole.vmx"
Links #
# Official Documentation
https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# Brave Browser Download
https://brave.com/download/