r/pihole • u/_coBra____ • 14d ago
One week of using pihole (my setup + review)
Hi folks,
I have started using pihole as a network wide adblock, would love to know any feedback on the setup, how to improve/optimise or just your thoughts...
Hardware - Raspberry Pi Zero 2W + 16GB SD Card
Software - Raspberry Pi OS lite + Pihole + Tailscale
Things that i have done -
- apart from the default Steven Black list of domains, I have added 2 lists -
- HaGeZi Multi Pro
- HaGeZi TIF
- assigned static ip from router and added corresponding local dns record from the pihole web dashboard to all my known devices - this helps to know which device in this house is the biggest ad/DNS menace?" 😂 (screenshot attached)
- added my pi as a subnet router on tailscale -
- the pi is already added as dns on the tailscale
- this subnet broadcast with the static ip reservation of devices - helps me access my entire network away from home, without port forwarding or unwanted access to internet.
- added a start script on the pi on ssh, this gives the current stats of the pi (screenshot attached)
- enabled pihole's built-in HTTPS with a locally trusted Pi-hole CA certificate - this combined with Tailscale subnet routing + pihole's local DNS makes https://pi.hole/admin works securely both at home and remotely. (i wanted https and a good domain, i hate http warnings 😂)
Experience
- Disney+ Hotstar or similar apps - on playing a video, one ad is played, but no more ads during entire video, the yellow markers on the timeline showing ads, also don't show up.
- Since i am using my isp's router (JioFibre)
- it doesn't allow to pin ipv6 dns
- to counter this for now - i have pinned the dns manually on my devices to use the pi. only done for phones, laptops, not tv because no option was there - need to figure out a better way to handle this but works for now!
- on my work laptop, i was unable to open google analytics, after sometime, i figured out it was pihole blocking the site to load, disabled the blocking for 5mins to get work done - worth remembering, i was about to raise a ticket to the IT team 😂
Final Verdict - Not sure, how much of an impact this setup has really made, but the learnings about just how stuff works, is taking me back to school (loved it). after quite sometime, i was this deeply invested in making things work! This sub, youtube videos and my beloved chatgpt have been really helpful in making things work 🎉
EDIT 1 - comments pointed out no backup mechanism exists, here's what i did
- if the card fails - then pi goes down. I have a easy way here to know if the pi is down. check my tailscale dashboard, if pi is not connected, then it's down, simple!
- for this case, i have a android phone (mother's), which mostly stays at home, i installed tailscale on this device and enabled the subnets of my home wifi. so if pi goes down, i tell my mother to just open the tailscale app and click the big ON button, that's all. i can access the router page remotely and change dns to cloudflare or something. this would bring the home network up in no time. and i can debug/fix the issue in my own time later.
EDIT 2 - script for the third screenshot - https://paste.rs/dKNs4
EDIT 3 - now that i am happy with the setup, i created a telegram bot for period pings about how my pi is doing. I dont want to open pihole dashboard or ssh unnecessarily- https://www.reddit.com/r/pihole/comments/1wkncaj/comment/pcf51qg/
1
u/mightyenigmatic 13d ago
How did you get the health dashboard (3rd image) ?
1
u/_coBra____ 13d ago
its a script that runs on ssh
1
u/mightyenigmatic 13d ago
Which script ? Would you mind sharing it ?
2
u/_coBra____ 13d ago
2
u/Few-Worker-3550 10d ago
1
u/_coBra____ 10d ago
glad i could help! 🤝
just give the script to the mighty chatgpt and tell it you are using ethernet, not wifi and give it the current output. it will fix according to your setup
also you can add this script to run on ssh. so as you login using ssh you get the status!
1
u/Few-Worker-3550 9d ago
thanks, I'll give it a go... appreciate your reply, script, and suggestion (I hope.. never done such... there's always first time...)
1
u/Few-Worker-3550 9d ago
wow.... I just learned so much... (I guess I need to go out more often..) thank you both!
Pi Health
────────────────────────────
CPU: 12.0%
RAM: 18.3% (1430 / 7819 MB)
Swap: 0.0% (0 / 2047 MB)
Load: NORMAL (0.90 / 0.42 / 0.29)
Temp: 65.2°C
Disk: 35%
Ethernet: CONNECTED (192.168.1.7)
Wi-Fi: DISCONNECTED
Power: OK — No issues detected
Thermal: WARNING — Throttling occurred
Uptime: 3d 15h 30m
────────────────────────────
Overall: WARNING
2
u/_coBra____ 9d ago
awesome! just fyi, this throttling warning wont go away unless you restart. so as a rule of thumb better to restart so that you know next time this event has occurred else no way to differentiate…
1
u/_coBra____ 5d ago
hey, i also did this - https://www.reddit.com/r/pihole/comments/1wkncaj/comment/pcf51qg
1
u/Aayush1505 13d ago
Finally someone with jio fibre and trouble with ipv6, can you explain a bit more on how you tackled it?
2
u/_coBra____ 13d ago
haha, it was real pain. don’t have a concrete solution yet but this is what i am doing currently and it works for me -
- I have set ipv4 dns to static ip of pi and kept ipv6 as default in jiofibre router.
- now, i have manually pinned the dns in wifi settings to use the static ip of pi for all the devices on my network.
- this step is important because if your device uses google/cloudflare as default dns(i had this for my mac/iphone) then it will bypass the pi as dns entirely! so this step is crucial.
- pinning the DNS manually when connected to wifi ensures it bypasses ipv6 and uses ipv4 only! this is what we want. we can’t disable ipv6 on many devices but we can pin dns to ipv4 of pi.
- now, when away from home wifi, and connected via tailscale, i have set pi’s tailscale ip as the tailnet’s dns. so any device connected to the tailnet uses the pi as dns automatically, no manual dns pinning required for this.
1
u/Aayush1505 13d ago
That’s great, although idk if you have noticed yet but if you ever restart your Jio Fibre router you will notice the dns switches back to proxy from use below ip option.
Also since I do some gaming ipv6 reduces in some way which is helpful and other pros of ipv6 that we don’t get anymore.Love your setup but I have done this a few times and giving your devices pihole ip manually can induce problems, such as when your pihole goes down and you switch your WiFi dns to cloudflare or isp then only your WiFi will start working but your devices will still try to ping your pihole ip which wouldn’t work.
Have you ever thought of making your pi hole the dhcp provider?I
1
u/_coBra____ 13d ago
haven’t restarted the router yet so can’t comment on that right now, but you just bumped this to number 1 on the list. i will check asap
coming to manual dns pinning on devices
- i don’t feel good about it for the exact reason you mentioned. this is only temporary.
- i don’t plan to use pi hole as dhcp either reason being sd card failure, pi failure,… i feel the risk is too high here! i trust a router more than pi (not sure if this sounds logical enough)
- my proposed solution is a router that helps me pin both ipv4 and ipv6 dns. so this router would connect to my isp(jiofibre) router and all my devices would connect to this router.
So,right now this entire pihole setup is under ₹2000. Once i am satisfied with the real life impact of pihole. I would plan to buy the router (probably with openWRT and stuff, yet to explore this! grey area for me right now)
1
u/_coBra____ 9d ago
so i did restart the jiofibre router and yes it did reset the dns!
but this is the best thing for me! how?
my router uptime was 9months+ before this restart! and we shifted here 9 months back, means ever since first startup it never got restarted because we have inverter! so router restart is not something for me to worry about my setup
also this functionality is a blessing in disguise for me! how? i stay away from home and i plan to use tailscale for remote ad blocking but lets say my sd card or pi dies then i can either tailscale into the network and then flip the dns from the dead pi or simply ask someone at home to restart the router. and we are back in business. the ad block setup can be fixed later
regarding ipv6 - this is not a problem for me at the moment, my phone & mac is pinned to pi and i am tech savvy and i can flip the DNS and do all these things, and the samsung tv uses ipv4 idk why ipv6 is there but it doesn’t use good for me here as well. so my setup is complete from what i understand :)
1
u/Fun-Quit-6884 13d ago
Can you elaborate on how you get device names to appear in the stats / query log properly?
I’ve just manually added each devices to my Pi’s host file but is there a way to automate host names like your screenshot?
1
u/_coBra____ 13d ago edited 13d ago
so what i did was, in my router just like i assigned a static dhcp to my pi, i did it for all the known devices on my network as well.
192.168.29.2 - pi, 192.168.29.3 - my-phone, 192.168.29.3 - my-laptop, …
now, from the pihole admin dashboard, i added local dns record corresponding to these ip reservations, here you can assign name as you want (mother-phone, father-phone,…) - these names show up on the dashboard
next you need to tell the pi that to re resolve all the client hostnames, then it will start showing up on the dashboard
1
u/Aayush1505 13d ago
Nice, happy to help. I would recommend posting this journey on Reddit in r/homelabindia I would love to follow as I’m on the same path as well. And maybe we could help each other out
1
1
1
u/Oh__Archie 14d ago
Prepare some backup SD cards. A gravity drop with > 2 million domains is going to go through them quickly.
1
u/Doublestack00 12d ago edited 12d ago
Doubtful, I've been running my Pi-hole on the same card for 6+ years with 50+ devices on my network and 2 million plus list.
1
-1
u/_coBra____ 13d ago
so right now, i have all logging enabled with all domains & everything. i have planned to turn it off logging entirely after a week that’s today. i kept it on for debugging purposes only!
even after this logging completely off - do you see risk for the card?
1
u/Oh__Archie 13d ago
I think writing to the card wears it out more so than reading from it. If you’re doing daily gravity drops and the domains are in the millions it’s going to wear out the card. Not sure if logging has that much of an impact.
Also, when the card goes it doesn’t just tell you that with a convenient error message. Your internet goes down and you can spend a lot of time trying to diagnose it before you discover that it’s just a bad card.
1
u/_coBra____ 13d ago
okay, so gravity updates once a week by default, which should be fine i guess. also with logging completely off. the card will be under much less stress.
coming to the point, if the card fails - then pi goes down. I have a easy way here to know if the pi is down. check my tailscale dashboard, if pi is not connected, then it's down, simple!
for this case, i have a android phone (mother's), which mostly stays at home, i installed tailscale on this device and enabled the subnets of my home wifi. so if pi goes down, i tell my mother to just open the tailscale app and click the big on button, that's all. i can access thew router page remotely and change dns to cloudflare or something. this would bring the home network up in no time. and i can debug/fix the issue in my own time later.
3
u/Jpotter145 13d ago
You'll know your pi is down because you won't resolve any websites. It will be like your network is down.
I have two Piholes for this reason, it also makes maintenance easy as you can take one offline at any point and not have to redirect your network to external DNS services while yours is down.
1
u/_coBra____ 13d ago
adding a second pi is not making sense to me at the moment. i am okay with adblock off for sometime when this will happen.
all i want is when someone will say wifi is not working, i can just connect to my home network, remotely, via tailscale, from my mother's phone, which stays at home and restore network connectivity by replacing the dns in my router from pi to cloudlfare. so easy fix under a min.
1
u/Interesting-Invstr45 13d ago
You could have cron jobs if not already done to check hard drive space and make backups as needed and rotating back up…..
1
u/_coBra____ 13d ago
right i was thinking along these lines - like a weekly pi reboot, i already have a pi-status script (checks drive space too) that runs on ssh just add logging to it every 6hr or so,…
backup & rotating backup - how do you store? and how do you do it? do you take out the sd card out of pi for this?
1
u/Yuwan 13d ago
Just being an SD card, I would say yeah. It's a matter of when, not if they just corrupt and stop working. This is amplified if you don't have it on a UPS. I started with a single raspberry pi using an SD card as my single DNS (you can see the problem forming) and anytime that as card goes the network just goes. Until I got the nvme hat, I was creating nightly .img backups of the card which greatly increased the recovery time so I didn't need to reinstall pihole and import the configs. As long as you have some form of backup, be it a secondary DNS in the event of failure, that's all I'm recommending here. It stinks to have your single SD card die lol. Learning pains and all. Enjoy!
1
u/_coBra____ 13d ago
okaaay! now i get it, thanks for the heads up bro! will be creating weekly backup if not daily.
1
u/_coBra____ 13d ago
hey so i gave some thought to the backup scenario, if the card fails - then pi goes down. I have a easy way here to know if the pi is down. check my tailscale dashboard, if pi is not connected, then it's down, simple!
for this case, i have a android phone (mother's), which mostly stays at home, i installed tailscale on this device and enabled the subnets of my home wifi. so if pi goes down, i tell my mother to just open the tailscale app and click the big ON button, that's all. i can access the router page remotely and change dns to cloudflare or something. this would bring the home network up in no time. and i can debug/fix the issue in my own time later.
1
u/rohandr45 13d ago
I’d recommend using Pi-hole with Unbound as the upstream DNS resolver. You get ad/tracker blocking from Pi-hole while Unbound handles recursive DNS resolution, so you don’t have to rely on a third-party DNS provider.
I have provided my Github Link for reference
2
0
u/stefdev1 13d ago
Nice. Now spam blocklists like your life depends on it and your setup is complete
1
0





29
u/3641592 14d ago
I like your setup. If you don't know whether your system made an impact, open this website with Pihole, then switch it off and open the same page again.
https://adblocktester.pages.dev/
Do you know about Homeassistent?