109 lines
3.7 KiB
Markdown
109 lines
3.7 KiB
Markdown
---
|
|
title: pihole
|
|
description: pihole
|
|
author: wompmacho
|
|
date: 2024-04-27T23:53:26.059Z
|
|
lastmod: 2025-02-08
|
|
editor: markdown
|
|
showHero: false # needed to hide "hero banner"
|
|
---
|
|
|
|
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.
|
|
|
|
- [pihole setup](https://github.com/pi-hole/pi-hole/?tab=readme-ov-file#one-step-automated-install).
|
|
|
|
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**
|
|
|
|
``` bash
|
|
curl -sSL https://install.pi-hole.net | bash
|
|
```
|
|
|
|
> [!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
|
|
|
|
``` bash
|
|
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
|