I have bought a 300M Mini Smart Router (Model: GL-AR300M16-ext) a few days ago, with the idea to use it to provide openVPN to a few devices, so as to not have to fight setting that up on each of them.
I have got the OpenVPN itself working (getting the password for the key stored was a bit tricky).
What is not yet working is using the DNS Server over the VPN.
The DNS Server behind the VPN has the IP 192.168.0.254
If I am connected with the VPN over the Smart Router, and then locally do
“nslookup .local 192.168.0.254” I can resolve the DNS name (which only the VPN DNS Server knows), so obviously the VPN works, the IP is correct, and no firewall is interrupting me.
However, as soon as I set under Settings/Internet Settings/Internet Settings/DNS Settings
“DNS Server 1” to the value 192.168.0.254 and tick “Force all clients to use”
no resolution of DNS names works anymore.
I tried setting 8.8.8.8 there and leaving “Force all clients to use” ticked, and that worked. So its obviously only a problem if the IP is behind the VPN. Maybe a routing problem in the router?
As I wrote, I can even get DNS Answers from it.
“nslookup somehost.local 192.168.0.254” goes over the VPN as established by the 300M device, and gets the correct answer. (Command executed on my linux desktop, not on the router)
You misunderstand what I am trying to do:
192.168.0.254 IS a local adress, on the other side of the VPN.
It will only resolve if the VPN is up, which it is.
And from everything I understood, the device should be able to route the DNS traffic to a DNS Server sitting inside of the VPN I am connected to. Am I mistaken in that?
I can not just use a public DNS Server because I want to resolve DNS entries only that private DNS Server knows about.