tdarb.org > Setting Up a Pi-hole Server with Eero

// 1195 words // 5 minute read

Setting Up a Pi-hole Server with Eero

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:

  1. Raspberry Pi device (I recommend the Pi Zero for simplicity and low cost)
  2. microSD card preloaded with Raspberry Pi OS Lite (having a desktop GUI is overkill for our use case)
  3. micro USB to ethernet adapter (check your local Amazon)
  4. Patience!

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 add some files first. Once loaded into the boot folder, add an empty file simply called ssh (no extensions). Next open your preferred text editor and enter the following code, editing the content to match your own country code and home network settings:

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="WIFI_SSID"
scan_ssid=1
psk="WIFI_PASSWORD"
key_mgmt=WPA-PSK
}

Save this file as wpa_supplicant.conf and add it to the boot directory as well.

You can now safely eject the microSD card and place it into your Raspberry Pi.

Plug it in and Boot!

Connect power to your Pi 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:

ssh pi@raspberrypi.local

If everything was set up properly you will be asked to trust this device. Next, you will be prompted to enter the device password. The default password will be: raspberry

Important: This is assuming you don’t currently have any other Pi devices using this hostname parameter!

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 next step is optional but I highly recommend it for security purposes. You should change both the hostname and password of this soon-to-be Pi-hole server. To do this simply run:

sudo raspi-config
  1. Edit Hostname: navigate to System Settings –> Hostname
  2. Edit Password: navigate to System Settings –> Password

Once complete, reboot the Pi. Just remember that when you try to reconnect to this device via SSH you’ll need to use both of these new parameters instead of the defaults.

Installing Pi-hole

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

Hardware Setup

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:

Eero Pi-hole connection diagram
Internet modem --> Eero gateway --> Pi-hole device

That’s all we need to do on the hardware side of things.

Enjoying the content? Consider supporting my site by contributing to hosting costs!

My goal is to keep this blog advertisement and tracker free - forever. So, if you're feeling generous, please consider donating to help pay for hosting via NearlyFreeSpeech.NET.

Donate (code: tdarb) // View Contributor List

Now back to the article...

Configuring the Eero App

With everything connected properly it’s finally time to setup our custom DNS settings through Eero.

  1. Open the Eero app (iOS or Android)
  2. Navigate to Settings > Network Settings > DNS
  3. Select Customized DNS and enter both your saved IPv4 / IPv6 values
  4. 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

  1. In the Eero app, navigate to Settings > Network Settings > Reservations & port forwarding
  2. 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.

Closing Thoughts

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!


Footnotes

  1. You don't have to use your Eero gateway for this step (credit: /u/RollMeAway83) ↩︎

  2. Thanks to u/YankeesIT for pointing out that this is required not optional ↩︎


Leave a comment

To make a comment, please send an e-mail using the button below. Your e-mail address won't be shared and will be deleted from my records after the comment is published. If you don't want your real name to be credited alongside your comment, please specify the name you would like to use. If you would like your name to link to a specific URL, please share that as well. Thank you.

Comment via email

Formatting options: bold, italics and plain text lists are allowed.

Comments (3)
  1. Claudio Ruiz

    Hey Brad! I was just reading your post about eero+pihole and it's great. I mean it's great to have better documentation about "hacking" a little the Eero setup. Thanks about that!

    I already have it set with an old x220 Thinkpad and works really well. What I haven’t being able to do is to being able to open up a port on it to access it externally via SSH for instance. Do you?

    Anyway, thanks again. It's really great to share setups.

    Cheers,
    C

    PS: oh, you need to fix your RSS because the URLs of the posts are pointing to https://localhost instead of the external URL. ;)

    • Bradley Taunt

      @Claudio Ruiz I have not tried setting up external access to the Pi-hole myself. Do let me know if you find a clean way to do so!

      Also, thank you for the heads up about the feed error. I've recently switched over to 100% static HTML/CSS for my website (post on that incoming), so some wrinkles are still being ironed out ;)

  2. Daniel Baran
    I found this article interesting and thought to share my own recent experience. I have installed Pi-hole on a 9 year old Windows PC on my LAN. This first involved upgrading the OS to Win11 while ignoring Microsoft's warnings of incompatibility. I then installed Debian in the Windows Subsystem for Linux (WSL). Pi-Hole was then installed into the Debian distribution.

    To my surprise, this has all worked flawlessly for several months now. With this setup, any given client machine on the LAN can opt-in (or not) to using the Pi-hole by simply changing their primary DNS setting. I've also replicated this setup on a laptop so I can use Pi-hole while traveling.

    Thanks and Regards