I have a VPN running with vpn policy based routing. Seems to work, only strange thing i'm seeing is that the vpn network (which is a completely separate interface: vpnlan ->tun0) is also using the LAN network DNS...
config interface 'lan'
option type 'bridge'
option ifname 'eth0.1'
option proto 'static'
option netmask '255.255.255.0'
option ipaddr '192.168.0.251'
option gateway '192.168.0.250'
option delegate '0'
list dns '192.168.0.20'
config interface 'vpnlan'
option proto 'static'
option delegate '0'
option netmask '255.255.255.0'
option ipaddr '172.16.12.1'
option type 'bridge'
list dns '103.86.96.100'
list dns '103.86.99.100'
A dns leaktest shows that all dns servers from the config are used on the vpnlan network.
Clients typically use DNS advertised by DHCP that uses the router's IP by default.
DNS on interfaces are used as upstream resolvers for Dnsmasq and are unrelated to DHCP configuration.
Dnsmasq periodically queries all upstream resolvers and uses the one which replies the fastest for a period of time.
Yep, using multiple Dnsmasq instances should work as well assuming you specify different upstream resolvers for each instance and properly configure routing for outgoing DNS traffic.
The example in the wiki uses symlinks to the same resolver config for all instances.
You can replace the symlink with a custom config file, or utilize DNS forwarding.