Pi-Hole debug log
I'm thinking about writing up a nice guide so let me know if that would be useful to anyone but in the meantime, some notes about difficulties I ran into setting up a pi-hole
First off, I do want to say that this is actually pretty technically complicated? Like it's been floating around tumblr for a while, lots of people have done it, you can too, but when OP on that viral post said they took 2 hours and don't know anything, I think they mean they don't know anything in the same way I do (I have a whole degree in computers I have used a terminal before, but I hadn't used a raspberry pi before)
Rest below the cut
Gathering Materials Good news: there's lots of viable options for a raspberry pi that works with pihole! The minimal requirements are really very minimal. You need some computer that you're willing to devote to blocking your internet. (Theoretically you could do this on a computer also used for different stuff but that would suck and make you have no ram.) In practice, unless you've got a spare working laptop floating around for some reason, you are going to want that to be a raspberry pi. Bad news: now you have to make decisions. The "official" pihole kit has been sold out for ages, so that's not an option. I said fuck it and bought kit for the raspberry pi 4 off of one of the licensed distributors linked from raspberrypi.com (because it had all the requirements) but that was ~$100 with shipping and there ARE cheaper options. It looks like the raspberry pi zero barely hits the RAM requirements and is $15 at a licensed distributor so that's likely as low as you can go. And if you're not just buying a kit you'll need at a minimum a power supply, a microsd card (the pihole requirement is 4GB but everything I was seeing was way bigger anyways), and a way to read a microsd card (either a USB microsd reader or if your laptop already has an sd card reader you'll need one of those microsd to normal sd card converters which idk where you get but a USB microsd reader is very cheap). You don't need but may want an hdmi cable that will connect to the pi
Setting Up and Using a Raspberry Pi You may notice for notes that aren't a guide (yet) this is going into Great Detail about the early parts of the setup. As someone who hadn't used a raspberry pi before, I found all the pihole guides I was looking at skipped the basics I needed and most of my setup time was trying to figure out what was going on with my raspberry pi, not actually doing the pi-hole thing. The raspberry pi getting started page actually had all the information I needed in conjunction with their pihole setup guide if I'd read it thoroughly enough but since I didn't a general overview: first you plug the sd card into your personal computer to image it; then once it's imaged you take it out and put it in your raspberry pi; then after it's blinked at you a bit you ssh to your raspberry pi while on the same wifi network you just set up in the imaging step. This is running your raspberry pi "headless" which means you don't need a monitor/hdmi cable but does make it harder to debug if you can't ssh. Also if you're on windows apparently you NEED to download a different terminal because windows command prompt for all that it's gotten better over time cannot connect to unix operating systems (which raspbian is).
AT&T hates internet configuration Now we're getting to the part that's specific to me. My internet is on AT&T, which has overall been pretty okay (and they've had great technicians for setup and repair), but AT&T fiber does not let you set your own DNS. The non-annoying backup is to make the pi-hole your DHCP server instead of your DNS server, which IS in every setup guide but is NOT very detailed. (Possibly if I wasn't on AT&T this whole paragraph would be complaining about the level of detail of guides about making your pi-hole your DNS.) To get DHCP working, I found a different, slightly outdated guide from someone else on AT&T fiber which was pretty useful but had some pitfalls because it is a bit out of date: https://otter-security.com/how-to/ht_post/28/
Key points for setting up a pihole as DHCP server:
Set up your pihole normally/following the raspberry pi guide for the prompts
You still need to allocate a static IP for your pihole. For AT&T, this is on the IP allocation of the Home Network tab of the advanced settings page. That static IP should be the same as whatever the IP the IPv4 one the pihole install configured.
Disable DHCP on the subnets & DHCP tab. THIS IS THE STEP THAT BREAKS YOUR INTERNET: without DHCP available only some sites will work. This will be fixed by enabling DHCP on the pi-hole
Disable IPv6 (more about this later)
Enable DHCP on the pi-hole admin page: this is just a checkbox under settings->DHCP. The router ip address should be the one listed on the back of your router/the one used to get to the advanced settings (probably already correct)
Let all devices connect to the pi-hole under Settings->DNS on the pi-hole admin page (this is the step that was outdated or possibly just different because it was wired on the guide)
Don't You Forget About Mesh More details about my particular internet setup: we extend our internet with a mesh network. This kept getting in my way as I was doing the setup because I treat them largely interchangeably but it's important to put the raspberry pi and your computer on the SAME internet to do a local ssh, where the mesh vs the router are different here. I wanted to put the raspberry pi ssh on the router not the mesh because my initial setup attempt did break the mesh, but I'm not sure that that matters? Also I don't think anything connected to the mesh is getting the pihole filtering right now? Possible fixes required are either changing the mesh DNS to the pi-hole IP or seeing if the mesh has DHCP enabled.
IPv6: Still Broken So in the DHCP setup step I disabled IPv6. I couldn't get my DHCP to be forced to the pi-hole on IPv6 and I'm not sure why. I did set up my pi-hole to be IPv6 enabled and try disabling just IPv6 DHCP on my router, but it didn't seem to be hitting the pihole. Reading a help thread on this has convinced me that my best option is to leave it disabled until such a time as I want to learn things about networking again (a class I liked but also worked very hard to get a B in)
Why is my computer sad?? So I've declared pihole "working" in that our internet isn't broken and it's blocking at least some ads from some computers... but my mac is now giving ominous no internet connection warnings.
This would be a Big Problem except that I definitely can in fact reach the internet just fine. I'm on the internet right now! I don't know why my mac is sad and I am struggling to google it because it's specifically a false warning and I'm only getting results about the real problem. My hazy guess is it's ipv6 related? I could test this by disabling pihole/re-enabling DHCP on my router while keeping ipv6 off... but not in the middle of the day on a Friday
Adguard vs Pi-Hole: A Mystery Pi-Hole is no longer new technology and in the ~12 hours that it's been set up here hasn't made a dramatic difference in my life, mostly because I already had adblockers on my laptop. You can add more blocked sites and I've been looking at finding more adlists, but one alternate option is instead of running pi-hole on your raspberry pi, you run a commercial network level adblocker called AdGuard Home. I haven't tried the AdGuard option but it might do more comprehensive blocking? On the downside, it's commercial, not open source, so I do worry about them switching to break your internet if you don't give them money...












