Skip to main content

Command Palette

Search for a command to run...

First Build: Pi-hole on a Raspberry Pi 5

Updated
3 min read
A
Wellington-based IT professional moving into cybersecurity. Currently working in a managed services environment while building up Blue Team skills — Microsoft security stack, cloud security, and whatever the home lab breaks next. SC-200 certified. Studying toward a Diploma in Cloud Computing & Cybersecurity.

How I stopped ads at the DNS level and started my home lab properly.


What is Pi-hole?

Pi-hole is a network-wide ad blocker that runs at the DNS level. Instead of blocking ads in a browser, it blocks them before they even load — for every device on your network. Your phone, TV, laptop — all covered without installing anything on them.


The Hardware

  • Raspberry Pi 5 Model B (8GB RAM)

  • 32GB SD card

  • Running Debian GNU/Linux 12 (Bookworm)

  • Connected via Wi-Fi on my home router (moving to ethernet eventually)

The Pi 5 is overkill for Pi-hole alone, but the plan is to run other things on it down the track — so the headroom is intentional.


Installation

Pi-hole's install is famously simple. One command:

curl -sSL https://install.pi-hole.net | bash

The installer walks you through network interface selection, upstream DNS provider (I went with Cloudflare — 1.1.1.1), and sets up the web dashboard automatically.


Router Configuration

Once Pi-hole is running, you need to tell your router to use it as the DNS server. This is done in your router's DHCP settings — point the DNS to the Pi's local IP address. Every device on the network then automatically routes DNS queries through Pi-hole.

(Note to self: make sure the Pi has a static local IP assigned — otherwise if it changes, everything breaks.)

As a backup, a secondary DNS (8.8.8.8) has been set up in case the Pi goes down, to ensure that there's no downtime at home. Might look at getting another Pi and running another instance of Pi-hole on it as the backup.


What it looks like now

Current versions running:

  • Core: v6.4

  • Web: v6.4.1

  • FTL: v6.5

There are updates available — v6.4.2 core, v6.5 web, v6.6.2 FTL. Updating is on the list.


What I'd do differently

Nothing major on this one — the install was straightforward. The main thing to sort early is the static IP for the Pi, which I'd do before running the installer next time.


What's next

This is the first piece of a bigger home lab build. Ideally, I'll be connecting the Pi directly into my home router via ethernet - will need to make sure that I update the static IP for the wired connection.

Ubuntu server is in progress, and eventually this will all sit on a proper NAS once the drives arrive. More posts to follow as things get built — and broken.

8 views

Home Lab

Part 1 of 1

A step-by-step record of building a home lab from scratch — hardware, configuration, and everything that breaks along the way. Starting with a Raspberry Pi 5 and growing from there.