edit: see below posts for workaround.
I’m using an AR-750, running testing firmware “openwrt-ar750-3.022-0329”. It is configured as a wireless AP for my devices, and is directly plugged in via ethernet cable to a switch in my AirBnB.
I do have custom DNS settings configured, however I am also using the AR750 as a Wireguard client. My issue is that the device does not configure DNS correctly. My client devices always use the upstream devices DNS server.
When I ssh into the AR750, I can see that /etc/resolv.conf is pointing at /tmp/resolv.conf, however /tmp/resolv.conf is a link to /tmp/resolv.conf.auto. This file has the upstream DNS nameserver. There is also a /tmp/resolv.conf.vpn, which has the DNS server for my Wireguard VPN.
I can manually change the link in /tmp/resolv.conf to point to /tmp/resolv.conf.vpn, and name resolution works correctly on the AR750 only, however even when I restart dnsmasq service, my wireless clients are not using the Wireguard DNS – they all still use the upstream device’s nameserver, via the AR750.
How can I configure the AR750 to correctly use the Wireguard DNS nameserver? As mentioned, I can manually make this change, however it is not propagated to the wireless client devices. If I run nslookup or dig on a wireless client (eg, a linux laptop) it shows that the AR750 is the nameserver, however it cannot resolve names on the Wireguard VPN, even though the AR750 can do so after I change the link in /tmp.
In case this isn’t clear, here is what is happening (192.168.8.1 is the AR750):
Client wireless device cannot do lookup on Wireguard VPN:
[bongo@gally-959E ~]$ nslookup ns1
Server: 192.168.8.1
Address: 192.168.8.1#53
Non-authoritative answer:
*** Can't find ns1: No answer
AR750 gets the same answer, until I change link on /tmp/resolv.conf → /tmp/resolv.conf.vpn, then:
root@GL-AR750:~# nslookup ns1
Server: 10.7.1.53
Address: 10.7.1.53#53
Name: ns1
Address 1: 10.7.1.53
However, even when I make this change on the AR750, it never affects client devices.
Any help is appreciated!