Tips for asking ISP to allow for using my own DNS setup for self-hosted VPN?
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.
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
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.
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?
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.
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.
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.
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.
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 🤦♂️
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
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.
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?
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.
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.
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.
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.
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
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.
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?
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.
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):
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).
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.