/macos-vpn-traffic-dns-split

Traffic and DNS split tunnelling for MacOS when using VPN

Primary LanguageShellMIT LicenseMIT

macos-vpn-traffic-dns-split

Traffic and DNS split tunnelling for MacOS when using VPN

Overview

TODO: more info

dnsmasq setup

Install

brew install dnsmasq

Configure

cp dnsmasq.conf /usr/local/etc/dnsmasq.conf

Network override setup

mkdir -p $HOME/.util/scripts
cp scripts/network-override.sh $HOME/.util/scripts/
cp agent/network-override.plist /Library/LaunchDaemons/

Start the services

sudo brew services restart dnsmasq
sudo launchctl load -w /Library/LaunchDaemons/network-override.plist

Useful commands

Check routes

watch -d "netstat -rn"

Check for DNS leaks

sudo tcpdump -s0 -lvni utun2 'udp port 53'
sudo tcpdump -s0 -lvni lo0 'udp port 53'
sudo tcpdump -s0 -lvni en0 'udp port 53'