How can I have a hostname always be resolved using my local network's DNS server when I'm connected to a VPN?
You could configure dnsmasq to
- use your local DNS as an upstream server for the domain in question
- use the VPN's DNS as the upstream for all other requests
This can be achieved by configuring a domain dependent upstream server in /etc/dnsmasq.conf
, for example:
server=/hostname.domain/dns.server.local
Then change the VPN configuration to use your dnsmasq setup as its DNS server.
dnsmasq
can be easily installed with Homebrew as follows:
brew install dnsmasq
Note that, in such a setup, the configuration file is located in $(brew --prefix)/etc/dnsmasq.conf
. This post about using dnsmasq
on macOS for local development may be provide you with some additional hints.