this post was submitted on 26 Jul 2023
29 points (91.4% liked)

Selfhosted

39435 readers
7 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hello, friends.

So I've had my Pi-Hole setup for awhile now and it's great. I'd like to get Wireguard working with it, too, so I could browse the internet without loads of ads and trackers on the go.

However, small issue. All DNS traffic is forcibly routed to my ISP. If you need some details, I made this post on the Pi-Hole userspace.

I'm in America and my ISP is Spectrum. I was wondering if there's a way I could convince technical support to allow me to use a recursive DNS for privacy/security (more-so the second of the two) purposes, or if it is even possible to convince them to do this. I don't know if there's a specific number I should contact, email I should email to, or if I just have to endure the nightmare of getting passed around by customer service one Saturday. Any recommendations would be great.

An interesting note for anyone who's ISP is Spectrum, their DNS service, at least for me, uses OpenDNS with dnsmasq-2.57. That version of dnsmasq is over 10 years old. You see if this is the case for you with

dig CHAOS TXT version.bind @192.33.4.12 +short
dig CHAOS TXT version.bind @198.97.190.53 +short

Or something similar if those IP addresses are different for you. You can see that running those commands were a part of the steps I was asked to take in that Pi-Hole userspace post.

EDIT 1:

For those interested, here's some Github gist I found that shows how to use unbound + stubby for have a recursive DNS + DNS-over-HTTPS. There's also this from the DNS Privacy Project.

EDIT 2:

I seems that initial answer from the Pi-Hole forums was correct. There's probably something that was set in the firmware for the Netgear router that prevents me from setting up my own DNS servers. However, I notice on the router there's a "router mode" option that's on, which I can probably turn off, plug in my Pi to the Netgear device and have the Pi act as my router, thus letting me be able to use it as my DNS server as well. That or just suck it up and buy only a modem, not a router + modem combo.

top 48 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 1 year ago (1 children)

I've never heard of spectrum doing this. I think it's an issue with your router. The steps you mentioned sound right, but I'm not seeing what you're seeing. I usually try to look at the advanced mode, which might have more info.

You could contact Netgear tech support, or consult their manual. Have you made sure you're on the latest firmware?

[–] [email protected] 1 points 1 year ago (2 children)

I tried to set the Pi-Hole as the DNS via the instructions here, and the exact settings for the Netgear router is under Advanced -> Setup -> Internet Setup. Everytime I've set this, no hostnames can be resolved. I followed the Pi-Hole instructions to a tee, so I don't know if I'd be missing something. Currently, the Pi-Hole acts as the DHCP server.

Have you made sure you’re on the latest firmware?

I don't even know how I would do this on this Netgear router. I see nothing in the settings to check for firmware updates, and I don't recall seeing anything in the manual. I guess I'd have to call their tech support.

[–] [email protected] 4 points 1 year ago (2 children)

Not to ask a possibly silly question but I haven't seen these questions asked and I don't know your network experience. You've supplied the actual network address of your pihole machine and not the 192.168.1.250 address shown, right? And you've set your pihole server up to have a static ip address as well, correct? You don't want it assigned dynamically and therefore randomly everytime it renews its lease.

If the ip address is statically assigned - either hard-coded as static on the machine or at least being statically assigned on your router via its mac address - then setting the dns server on your router should work. I would however assign 2nd and 3rd dns servers as Google dns or cloud flare ip addresses in case your pihole server is ever down. (1.1.1.1, 8.8.8.8 or some of the others). If that's all confirmed and your machines are not receiving your configured dns settings from the router, it's possible (seems unlikely) the spectrum supplied router is ignoring the settings and assigning their dns servers. If so, buy your own router and put it between your home network and the spectrum hardware. Then you have control and it doesn't matter what their hardware does. You'll just set yours up on a different subnet - 192.168.x where x doesn't match the same value as the spectrum network - and you should be good to go.

Good luck!

[–] [email protected] 4 points 1 year ago

If you point to 8.8.8.8 or 1.1.1.1 as a secondary DNS server will it use those to resolve ads blocked by the pi-hole?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

You've supplied the actual network address of your pihole machine and not the 192.168.1.250 address shown, right?

I could've sworn I did that but I'll try again.

EDIT: Okay, I found the specific IP addresses for the Pi-Hole's DNS servers. I tried putting the 2 IPv4 ones, clicked the applied button and got "Invalid IPs." But what's stupid is that I can ping those IPs. There's something else going on here.

And you've set your pihole server up to have a static ip address as well, correct?

Yes I'm pretty sure it's set to have a static IP address. I'm pretty sure it's something you have to do when setting up the Pi-Hole.

the spectrum supplied router

Oh I should've clarified: this is one I bought myself, not one from Spectrum.___

[–] [email protected] 2 points 1 year ago

Ok, I see the problem. Your router needs an external DNS server for it's internet setup.

