For the past few years, I’ve been using a set of Eero routers as my home mesh network. It’s worked fairly great in that time and even seamlessly transitioned without any hiccups when my family moved house. During the initial setup, I installed Pi-hole on a Raspberry Pi Zero WH because advertisements and tracking scripts suck.
It was an easy process to get everything up and running, but I did notice a lack of detailed steps online for those specifically using Eero systems. So, I thought I would document this process here with the hope that it will help someone else along the way (or at the very least remain a semi-permanent place for my own reference).
FYI: You can pay for Eero Secure and allow them to handle ad/tracker blocking for you. Personally, I prefer to have complete control over my blocklists and usage data. YMMV.
Setting Up the Pi-hole Server
Before we get into the step-by-step details, here are the required items you’ll need:
- Raspberry Pi device (I recommend the Pi Zero for simplicity and low cost)
- microSD card
- Raspberry Pi Imager
- micro USB to ethernet adapter (check your local Amazon)
Before you place your microSD card into the Pi and boot it up, connect it to your local computer (via USB adapter) - we will need to install the main OS first. Once connected, simply launch the Raspbery Pi Imager application.
From here you’ll want to select the Lite version of Raspberry Pi OS and also select the proper media to flash:
Don’t flash anything just yet! Be sure to use the gear icon and edit the settings. Set a custom hostname, enable
ssh and setup a proper user:
Plug it in and Boot!
Put the SD card into your Pi, connect power and give it a bit of time to boot up. Once you see a nice solid green LED, go back to your local computer’s terminal and enter the following command:
If everything was set up properly you will be asked to trust this device. Next, you will be prompted to enter the device password you setup.
Once you are connected directly to the Pi, it’s best to check for updates:
sudo apt update
…and if updates are in fact available, install them via:
sudo apt upgrade
This is the easy part:
curl -sSL https://install.pi-hole.net | bash
Pi-hole runs a full install script that walks you through step-by-step on setting things up. It’s best to use the suggested defaults during the install - everything is pretty simple.
Near the end of the setup you’ll be show the newly created static IP for this Pi-hole server (both IPv4 and IPv6). Write these down for easy reference in a moment.
Once it’s finished, shutdown the Pi safely by running:
sudo shutdown now
With the Pi shutdown you can safely relocate it to where you have your modem and gateway Eero setup. Connect your new Pi-hole device to the secondary ethernet port on your gateway Eero1 and power it up. (This is where the microUSB to ethernet adapter for our Pi device is needed)
See the crude diagram below for visual reference:
- Grey Wire: Incoming internet connection from ISP
- Blue Wire: Ethernet cord connecting modem to gateway Eero
- Red Wire: Ethernet cord connecting secondary Eero port to Pi Zero
That’s all we need to do on the hardware side of things.
Configuring the Eero App
With everything connected properly it’s finally time to setup our custom DNS settings through Eero.
- Open the Eero app (iOS or Android)
- Navigate to Settings > Network Settings > DNS
- Select Customized DNS and enter both your saved IPv4 / IPv6 values
- Eero will prompt you to reboot your network - do it
Next we need to add your Pi-hole’s address as an IPv4 reservation:2
- In the Eero app, navigate to Settings > Network Settings > Reservations & port forwarding
- Tap Add a reservation and include your Pi-hole’s IP address
After the system reboots everything should be working as intended! You can check by navigating to your Pi-hole IP address in your browser.
None of this stuff if groundbreaking, but my hope is that even one person across the internet finds this helpful! If you run into any major bugs, please leave a comment below and I’ll do my best to help out!
Best of luck blocking those pesky ads and trackers!