# Running Pi-Hole Ad-Blocker in a Proxmox VE VM

## Creating the VM

1. Log into the Proxmox VE web UI
2. Select a storage from the left navigation pane to download the .iso to
3. Select ISO Images in the left sub-navigation pane
4. If running ProxMox 6, download the Raspberry Pi OS Download and upload it to the ProxMox ISO image library
5. If on ProxMox 7, click Download from URL and paste the download URL from above > Click Query URL > Click Download
6. Right click the ProxMox node name > Create VM
7. Type RaspberryPi in the name field > Next
8. Set the Type to Linux and select the Raspberry Pi OS iso
9. Leave the defaults on the System tab > Next
10. On the Hard Disk tab, set the Disk size to 16 > Next
11. Leave the defaults on the CPU tab > Next
12. On the Memory tab, set the Memory to 1024 > Next
13. Leave the defaults on the Network tab > Next
14. Verify the summary and click Finish
15. Right click the RaspberryPi VM in the left navigation pane > Start
16. Click console in the left sub-navigation menu
17. Select Graphical Install
18. Select a keyboard map > click Continue
19. Select Guided - use entire disk > click Continue
20. Click Continue, Continue, Continue
21. Select Yes to confirm writing the changes to disk > click Continue
22. Wait while Debian and the Raspberry Pi Desktop are installed
23. Select Yes to install GRUB on the master boot record > click Continue
24. Select /dev/sda > click Continue
25. Click Continue to reboot the VM
26. Click Next on the welcome dialog
27. Set the Country, Language and Time Zone > click Next
28. Enter and confirm a password for the pi user > click Next
29. Click Skip to updating software
30. Click Finish to reboot the VM and complete setup

## Installing Updates and Pi-Hole

1. Click the Applications button > Accessories > Terminal
2. Run the following commands to install updates
   sudo apt update
   sudo apt upgrade -y
   sudo apt clean
   sudo reboot
3. Click the Applications button > Accessories > Terminal
4. Run the following command to install Pi-Hole
   curl -sSL https://install.pi-hole.net | bash
5. Press Enter until the DNS selection is displayed
6. Select a DNS provider and press Enter
7. Press Enter through the rest of the Pi-Hole installer, selecting the defaults
8. Copy the randomly generated admin password (just in case)
9. Press Enter to complete the installation
10. Run the following command to change the Pi-Hole admin password
    sudo pihole -a -p
11. Enter and confirm the new password
12. Click the Applications button > Internet > Chromium Web Browser
13. Navigate to http://DNSorIP/admin
14. Click Login
15. Authenticate with the admin password

## Testing Pi-Hole

1. Right click the VM network connection > Wireless & Wired Network Settings
2. Select eth0 from the interface dropdown
3. Clear out the DNS servers and input the VM IP address
4. Click Apply
5. Click Devices > Network > Connect Network Adapter to disable networking
6. Click Devices > Network > Connect Network Adapter to re-enable networking
7. In Chromium, open a new tab and navigate to https://yahoo.com
8. Go back to the Pi-Hole tab and see that some DNS queries have been blocked

## Setting Up From Windows Client

1. Click the Start button > Type control panel > press Enter
2. Click View By > Small Icons
3. Click Network and Sharing Center
4. Click Change adapter settings
5. Right click on the network connection > Properties
6. Select Internet Protocol Version 4 (TCP/IPv4) > Properties
7. Select the radio option next to Use the following DNS server addresses
8. Input the IP address of the Pi-Hole VM
9. Click OK on both of the open dialog windows
10. Right click the Start button > Command Prompt (Admin)
11. Type the following commands to flush your DNS cache and restart the network connections (note: your network connection will drop if running the commands on a remote machine)
    ipconfig /flushdns
    ipconfig /release
    ipconfig /renew

More on Pi-Hole https://pi-hole.net/