You need to set DHCP to give your pihole server as the DNS to the computers INSIDE your network. It's impossible for your router to use your LAN DNS server on the WAN port.

[–] [email protected] 12 points 1 year ago (2 children)

I have spectrum and they don’t forcibly route anything for me.

You must have either their modem maybe? Or you have the DNS helper setting where if you mistype a url it redirects you.

Either way there is a way to disable it because it doesn’t happen for me and hasn’t in the many years I’ve had them across the country.

[–] [email protected] 0 points 1 year ago (1 children)

How has been your experience with spectrum? Thinking about switching ISPs.

[–] [email protected] 2 points 1 year ago

They are better than Comcast but that’s a low bar.

Overall I get Gig speeds for $80/m which isn’t terrible and no data cap. My previous house AT&T fiber was the same cost but better. I don’t have a choice where I live now so it’s Spectrum or DSL

[–] [email protected] 0 points 1 year ago (5 children)

Hmmm then it's something with the modem I have then. I can't set the DNS address. It's some cheap Netgear modem. If I go to Advanced -> Setup -> Internet Setup and click Use These DNS Servers and put in the address for the Pi-Hole, it prevents me from doing so.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

I think you mean router, since you would most likely not set DNS on a modem (unless it’s a combo) — but yes I would look into getting something better that you have more control over.

Edit: gotta love new Lemmy clients that spam comment replies 🤦‍♂️

[–] [email protected] 1 points 1 year ago (3 children)

It's a combo. Most are these days, I believe, but I know Spectrum is weird and will give you a router AND modem if you just buy it through them. What device would you recommend? I don't want to buy one just to find out I can't set the Pi-Hole as the DNS server on a new one.

[–] [email protected] 2 points 1 year ago (2 children)

I use a Unifi system which is going to be overkill for 99% of people, but as far as Modems only go Arris Surfboards are solid and I’ve never had an issue.

For router you can get whatever is your fancy, mesh system or a big multi antenna whatever.

[–] [email protected] 2 points 1 year ago

Moto's DOCSIS modems are pretty damn solid, too. I've had one at my MIL's house doing gigabit for a few years now and haven't had a lick of issue with them.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

That’s still a combo device which I generally would avoid. But basically anything that isn’t provided by the cable company will be better.

[–] [email protected] 1 points 1 year ago (1 children)

I would recommend putting that modem in Bridge mode and getting something like a TP-Link Omada device. I’ve had them for a while and have been really happy.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Seems like I could potentially get around my issue by taking the device out of this "router mode" setting I found and connecting my Pi to it via Ethernet cable and have the Pi be the router for my network.

EDIT: Actually, scratch that. I don't think a Pi would be powerful enough to act as a router. Well, off to by a modem (not a combo) it is!

[–] [email protected] 1 points 1 year ago

You just need to tell them you want a modem only, no router.

I'm running an Asus rt68ac with Merlin firmware. Which is nice because I can force all dns through my piholes. Even the hardcoded stuff like the iot devices.

[–] [email protected] 10 points 1 year ago (2 children)

Another option you can have, install the cloudflared service on your pihole and use that as a DNS server. Cloudflared can take DNS requests from your clients and then proxy those requests over DoT to an upstream server which supports DNS over TLS. I have used Google in the past for this. I had great success with this solution inside a corporate environment which blocked port 53 to all outside the network.

[–] [email protected] 1 points 1 year ago

I know there's a way to do a recursive DNS with DNS-over-HTTPS. I believe there's a guide out there on how to do this with unbound and stubby on OpenBSD.

[–] [email protected] 1 points 1 year ago (2 children)

Could you elaborate on this please? Isn't cloudflared a tunnel INTO the machine running a service? Can you use the same tunnel for outbound traffic as well?? Where does the traffic end up? How does this work?

[–] [email protected] 2 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

Oh, I like that! Awesome, thank you!

[–] [email protected] 2 points 1 year ago

It was a while ago, so I can't remember exactly but there is a good article here The cloudflared daemon is setup to run a standard DNS server over TCP/UDP port 53 as normal. You configure the upstream DNS to be DoT based. The clients then send DNS requests as normal to the cloudflared service and then they convert them to DoT upstream and the response is then sent back to the client as a normal DNS response.

[–] [email protected] 7 points 1 year ago

You can have your own machine do DNS lookups, a Linux box with BIND, and any other of your computers can have the DNS resolver set to that machine

You need to forward port 53 from your router (usually a wifi router) to the machine running the DNS

[–] [email protected] 5 points 1 year ago (1 children)

I choose not to open any ports to the Internet for security reasons. But use tailscale to allow access to my home network while im away. It was an easy setup and can put it on all my devices.

[–] [email protected] 2 points 1 year ago (1 children)

I don't think there's anything in the Pi-Hole VPN setup with Wireguard that says you need to open up port 53. In fact, in the Pi-Hole userspace you see so many people specifically saying to not open up port 53.

