Hi,
anyone up for a challenge?
I'm currently running 4 different VPN clients on the same wrt1900acs router to 4 separate locations. My LAN clients have the ability to utilise all 4 VPNs using a combination of source based routing rules or domain based IPset matching. Thus I can potentially have any LAN client accessing resources in 4 separate VPNs simultaneously in infinite combinations.
This is very cool and super versatile when you've got kids/devices/content libraries everywhere and a need to go between them a lot. (in Australia we are blocked out of everything!) It all works fine...except for a challenging dns leak conundrum I need some help with ...
#the catch-22
My source IP routed expressVPN LAN clients require that 8.8.8.8 be their locally set dns server. When this is done as per expressvpn's recommendation, you get a perfectly dns-leak free VPN.
however....
Conversely, for leak free simultaneous IPset domain matching, LAN clients must NOT point to 8.8.8.8,. Instead they must instead point to the local Openwrt instance of dnsmasq (192.168.1.1) so as to trigger the creation of the ipset-tag that is needed by the ipset rule that forwards the appropriate traffic to the appropriate VPN gateway. DNSmasq rules also forward the DNS query though the assigned server in dnsmasq.conf ie
server=/ipleak.net/ipset1
server=/ipleak.net/tunnel.dns.ip
The catch-22 is that if a LAN client is set to use 8.8.8.8, ipset triggers can never occur because local dnsmasq is bypassed. AND setting LAN client to local DNS so as to trigger an IPset routed VPN selection causes the source ip based VPN clients to leak as 8.8.8.8 cannot be used... and so on....
So I'm hoping the forum might have some creative ideas as to how I can trigger the local DNSmasq ipset matches while keeping client DNS at 8.8.8.8, or some other workable combination.
Under DDWRT I used to force all lan dns queries to 8.8.8.8 and it all used to work leak free...I'm not sure if that's an option here. After loads of searching I cant find any working documentation how to redirect LAN dns to external IPs (there's plenty of docs explaining how to force the other way though which I've also tried for curiosity sake)
I'm running 18.06.4 /openvpn-ssl/dnsmasqfull/mwan3
all ideas welcome!