How to Check if Your VPN is Working on Mac: DNS Leak Testing Guide
Your VPN icon shows “connected.” Your ISP can still see everything you’re doing.
DNS leaks. IPv6 leaks. WebRTC leaks. Your VPN can be active while your traffic leaks around it. Here’s how to know if your VPN is actually protecting you—and how to fix it when it’s not.
The Problem: VPN ≠ Privacy
Most people assume their VPN works because the app says “connected.” That’s not enough.
What actually happens:
- You connect to a VPN server in Switzerland
- Your Mac sends DNS requests to your ISP (leak)
- Your ISP sees every website you visit
- Your VPN did nothing
This is a DNS leak—your DNS queries bypass the VPN tunnel. Your ISP, government, or network admin can see your browsing history even though you’re “protected.”
Why it happens:
- macOS defaults to system DNS servers
- VPN apps don’t always override DNS properly
- IPv6 traffic can bypass VPN entirely
- VPN disconnect without killing internet (no kill switch)
Lesson: The VPN icon in your menu bar lies. You need to verify.
The 3 Types of VPN Leaks
1. DNS Leak (Most Common)
What it is: Your DNS requests go to your ISP instead of your VPN’s DNS servers.
Why it matters: DNS queries reveal every domain you visit. If your ISP handles DNS, they see your browsing history regardless of VPN encryption.
How to detect: If a DNS leak test shows your ISP’s DNS servers instead of your VPN provider’s, you’re leaking.
2. IPv6 Leak
What it is: Your Mac uses IPv6 internet traffic that bypasses the VPN tunnel.
Why it matters: Most VPNs only tunnel IPv4. If you have IPv6 enabled, that traffic leaks your real location and identity.
How to detect: If an IPv6 test shows your real ISP IPv6 address while connected to VPN, you’re leaking.
3. WebRTC Leak (Browser-Based)
What it is: Browsers can expose your real IP address through WebRTC, even with VPN connected.
Why it matters: Websites can detect your true IP despite the VPN.
How to detect: If a WebRTC test shows your real IP alongside the VPN IP, you’re leaking.
Manual Testing: The Free Way
You can test for leaks manually using online tools. Here’s the process:
Step 1: Check Your Baseline IP
Before connecting to VPN:
- Visit ipleak.net
- Note your real IP address and location
- Note your ISP’s DNS servers
This is what you’re trying to hide.
Step 2: Connect to VPN
Connect to your VPN:
- Choose a server in a different country
- Wait for connection to establish
- Verify VPN app shows “connected”
Step 3: Test for DNS Leaks
Check DNS servers:
- Visit dnsleaktest.com
- Click “Extended Test”
- Wait for results
What to look for:
- ✅ Good: DNS servers belong to your VPN provider or are in the VPN server’s country
- ❌ Bad: DNS servers belong to your ISP or show your real location
Step 4: Test for IPv6 Leaks
Check IPv6 address:
- Visit test-ipv6.com
- Check if IPv6 address is detected
What to look for:
- ✅ Good: “No IPv6 address detected” or VPN provider’s IPv6 address
- ❌ Bad: Your real ISP IPv6 address shows up
Step 5: Test for WebRTC Leaks
Check browser leaks:
- Visit browserleaks.com/webrtc
- Look at “Local IP Address” section
What to look for:
- ✅ Good: Only VPN IP addresses appear
- ❌ Bad: Your local network IP (192.168.x.x or 10.x.x.x) appears
Quick fix for WebRTC leaks:
- Use browser extensions like “Disable WebRTC” (Chrome/Firefox)
- Or disable WebRTC in browser settings
Fixing Common Leaks
Fix DNS Leaks
Option 1: Use VPN’s DNS servers
- Check if your VPN app has “Use VPN DNS” option
- Enable it in VPN settings
- Reconnect and retest
Option 2: Manually set DNS in macOS
- Open System Settings → Network
- Select your network connection
- Click Details → DNS
- Remove ISP DNS servers
- Add VPN provider’s DNS servers
Option 3: Enable VPN kill switch
- Most VPN apps have this feature
- Blocks all internet if VPN disconnects
- Prevents accidental leaks
Fix IPv6 Leaks
Option 1: Disable IPv6 (Recommended)
Most VPNs don’t support IPv6. Safest to disable it:
- Open System Settings → Network
- Select your connection → Details
- Go to TCP/IP tab
- Set “Configure IPv6” to Link-local only
- Click OK
Option 2: Use VPN with IPv6 support
- Mullvad, IVPN, and some others support IPv6
- Verify with their documentation
Fix WebRTC Leaks
Browser settings:
Safari:
- Safari doesn’t leak WebRTC by default (Apple disabled it)
Chrome:
- Install “WebRTC Leak Prevent” extension
- Or use Brave browser (blocks by default)
Firefox:
- Type
about:configin address bar - Search for
media.peerconnection.enabled - Set to
false
Automatic Monitoring vs. Manual Testing
Problem with manual testing:
- You have to remember to check
- VPN can disconnect silently while you work
- Leaks can start mid-session
- Testing every site visit is impractical
Example scenario:
- You connect to VPN before work
- VPN silently drops connection during a Zoom call
- You browse for 2 hours without noticing
- ISP logs everything
macOS doesn’t alert you when VPN disconnects. You might not notice for hours.
Lesson: One-time tests are snapshots. Continuous monitoring catches problems immediately.
Automated VPN Monitoring Tools
Several tools provide persistent monitoring:
Built-in: macOS System Preferences
What it shows:
- Active VPN connection indicator (lock icon)
- VPN on/off status
Limitations:
- No leak detection
- No alerts on disconnect
- No DNS/IPv6 verification
Best for: Basic awareness that VPN is connected (not that it’s working correctly).
Third-Party: VPN Provider Apps
Most VPN apps include:
- Connection status
- Server selection
- Kill switch option
Limitations:
- Don’t test for leaks
- Assume DNS routing is correct
- No verification of actual traffic flow
Best for: Connecting to VPN, but not verifying privacy.
VPN Peek
A dedicated menu bar leak monitor.
Pros:
- Real-time DNS leak detection
- IPv6 leak checking
- Alerts when VPN disconnects
- Auto-refresh leak tests at intervals
- Shows current IP and location
Cons:
- Requires separate app
- Not built into VPN client
Best for: Users who want continuous verification without manual testing.
Choosing the Right VPN for Mac
Not all VPNs handle macOS properly. Look for:
1. Native macOS App
Why it matters: Native apps integrate better with macOS network stack.
Avoid: Browser extensions (leak prone), manual OpenVPN configs (complex)
2. Kill Switch Feature
What it does: Blocks all internet if VPN disconnects
Why essential: Prevents accidental leaks between disconnect and reconnect
Test it: Disconnect VPN manually, try browsing. Should be blocked.
3. DNS Leak Protection
What to look for:
- “Use VPN DNS” or “DNS leak protection” toggle
- Custom DNS servers option
- Automatic DNS override
Test it: Run DNS leak test with feature on/off
4. IPv6 Handling
Options:
- IPv6 support: VPN tunnels IPv6 traffic (rare)
- IPv6 blocking: VPN disables IPv6 to prevent leaks (common)
- No handling: You must disable IPv6 manually (bad)
Recommended VPNs with good macOS support:
- Mullvad (open source, IPv6 support, kill switch)
- IVPN (privacy-focused, leak protection)
- ProtonVPN (secure core, NetShield)
(This is not sponsored. These just handle macOS correctly.)
When to Test Your VPN
Daily Routine
Morning: Verify VPN connected and no leaks before starting work
Why: VPN might have disconnected overnight, DNS settings can reset
After Network Changes
Test after:
- Switching WiFi networks (home → coffee shop)
- macOS updates
- VPN app updates
- Changing VPN servers
Why: Network changes can break VPN routing
Random Spot Checks
Test during:
- Before accessing sensitive accounts
- When using public WiFi
- When browsing from restricted locations
Why: VPN can fail silently. Regular verification catches issues.
Common macOS VPN Issues
”VPN Connected” but Internet Doesn’t Work
Cause: Split tunneling or routing conflict
Fix:
- Disconnect VPN
- Flush DNS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Reconnect VPN
- Test connection
DNS Requests Still Go to ISP
Cause: macOS not respecting VPN DNS servers
Fix:
- System Settings → Network → Advanced → DNS
- Remove all DNS servers
- Add only VPN provider’s DNS
- Drag VPN DNS to top of list
- Apply changes
VPN Keeps Disconnecting
Cause: Firewall or antivirus interference
Fix:
- Check System Settings → Network → Firewall
- Add VPN app to allowed list
- Disable “Block all incoming connections”
- Restart Mac
My Recommendation
For most Mac users, here’s the practical approach:
Initial Setup (One-time)
- Test your VPN manually using ipleak.net and dnsleaktest.com
- Fix any leaks before relying on VPN
- Enable kill switch in VPN app settings
- Disable IPv6 unless your VPN supports it
Ongoing Monitoring
Option A: Manual (Free)
- Test weekly with online leak tests
- Check before sensitive browsing
- Requires discipline
Option B: Automated
- Use menu bar monitor like VPN Peek
- Get alerts on disconnect or leaks
- Continuous peace of mind
You don’t need paranoia-level checking. But you should verify your VPN works more than once.
The Bottom Line
The VPN icon in your menu bar only tells you the app is connected. It doesn’t tell you if your privacy is protected.
DNS leaks, IPv6 leaks, and silent disconnections happen frequently. macOS won’t warn you.
Test manually:
- Use ipleak.net, dnsleaktest.com, test-ipv6.com
- Check after setup and network changes
- Free but requires manual checking
Monitor automatically:
- VPN Peek for continuous leak detection
- Alerts when VPN fails
- Persistent visibility in menu bar
Pick based on your threat model. If you use VPN casually for geo-unblocking, manual tests are fine. If you rely on VPN for privacy or work remotely with sensitive data, automated monitoring catches failures before they matter.
Either way, “connected” doesn’t mean “protected.” Verify.
VPN Peek
Continuous VPN monitoring and leak detection from your Mac menu bar. Get instant alerts when your VPN disconnects or DNS/IPv6 leaks are detected—no manual testing required.