Running Pi-Hole Ad-Blocker in a VirtualBox VM 🌱

Creating the VM

  1. Download Raspberry Pi OS Download
  2. Launch Virtualbox
  3. Create a New VM by selecting Machine > New

    Name: Raspberry Pi-Hole
    Machine Folder: C:\VMs
    Type: Linux
    Version: Debian (32-bit)
    Memory Size: 1024 MB
    Hard disk: Create a virtual hard disk now

  4. Click Create
  5. On the Create Virtual Hard Disk dialog

    Name the virtual disk image Raspberry Pi-Hole.vdi
    File size: 12-16 GB
    Hard disk file type: VDI
    Storage on physical hard disk: Dynamically Allocated

  6. Click Create
  7. Select the VM and Click Settings
  8. Select System > Processor
  9. Give the VM at least 2 processors
  10. Select Display
  11. Slide the Video Memory to 128 MB
  12. Select Network
  13. Set the attached to dropdown to Bridged Adapter
  14. Select Storage
  15. Click on the CD-ROM drive
  16. Select the disc dropdown to the right > Choose a virtual optical disc file...
  17. Browse to and select the Raspberry Pi desktop .iso file
  18. Click OK
  19. Make sure the Raspberry Pi-Hole VM is selected and click Start > Normal
  20. Select Graphical Install
  21. Select a keyboard map > click Continue
  22. Select Guided - use entire disk > click Continue
  23. Click Continue, Continue, Continue
  24. Select Yes to confirm writing the changes to disk > click Continue
  25. Wait while Debian and the Raspberry Pi Desktop are installed
  26. Select Yes to install GRUB on the master boot record > click Continue
  27. Select /dev/sda > click Continue
  28. Click Continue to reboot the VM
  29. Click Next on the welcome dialog
  30. Set the Country, Language and Time Zone > click Next
  31. Enter and confirm a password for the pi user > click Next
  32. Click Skip to updating software
  33. 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 now
  3. Select Devices > Insert Guest Additions CD image...
  4. If the installation autoruns, select Run
  5. On the desktop, Right click on the Guest Additions disc > Open in Terminal
  6. In the Terminal window run the following commands
    sudo sh ./VBoxLinuxAdditions.run
    sudo reboot now
  7. The VM will reboot
  8. Upon rebooting, you can now full screen the VM and the internal resolution will automatically change to match the window size
  9. Click the Applications button > Accessories > Terminal
  10. Run the following command to install Pi-Hole
    curl -sSL https://install.pi-hole.net | bash
  11. Press Enter until the DNS selection is displayed
  12. Select a DNS provider and press Enter
  13. Press Enter through the rest of the Pi-Hole installer, selecting the defaults
  14. Copy the randomly generated admin password (just in case)
  15. Press Enter to complete the installation
  16. Run the following command to change the Pi-Hole admin password
    sudo pihole -a -p
  17. Enter and confirm the new password
  18. Click the Applications button > Internet > Chromium Web Browser
  19. Navigate to http://DNSorIP/admin
  20. Click Login
  21. 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/