pihole
The Pi-hole is a DNS sinkhole that protects your devices from unwanted content, without installing any client-side software. Useful for blocking ad services at a DNS level. It uses a list of known ad services stored on github, can add your own. It can also operate as a internal dns router and dhcp server.
Pihole Setup
If you have a raspberry-pi or another device, its super easy to get things going.
Any debian based system should be able to get things going quickly. Then all you need to do is set your devices to use your pihole as the primary dns server.
Debian based one-step install
Note
I find this to be a little flaky when it comes to DNS, often times OS will need reboots and cache to be cleared in order to actively start using pihole DNS.
Browsers also store dns info so many things can conflict before your DNS switches over. I find that using Pihole as primary DHCP server forces your devices to use the correct DNS server and fixes a lot of problems.
Also keep in mind that ipv6 can interfere if you are like me and have a ISP provider that tries to force their DNS
Setup on Proxmox VM
My pihole is operating as a Debian GNU/Linux 12 (bookworm) virtual machine running on Proxmox. I use it as a internal DNS router & DHCP server which makes dns much easier in my case - due to my internet provider trying to force me to use there dns servers. This setup is a little weird and in-order to get everything to work a couple extra steps are need.
Will need to setup your pihole as a dhcp server, disable the existing dhcp server on the router, reserve static ip addressed for proxmox and pihole so that it can connect to the gateway, set the pihole as primary dns server on proxmox, set proxmox to use dhcp rather than static ip and finally set pihole VM to automatically boot first so that when it connects to the gateway devices connected to the gateway are issued ip address from the pihole.
Warning
If you are using pihole for DHCP / DNS, keep in mind if the device goes down that is hosting your pihole server, so will your DNS / DHCP. This May prevent you from connecting to your network until you re-enable a dhcp server such as the one in your router.
- reserve a ip address in router/gateway for proxmox server & pihole
- set pihole to enable DHCP
- set proxmox to get DHCP on boot rather than Static IP which is default
root@laptop-proxmox:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface enp3s0 inet manual
auto vmbr0
iface vmbr0 inet dhcp
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
iface wlp4s0 inet manual
- set proxmox default DNS server to pihole reserved address
- set pihole to automatically start on boot with highest priority boot order
- set sattic ip and gateway info for pihole netwoking configuration '
- Disable DHCP server in gateway / router settings
- If router has option to set default DNS, set to pihole reserved address