I am using "Accept DNS Configuration: Exclusive", but am seeing my ISP DNS at leak test sites when I create policy rules that include both the VPN and WAN interfaces.
Router config:
RT-AC86U w/fw 384.4_2
OpenVPN Client 1 (no other VPN clients)
- Accept DNS Configuration: Exclusive
- Redirect Internet traffic: Policy Rules (strict)
- Block routed clients if tunnel goes down: Yes
- Policy Rules...
Default External 192.168.50.0/24 0.0.0.0 VPN
Bank of America 192.168.50.0/24 171.161.202.100/32 WAN
Test Device:
Windows 10
ipconfig /all
- DNS Servers: 192.168.50.1
Going to dnsleaktest or ipleak reveals my ISP DNS.
If I remove the "Bank of America" policy rule and go to dnsleaktest or ipleak, I only see my VPN DNS.
Based on the info under the "DNS configuration" section here -
https://github.com/RMerl/asuswrt-merlin/wiki/Policy-based-routing - I would expect all routes to use the VPN DNS. This is the desired behavior, but I am seeing the opposite. What am I missing?
I was having exactly the same issues and getting pretty frustrated, but fortunately I found a simple solution...
The setup:-
ASUS RT-AC86U router with Merlin Firmware 384.6
with WAN DNS servers set to Cloudflare (1.1.1.1 and 1.0.0.1) for testing purposes
and LAN DHCP turned off.
Windows 10 machine with the following manually assigned Ethernet adapter settings:-
IPv4 Address 10.4.0.2
Subnet Mask 255.255.255.240
Default Gateway 10.4.0.1
IPv4 DNS Server 1 10.4.0.1
IPv4 DNS Server 2 blank
OpenVPN Client Settings:-
NordVPN server address and port – 144.48.xx.xx
Accept DNS Configuration – Exclusive
Redirect Internet traffic - Policy Rules (strict)
Rules for routing client traffic through the tunnel
ntp Sydney 0.0.0.0 203.35.xx.xx WAN
ntp Melbourne 0.0.0.0 203.35.xx.xx WAN
All other traffic 10.4.0.0/28 0.0.0.0 VPN
This leaves most traffic going through the VPN and using the VPN provider’s DNS servers and any (non-client specific) traffic intended for the WAN able to do so without introducing a DNS Leak.
Now when I set the Ethernet adapter DNS server(s) to that of the router (10.4.0.1) or other DNS providers (9.9.9.9 or OpenDNS), the list of DNS servers returned on dnsleaktest.com is that of the VPN provider (NordVPN).
This is desired behavior for me but YMMV depending on your intended setup.
Conclusions from all of this:-
1) If you configure exceptions on a device by device basis to use the WAN interface, then that device will no longer be forced by the rule “Accept DNS Configuration – Exclusive” to use a specific VPN DNS but rather the default setting which is that of the WAN DNS. This is contrary to what the Wiki says that you linked to...
2) If you want a whole device to go through the WAN or the VPN then that is easily achieved but if you want some traffic from a device to go to the VPN and other traffic from the same device to go through the WAN then it seems that level of granularity is not able to prevent DNS leaks?