Pi-hole

on Monday, June 24, 2019

A coworker recently setup an advertisement blocking software called Pi-hole on his home network. I didn’t think much of it at first, but his excitement about it was compelling and he did a quick demonstration of it.

  • It blocks malware and advertisements at the DNS level. Which means you don’t need Adblock Plus. This also means it can block advertisements outside of browsers, like ads in cell phone apps.
  • It runs on a tiny Raspberry Pi, so you can nestle it next to your other networking equipment.
  • It comes with an awesome admin interface which you can use to configure it, customize it, and turn it off when you run into any issues (haven’t yet, fingers crossed).


Quick How-To for Windows Users

Raspberry Pi’s baseline operating system, Raspbian, is a Linux/Debian based kernel, so it can be a little nerve-racking for a Windows user to go into that world. My experience with Raspbian was great. I found it easy to use and it let you get trivial things done without having to spend time researching how to do it.

Purchasing the Hardware ~ $100

The hardware you need is pretty inexpensive, but it’s easy to forget something (I did). The majority of my purchases were from PiShop.us, but there are a number of other retailers that specialize in Raspberry Pi products.

  • Raspberry Pi Model 3 B+ (pishop.us) – $35

    The way I understand it, this is currently the most popular version of the board. There are smaller ones, but the Model 3 B+ still smaller than the palm of your hand. It has wired and wireless network connectivity, it has 4 USB ports, HDMI output, a micro SD slot and a power connection slot. It has other connectors, but they won’t be needed for Pi-Hole.
  • microSD card with Raspbian on it (pishop.us) – $10

    I forgot to buy this the first time. The cards are more expensive when you buy them from a store like Best Buy or Walmart; and you have to install the Raspbian operating system yourself if you do that. It’s not difficult to flash a microSD card (Etcher) with the operating system, but it is easier to just buy a preconfigured card.
  • Power supply (pishop.us) – $9

    I thought this would come with the board. It’s didn’t, but it wasn’t very expensive to buy.
  • Case (pishop.us) – $8

    Optional. This is definitely not required, but it makes it easier to place the board near your networking equipment. There are a number of cases and options on that site; search for one that you like.
  • Networking Cable

    You probably already have a number of these lying around.
  • USB Keyboard (pishop.us) – $17 / USB Mouse (pishop.us) – $8

    It’s surprisingly difficult to find a wired keyboard and mouse at a low price sometimes.
  • HDMI Cable & Monitor – $10

    Make sure you have a monitor that supports HDMI before you start. I thought my monitors supported HDMI, but I was wrong. Luckily I had a television sitting around, so that saved me from having to get too creative with a work around.

    PiShop has a few adapters for VGA which can help. But, plan ahead on this one.

Installation and Configuration

  1. So, there is an awesome Setting up your Raspberry Pi tutorial on their website, which I won’t repeat.
  2. I will point out the list of helpful guides for configuring your Raspberry Pi. But, I want to also point out that under Preferences > Raspberry Pi Configuration … Interfaces is a whole slew of easy configurations that you can do through the GUI.
    image
    image
  3. Pi-hole’s installation was incredibly easy, with just one command:

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

  4. Log into your router and setup your Raspberry Pi to have a static IP address assigned in the DHCP tables.
             
    image

  5. While in your router, also setup the primary DNS for your local internet to point to your Raspberry Pi/Pi-Hole.
         
    image

    This will setup your router to forward DNS requests to the Raspberry Pi. You don’t have to do any other configuration to your network.

    (For me, my laptop and cell phone immediately started using the new DNS server. However, my main computer didn’t. I think I was logged into a VPN at the time, which might have taken over responsibility for DNS resolution.)

That’s about it.

0 comments:

Post a Comment


Creative Commons License
This site uses Alex Gorbatchev's SyntaxHighlighter, and hosted by herdingcode.com's Jon Galloway.