Host a DNS server

Is there any way to host a DNS server on OpenWrt. Specifically having a router in another location, that I can connect to remotely in order to get around geo-blocking in my location? The same way SmartDNS services work.

I know I can do this with VPN, but the encryption really slows connections down, a DNS server would not.


The answer to the question is yes, absolutely. There are packages for bind available. You'll need a static IP address, though.

Is the geo blocking DNS-based? What kind of geo blocking are you speaking of? I can think of very few types of geo-blocking that DNS will solve.

1 Like

OK, I don't have static IP. Only DDNS and OpenWrt is behind a NAT.

Trying to overcome geoblocking on sites like Netflix as per SmartDNS services like this.

The DNS in SmartDNS is only half of their solution. What they are doing is using DNS to redirect your access to to another server, which then proxy's the connection from a location in a different geographical area. It's just a smart-proxy that uses DNS as an automated way to configure it. Or, in other other words, a smart VPN where only certain services are redirected through the VPN.

It's not inconceivable you could replicate it, but setting up the DNS would be, by far, the easiest part of this.

That shouldn't be the case for something like, say, wireguard. It uses chacha20, which is pretty darn fast on most hardware. If you have a router with a multi-core CPU, it's likely that wireguard would not be the rate-limiting step in a VPN.


Thanks, yeh I am using pretty basic hardware for my wireguard server (Xiaomi mi4c).

But is his source IP doesn't change, the geo block should still kick in, imho.

I don't use smartdns, but it could, at least in theory, be solvable by using a dns and a sni proxy, like sslh.
I use this kind of setup to bypass geo blocked US sites, not Netflix specifically though.

1 Like

Interesting! Are there any guides anywhere on how to set this up? I'd be interested to give it a go. Thanks!

Agreed. That's what I meant when I said the DNS would be the easiest part. He still needs to set up a proxy.

Good idea, but complex. In the end it's probably easier to use wireguard to link to the second location, and set up routing rules so that only connections to netflix (etc) get routed

I'm curious, where did you propose to locate the router? A friend in another country?

1 Like

it's fairly easy, configure the DNS to respond to all FQDNs you need proxied, with the IP of the sni host.
At the sni host, have sslh set up to listen to port 443. it'll proxy the request to the real destination, but the destination will think the requests came from the IP of the sni.

I don't use sslh myself though, but sniproxy, but it doesn't exist for openwrt.

1 Like

Family scattered across several countries. Main thing is it allows those who are abroad to watch our home country's content more easily.

Thabks, I'm not sure what half of this means but I'll get reading. :joy: