Your VPN Can Fail Without Telling You
VPN software is not infallible. Connections drop, tunnel interfaces crash, IPv6 stacks bypass the tunnel entirely, and DNS resolvers quietly fall back to your ISP's servers without any visible warning. Your VPN client might show a green checkmark while your real IP address is fully visible to every website you visit.
The only way to know your VPN is actually working is to test it. Not once — every time you start a session that depends on privacy. The tests described here take under two minutes combined and cover the four distinct ways a VPN can fail while appearing active: IP leaks, DNS leaks, IPv6 leaks, and kill switch failures.
How VPN IP Masking Works (and Where It Breaks)
When a VPN is functioning correctly, your device sends all traffic through an encrypted tunnel to a VPN server. Websites and services see the IP address of that VPN server, not yours. Your ISP sees encrypted traffic going to the VPN endpoint but cannot see the content or destination beyond it.
The failure modes are specific and well-understood:
- Tunnel collapse: The VPN tunnel drops but the operating system continues routing traffic normally, exposing your real IP. This is what a kill switch prevents.
- DNS leak: The VPN encrypts your web traffic but your DNS queries — the lookups that translate domain names to IPs — still go through your ISP's resolver. The ISP cannot see your browsing content but can see every domain you visit.
- IPv6 leak: Most VPNs tunnel IPv4 traffic but many do not handle IPv6. If your ISP provides an IPv6 address and the VPN does not tunnel IPv6, websites that support IPv6 will see your real IPv6 address, completely bypassing the VPN.
- WebRTC leak: Browsers use WebRTC for real-time communication features. WebRTC can establish peer connections that reveal your local and public IP addresses directly to a web page, even when a VPN is active. This is a browser-level issue, not a VPN configuration issue.
Test 1: The Basic IP Check
The most fundamental test: with your VPN connected, check what IP address is visible to the outside world. Navigate to an IP lookup tool while your VPN is active. The IP you see should match the VPN server's location, not your physical location.
What to verify: the IP address matches the VPN server location you selected, the ASN (Autonomous System Number) belongs to the VPN provider or a data center (not your ISP), and the geolocation shows the expected city and country rather than yours.
If the IP still shows your real ISP and location, your VPN is not routing traffic correctly. The most common cause is a misconfigured split-tunnel setting that excludes web traffic from the VPN, or a VPN client that failed to establish the tunnel despite showing a connected status.
Test 2: DNS Leak Test
A DNS leak occurs when your DNS queries travel outside the VPN tunnel. Even if your IP is correctly hidden, a DNS leak tells your ISP every domain name you visit — which is enough to reconstruct your browsing activity.
To check for DNS leaks: while connected to your VPN, run a DNS leak test. The test makes DNS queries and reports which DNS servers responded. You should see only DNS servers belonging to your VPN provider or a neutral resolver (like one operated by Cloudflare or Google if your VPN routes to those). If you see your ISP's DNS servers in the results, you have a DNS leak.
Fixing DNS leaks requires either enabling your VPN client's built-in DNS leak protection option, or manually configuring your operating system's DNS settings to use only the VPN provider's DNS servers and disabling fallback DNS.
Test 3: IPv6 Leak Test
IPv6 leaks are the most commonly overlooked VPN failure mode. Many users and even VPN providers focus entirely on IPv4 while ignoring IPv6 completely.
To test: while connected to your VPN, run an IPv6 leak test or visit a site that shows your IPv6 address. If you have an IPv6 address assigned by your ISP and the test reveals it, your VPN is not tunneling IPv6 traffic. Websites that support IPv6 will connect to you via IPv6, bypassing the VPN entirely.
The solutions are: enable IPv6 leak protection in your VPN client if it offers this, configure your system to disable IPv6 entirely while the VPN is active, or use a VPN provider that explicitly tunnels and handles IPv6. Disabling IPv6 systemwide on Linux can be done by adding net.ipv6.conf.all.disable_ipv6 = 1 to /etc/sysctl.conf, though this is a blunt approach that breaks any IPv6-only services.
Test 4: Kill Switch Verification
A kill switch cuts all network traffic the moment the VPN tunnel drops, preventing your real IP from being exposed during the gap between tunnel failure and reconnection. Many VPN clients advertise a kill switch — this test verifies it actually works.
The procedure: enable the kill switch in your VPN client settings, connect to the VPN, then disconnect only the VPN tunnel itself (do not disconnect Wi-Fi or Ethernet). Your internet should immediately stop working completely. If you can still load websites or other internet resources after the VPN disconnects, the kill switch is not functioning.
On some VPN clients, the kill switch only activates when the entire VPN application crashes rather than on graceful disconnects. Test both: use the app's disconnect button and also force-kill the VPN process. Both should result in complete internet blockage until the VPN reconnects.
Test 5: WebRTC Leak Test
WebRTC is a browser API that enables real-time communication features like video calls and P2P file sharing. To establish these connections efficiently, WebRTC bypasses the standard network stack and uses STUN servers to discover the device's real IP addresses — including the local LAN IP and the public WAN IP.
This happens at the browser level and many VPNs do not block it. A website can run JavaScript that triggers WebRTC to reveal your real public IP even when a VPN is active.
To test: with your VPN active, use a WebRTC leak test page in your browser. If it shows your real ISP-assigned IP address alongside the VPN IP, you have a WebRTC leak. The fix is browser-specific: in Firefox, set media.peerconnection.enabled to false in about:config. In Chrome, install a WebRTC leak prevention extension. In Brave, WebRTC leak prevention is built in under privacy settings.
VPN Verification Method Comparison
| Test | What It Catches | Tool Needed | Frequency |
|---|---|---|---|
| IP check | Tunnel not routing traffic | IP lookup site | Every session |
| DNS leak test | DNS queries leaving tunnel | DNS leak test site | When changing VPN servers |
| IPv6 leak test | IPv6 bypassing VPN | IPv6 leak test site | Once, then after VPN updates |
| Kill switch test | Kill switch not working | Manual disconnect test | After VPN client updates |
| WebRTC leak test | Browser revealing real IP | WebRTC test page | After browser updates |
Common Misconceptions About VPN Verification
Misconception 1: "A green connected icon means the VPN is working"
The connected status in a VPN client confirms that the application successfully negotiated a session with the VPN server. It does not confirm that all traffic — including DNS and IPv6 — is actually flowing through the tunnel. A client can show connected while significant traffic leaks around the tunnel. The only reliable verification is an external test from outside the VPN client.
Misconception 2: "My VPN has no logs so even leaks do not matter"
A no-logs policy addresses what the VPN provider stores about your activity. It does not address what your ISP observes during a DNS or IPv6 leak. If your DNS queries leak to your ISP's resolver, the ISP records every domain you visit regardless of what the VPN provider does with its own logs.
Misconception 3: "IPv6 does not matter because most websites are IPv4"
Major services including Google, Facebook, Amazon, and Cloudflare all support IPv6. ISPs in many countries are primarily deploying IPv6 infrastructure as IPv4 space runs out. An IPv6 leak will expose your real identity to a growing percentage of your actual traffic, not a negligible edge case.
Misconception 4: "Free VPNs have the same protection as paid ones"
Free VPN services routinely lack DNS leak protection, IPv6 tunneling, and reliable kill switch implementations. Some free VPNs intentionally route DNS through their own servers for traffic logging and monetization. Independent audits of several free VPN applications have found active DNS leaks, traffic logging, and in some cases malware. If privacy matters, these are not acceptable trade-offs.
Pro Tips for Consistent VPN Verification
- Create a testing checklist and run it on every new device or OS install. Default system settings vary between Windows, macOS, Linux, Android, and iOS. IPv6 leak behavior differs per platform. Test on each device independently rather than assuming settings from one carry over.
- Use your VPN's DNS servers explicitly. Many VPN clients will tell you their DNS server IPs. Add them manually in your OS network settings as the primary DNS and disable automatic DNS assignment. This eliminates one of the most common leak vectors.
- Test from a command line as well as a browser. Browser-based tests catch WebRTC and HTTP-level leaks. Command-line DNS lookups using
digornslookupconfirm which resolver is actually handling queries:dig TXT whoami.akamai.netreturns the IP that made the DNS request. - Set up an automatic kill switch at the OS firewall level as a backup. On Linux, you can configure
iptablesornftablesrules that drop all traffic except on the VPN tunnel interface (tun0). This operates independently of the VPN client and provides a hardware-level safety net even if the VPN application crashes. - Re-test after every VPN software update. Client updates can reset kill switch settings, change DNS handling behavior, or introduce regressions in IPv6 handling. Treat a version update as a new install and run the full test suite.
Automation-friendly checks
Encode the same five tests in CI for corporate VPN profiles: curl JSON endpoints over IPv4/IPv6, resolve a canary DNS name tied to your resolver logging, and fetch rtc-capable pages in headless Chromium only if you explicitly test WebRTC policies. Record egress ASN and compare to baseline files so silent split-tunnel regressions surface in diffs rather than ad-hoc clicks.
A VPN that leaks is worse than no VPN — it creates a false sense of security while your real IP and DNS activity remain visible. The five-test verification process described here takes two minutes and gives you actual confirmation rather than assumption. Run a full VPN leak and IP audit test right now.