My OpenWRT router is connected to a WireGuard VPN server, which also provides its own DNS. In my router DHCP options under LAN I have set it to advertise the DNS "10.64.0.1" since that is the DNS server provided by the VPN, however for some reason when I do a test at https://dnsleaktest.com , it does not go through VPN DNS servers. For some odd reason, even if I manually in my phone or computer's settings, change the DNS to 10.64.0.1 and then do another DNS leak test, it still shows my non-VPN DNS.
I noticed when I test this on any Apple device like an iPhone, the DNS goes through VPN DNS, however when I test on an Android device it goes through the regular DNS sserver. Could this be related to the fact that the router also provides DNS through its IPv6 (starting with fd) IP, even though my ISP doesn't support IPv6, and some difference in handling IPv6 causes this? Is the solution to disable listening for DNS requests on IPv6?
I'm also not sure where is even the correct place to set a DNS (I want to set it per my LAN interface, not WAN, for example I want the router itself to use DNS 126.96.36.199, but devices connected to LAN to use 10.64.0.1), is it in Network > Interfaces > LAN > Settings > DHCP Server > Advanced Settings > and putting "6,10.64.0.1 (10.64.0.1 is the DNS IP) , or is it in Network > Interfaces > LAN > Settings Use Custom DNS Servers? Or should I put it in both? I also see Network > DHCP and DNS > DNS Forwardings , I'm confused about seeing what looks like the same option 3 times, but there must be a difference?
When I only add it to DHCP Options, the VPN DNS works on Apple devices but not others, but when I add it to "Use Custom DNS Servers" , the VPN DNS works on other devices, but for some reason it is still using the regular DNS alongside the VPN DNS