[–] [email protected] 1 points 1 year ago

I use PiVPN (wireguard protocol) on the same pi I use for pihole exactly like this. Port isn't forwarded, but I can split tunnel DNS for adblocking on the go and still ssh to my other server

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Oh, your ISP is very shitty, just like mine! Mine even do deep packet inspection! My solution is by using several upstream DNS servers that listen on alternate ports (so the requests are not intercepted by my ISP), and using TLS and QUIC (can't intercept it because it's encrypted). Can't use DoH though because my ISP somehow can make it timeouts most of the time.

My Adguard upstream DNS settings (Adguard is configured to try all of them at once and use the one that respond first):

tls://1.1.1.1

tls://1.0.0.1

tls://8.8.8.8

tls://8.8.4.4

tcp://9.9.9.9:9953

udp://9.9.9.9:9953

quic://unfiltered.adguard-dns.com

[–] YonatanAvhar 4 points 1 year ago (2 children)

Why do ISPs put in the extra effort to make their service shittier? What benefit do they gain from forcing more load to their DNS servers?

[–] [email protected] 5 points 1 year ago

This is purely a money move. They want to sell statistical data if I had to guess. I use DoT with Unbound because fuck Verizon.

[–] [email protected] 4 points 1 year ago

My country has a national block list that must be followed by all ISP. Last year, they even went an extra mile to enforce the DNS hijacking at internet backbone level, so if any ISP neglect to do it, it'll still get enforced by the national internet backbone.

My ISP is fully embracing this system, to the point of performing deep packet inspection to enforce the national block list. Any blocked domain will return an IP address containing a web page full of ads (basically saying that the domain is blocked, here are some ads instead)I guess it's profitable for them to do this. They also blocked Netflix using this system for years until Netflix caved in and partner with the ISP to sell subscription (yay for no net neutrality I guess).

[–] [email protected] 3 points 1 year ago (1 children)

I've had Spectrum. They shouldn't be doing this. See if there's an option in your account settings. They might call it some kind of malware protection. Else, call support and ask.

[–] [email protected] 1 points 1 year ago (2 children)

As I said to someone else, it must be the Netgear modem. If I go to Advanced -> Setup -> Internet Setup and click Use These DNS Servers and put in the address for the Pi-Hole, it prevents me from doing so. Or, rather, I can set the addresses, but then I have no internet access. Hostnames don't get resolved, so I'm wondering if I'm missing something?

[–] [email protected] 4 points 1 year ago (1 children)

Ah, you need to set pihole DNS in DHCP settings on the router, not in the WAN/Internet DNS for the router.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Here's what the Pi-Hole installation says to do in the case of not being able to have your Pi-Hole be the DNS server for your router:

If your router does not support setting the DNS server, you can use Pi-hole's built-in DHCP server; just be sure to disable DHCP on your router first (if it has that feature available).

So can I or can I not use unbound for a recursive DNS (I known you can do DNS-over-HTTPS with unbound and stubby)? Or am I misunderstanding the steps to eventually use my Pi-Hole as a VPN?

[–] [email protected] 2 points 1 year ago (1 children)

If you set the dns address manually for a device instead of relying on DHCP does dns work then? That should work fine no matter what your router is giving out.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

This is what Pi-Hole tells you to do, maybe I'm misunderstanding something: https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245

EDIT: I'm specifying this because I cannot do what's instructed in that link, and can only have the Pi-Hole be my networks DHCP server. As the post-install instructions say:

If your router does not support setting the DNS server, you can use Pi-hole's built-in DHCP server; just be sure to disable DHCP on your router first (if it has that feature available).

[–] [email protected] 1 points 1 year ago

Right, that makes sense if you can't adjust your router's DNS. However, you can manually change the IP address of the DNS servers you want to use per device. I recommend trying to change the DNS on your computer or something to your pi-hole's IP address. If you do that and can get internet access you should be good. If not then you can check the pi-hole logs to see if it's getting any of the DNS queries. Feel free to DM me for more help.

[–] [email protected] 2 points 1 year ago

Can you force all DNS via TRR (aka DNS-over-HTTPS)?

I don't know what Pi-Hole is capable of but that's possible on open source routers like OpenWrt.

[–] [email protected] 2 points 1 year ago

You might try flashing OpenWRT firmware if your router is supported. It allows changing DNS

[–] [email protected] 2 points 1 year ago

or just use nextdns

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

You would have to implement DNS over TLS. To do this, it's probably easiest to use Unbound and a service like Cloudflare or OpenDNS upstream. Spectrum probably hopes to harvest your DNS traffic and monetize it or maybe they're doing some preemptive sanitizing of your requests to prevent you from going to a bad site. Regardless, I am anti DNS highjacking. It's wrong on many points.

load more comments
view more: next ›