aboutsummaryrefslogtreecommitdiff
path: root/build/posts/eero
diff options
context:
space:
mode:
Diffstat (limited to 'build/posts/eero')
-rw-r--r--build/posts/eero/index.html128
1 files changed, 128 insertions, 0 deletions
diff --git a/build/posts/eero/index.html b/build/posts/eero/index.html
new file mode 100644
index 0000000..4724a73
--- /dev/null
+++ b/build/posts/eero/index.html
@@ -0,0 +1,128 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="color-scheme" content="dark light">
+ <link rel="icon" href="data:,">
+ <title>Setting Up a Pi-hole Server with Eero</title>
+ <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
+ <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="RSS feed for blog posts" />
+<style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0 auto;max-width:650px;padding:1rem;}blockquote{background:rgba(0,0,0,0.1);border-left:4px solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.footnotes{font-size:90%;}</style>
+</head>
+
+<nav>
+ <a href="#menu">Menu &darr;</a>
+</nav>
+
+<main>
+<h1 id="setting-up-a-pi-hole-server-with-eero">Setting Up a Pi-hole Server with Eero</h1>
+<p>2022-03-14</p>
+<p>For the past few years, I&#8217;ve been using a set of Eero routers as my home mesh network. It&#8217;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.</p>
+<p>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).</p>
+<hr/>
+<p>FYI: You can pay for Eero Secure and allow them to handle ad&#47;tracker blocking for you. Personally, I prefer to have complete control over my blocklists and usage data. YMMV.</p>
+<hr/>
+<h2 id="setting-up-the-pi-hole-server">Setting Up the Pi-hole Server</h2>
+<p>Before we get into the step-by-step details, here are the required items you&#8217;ll need:</p>
+<ol>
+<li>Raspberry Pi device (I recommend the Pi Zero for simplicity and low cost)</li>
+<li>microSD card preloaded with <a href="https://www.raspberrypi.com/software/operating-systems/">Raspberry Pi OS Lite</a> (having a desktop GUI is overkill for our use case)</li>
+<li>micro USB to ethernet adapter (check your local Amazon)</li>
+<li>Patience!</li>
+</ol>
+<p>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 <code>boot</code> folder, add an empty file simply called <code>ssh</code> (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:</p>
+<pre><code>country=US
+ctrl_interface=DIR=&#47;var&#47;run&#47;wpa_supplicant GROUP=netdev
+update_config=1
+
+network={
+ ssid="WIFI_SSID"
+ scan_ssid=1
+ psk="WIFI_PASSWORD"
+ key_mgmt=WPA-PSK
+}
+</code></pre>
+<p>Save this file as <code>wpa_supplicant.conf</code> and add it to the <code>boot</code> directory as well.</p>
+<p>You can now safely eject the microSD card and place it into your Raspberry Pi.</p>
+<h2 id="plug-it-in-and-boot">Plug it in and Boot!</h2>
+<p>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&#8217;s terminal and enter the following command:</p>
+<pre><code>ssh pi@raspberrypi.local
+</code></pre>
+<p>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: <code>raspberry</code></p>
+<p><strong>Important</strong>: This is assuming you don&#8217;t currently have any other Pi devices using this hostname parameter!</p>
+<p>Once you are connected directly to the Pi, it&#8217;s best to check for updates:</p>
+<pre><code>sudo apt update
+</code></pre>
+<p>&#8230;and if updates are in fact available, install them via:</p>
+<pre><code>sudo apt upgrade
+</code></pre>
+<p>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:</p>
+<pre><code>sudo raspi-config
+</code></pre>
+<ol>
+<li>Edit Hostname: navigate to <code>System Settings</code> &#8211;&#62; <code>Hostname</code></li>
+<li>Edit Password: navigate to <code>System Settings</code> &#8211;&#62; <code>Password</code></li>
+</ol>
+<p>Once complete, reboot the Pi. Just remember that when you try to reconnect to this device via SSH you&#8217;ll need to use both of these new parameters instead of the defaults.</p>
+<h2 id="installing-pi-hole">Installing Pi-hole</h2>
+<p>This is the easy part:</p>
+<pre><code>curl -sSL https:&#47;&#47;install.pi-hole.net | bash
+</code></pre>
+<p>Pi-hole runs a full install script that walks you through step-by-step on setting things up. It&#8217;s best to use the suggested defaults during the install - everything is pretty simple.</p>
+<p>Near the end of the setup you&#8217;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.</p>
+<p>Once it&#8217;s finished, shutdown the Pi safely by running:</p>
+<pre><code>sudo shutdown now
+</code></pre>
+<h2 id="hardware-setup">Hardware Setup</h2>
+<p>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 Eero[^1] and power it up. (This is where the microUSB to ethernet adapter for our Pi device is needed)</p>
+<p>See the crude diagram below for visual reference:</p>
+<ul>
+<li><strong>Grey Wire</strong>: Incoming internet connection from ISP</li>
+<li><strong>Blue Wire</strong>: Ethernet cord connecting modem to gateway Eero</li>
+<li><strong>Red Wire</strong>: Ethernet cord connecting secondary Eero port to Pi Zero</li>
+</ul>
+<p>That&#8217;s all we need to do on the hardware side of things.</p>
+<h2 id="configuring-the-eero-app">Configuring the Eero App</h2>
+<p>With everything connected properly it&#8217;s finally time to setup our custom DNS settings through Eero.</p>
+<ol>
+<li>Open the Eero app (iOS or Android)</li>
+<li>Navigate to <strong>Settings</strong> &#62; <strong>Network Settings</strong> &#62; <strong>DNS</strong></li>
+<li>Select <strong>Customized DNS</strong> and enter both your saved IPv4 &#47; IPv6 values</li>
+<li>Eero will prompt you to reboot your network - do it</li>
+</ol>
+<p>Next we need to add your Pi-hole&#8217;s address as an IPv4 reservation:[^2]</p>
+<ol>
+<li>In the Eero app, navigate to <strong>Settings</strong> &#62; <strong>Network Settings</strong> &#62; <strong>Reservations &#38; port forwarding</strong></li>
+<li>Tap <strong>Add a reservation</strong> and include your Pi-hole&#8217;s IP address</li>
+</ol>
+<p>After the system reboots everything <em>should</em> be working as intended! You can check by navigating to your Pi-hole IP address in your browser.</p>
+<h2 id="closing-thoughts">Closing Thoughts</h2>
+<p>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&#8217;ll do my best to help out!</p>
+<p>Best of luck blocking those pesky ads and trackers!</p>
+<h2 id="refs">Refs</h2>
+<ol>
+<li>You don&#8217;t <em>have</em> to use your Eero gateway for this step (credit: <a href="https://old.reddit.com/user/RollMeAway83">&#47;u&#47;RollMeAway83</a>)</li>
+<li>Thanks to <a href="https://old.reddit.com/user/YankeesIT">u&#47;YankeesIT</a> for pointing out that this is required not <em>optional</em></li>
+</ol>
+<footer role="contentinfo">
+ <h2>Menu Navigation</h2>
+ <ul id="menu">
+ <li><a href="/">Home</a></li>
+ <li><a href="/projects">Projects</a></li>
+ <li><a href="/uses">Uses</a></li>
+ <li><a href="/wiki">Wiki</a></li>
+ <li><a href="/resume">Resume</a></li>
+ <li><a href="/colophon">Colophon</a></li>
+ <li><a href="/now">Now</a></li>
+ <li><a href="/donate">Donate</a></li>
+ <li><a href="/atom.xml">RSS</a></li>
+ <li><a href="#top">&uarr; Top of the page</a></li>
+ </ul>
+ <small>
+ Built with <a href="https://git.sr.ht/~bt/barf">barf</a>. <br>
+ Maintained with ♥ for the web. <br>
+ Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> &amp; <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br>
+ The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>.
+ </small>
+</footer> \ No newline at end of file