A VPN can show a foreign IP address while still allowing DNS requests, IPv6 traffic, or WebRTC information to escape through your ordinary network connection. That is why checking only an IP address is not enough when you are evaluating privacy. A proper DNS leak check looks at the resolver handling your domain requests, compares results before and after connecting to the VPN, and then checks the browser features that can create a separate path around the tunnel.
This guide explains what a DNS leak is, how to test it, why WebRTC and IPv6 deserve separate checks, and which client settings usually make the biggest difference. It also covers protocol selection, public Wi-Fi habits, and a practical troubleshooting sequence for Windows, macOS, Android, iOS, and Linux. The goal is not to promise perfect anonymity; it is to help you confirm whether your VPN is behaving as configured and to identify the exact layer that needs attention.
What a DNS Leak Really Means
DNS is the directory system used by the internet. When you enter a domain name, your device needs to ask a DNS resolver for the corresponding IP address before the connection can begin. That request can reveal the domains you are trying to access, even when the website connection itself is protected by HTTPS.
Without a VPN, DNS requests are commonly sent to a resolver supplied by your home broadband provider, mobile carrier, router, or public Wi-Fi network. When a VPN connects correctly, the client should normally route DNS traffic through the encrypted tunnel to a resolver selected by the VPN service or by the VPN configuration. The exact arrangement differs between providers, but the important principle is that your ordinary network should not continue receiving the same DNS requests outside the tunnel.
A DNS leak occurs when the VPN encrypts some traffic but DNS queries continue to travel through the local router, internet provider, or another resolver that was not intended to handle them. Several causes are common:
- ✅ The VPN adapter connects, but the operating system keeps the original Wi-Fi adapter as the preferred DNS path.
- ✅ A router, captive portal, or corporate network intercepts and redirects DNS requests.
- ❌ A browser uses its own DNS-over-HTTPS provider while the VPN is configured to use a different DNS path.
- ❌ IPv6 remains active outside the VPN even though IPv4 traffic is protected.
- ❌ The VPN disconnects briefly and the device sends requests before the kill switch takes effect.
A DNS leak does not necessarily mean that every website request is exposed. It does mean that the privacy design is not working as expected. The resolver may learn the domain being requested, the time of the request, and the public network from which it arrived. That metadata can be important even when page content is encrypted.
How to Run a Reliable DNS Leak Test
Run the test in a controlled order instead of opening a test page only once after connecting. First disconnect the VPN and note the normal network information. Then connect the VPN, wait until the client reports an active connection, and repeat the test. Finally, change the VPN server or protocol and run the test again. This makes it easier to distinguish a persistent configuration problem from a single resolver or route issue.
- Close private browsing sessions and pause downloads or applications that make many connections.
- Record the visible public IP and DNS resolver information without the VPN.
- Connect to the VPN and wait for the client status to become active.
- Refresh the DNS test page and inspect every listed resolver, not just the first result.
- Disconnect and reconnect using another server, then repeat the check.
- Test once more after changing networks, such as moving from home Wi-Fi to mobile data.
The result should be interpreted carefully. Seeing a resolver associated with your broadband provider or mobile carrier after the VPN is connected is a warning sign, especially when the same resolver appeared before the connection. Seeing a resolver located in a different country is not automatically proof of a leak: some VPN providers use centralized DNS infrastructure, anycast addresses, or a resolver whose registration location differs from the server you selected.
Look for patterns rather than relying on a single label. Compare the resolver organization, IP range, and location before and after connecting. If the test lists both the VPN-associated resolver and your ordinary provider, the mixed result deserves investigation. If the VPN disconnects and the DNS test continues to work normally, that does not prove the tunnel is safe; the test must be repeated while disconnected so that the resolver change is visible.
WebRTC, IPv6, and Browser-Side Leaks
DNS is only one part of the privacy picture. Browsers can expose network information through features that are separate from ordinary page loading. WebRTC is the most frequently discussed example. It allows browser applications to establish real-time audio, video, and data connections, and it may query STUN servers to discover connection candidates. Depending on the browser, operating system, and VPN implementation, those candidates can reveal local addresses or a public address associated with the underlying network.
A WebRTC result should not be confused with a DNS result. A DNS leak exposes which resolver answered a domain lookup; a WebRTC issue concerns connection candidates presented to a browser application. A VPN extension may control browser traffic but not protect other applications, while a system-level VPN client may cover more traffic but still require browser-specific WebRTC controls. Test both layers if browser privacy matters to you.
IPv6 creates another common mismatch. If your VPN protects IPv4 traffic but does not provide IPv6 tunnelling or filtering, applications may prefer the available IPv6 route and bypass the intended tunnel. The user may still see a protected IPv4 address in a basic test, which makes the problem easy to miss. Check whether the VPN client has an IPv6 leak protection option, and test from a network that actually provides IPv6 rather than assuming the feature is irrelevant.
| Check | What it examines | Possible warning | Typical response |
|---|---|---|---|
| Public IP | The address used by an external service to see your connection | Your ordinary ISP or mobile address remains visible | Reconnect the VPN and inspect routing or split tunnelling |
| DNS | The resolver answering domain-name requests | Your usual ISP resolver appears outside the VPN path | Enable DNS leak protection and review adapter priorities |
| WebRTC | Browser connection candidates for real-time communication | An underlying local or public candidate is exposed unexpectedly | Review browser WebRTC controls and test the system client separately |
| IPv6 | Whether IPv6 traffic follows the protected route | An IPv6 address appears while only IPv4 is covered | Enable IPv6 protection or disable IPv6 only when appropriate |
Browser Secure DNS, also called DNS-over-HTTPS in many browsers, needs special attention. It encrypts DNS between the browser and its chosen resolver, but it does not automatically mean that the request follows the VPN's DNS policy. If you are troubleshooting a suspected leak, temporarily set Secure DNS to the browser default or turn it off, test again, and then decide which DNS design you actually want. Running several independent DNS systems at once makes the result harder to understand.
Hands-On Fix Sequence
The following sequence is designed to narrow the problem without changing many variables at once. Menu names differ between clients, but the concepts are consistent across official desktop applications and compatible clients such as Clash Verge, sing-box, and Shadowrocket.
1. Check the Client Routing Settings
Open the VPN settings and look for options named DNS leak protection, private DNS, secure DNS, block outside DNS, or use VPN DNS. Enable the option that forces DNS through the tunnel. If the client offers split tunnelling, review both the included and excluded applications. An excluded browser or DNS utility may continue using the normal network by design.
Also check whether the client is operating in system-wide mode or only as a browser proxy. A system VPN generally creates a virtual network interface and can cover more applications. A browser proxy affects only traffic that uses the browser configuration. Neither mode should be judged as universally better; they simply protect different scopes of traffic.
2. Check Operating-System Adapters
On Windows, inspect the active VPN adapter and the physical Wi-Fi or Ethernet adapter. Automatic DNS selection is usually preferable unless you have a specific reason to set a resolver manually. A stale virtual adapter, a manually assigned DNS address, or an old third-party client can interfere with routing.
On macOS, review the active network service order and remove obsolete VPN profiles if they are no longer used. On Linux, NetworkManager, systemd-resolved, resolvconf, and a local DNS service may each influence the final resolver. Check which component owns the resolver configuration instead of editing a generated file that will be overwritten on the next connection.
On Android and iOS, Private DNS or encrypted DNS settings can override the assumptions made by the VPN client. Test with the operating system setting on its default or automatic mode first. If you use a dedicated DNS application, pause it during troubleshooting so that only one DNS policy is active.
3. Test the Kill Switch
A kill switch is intended to block selected or all network traffic when the VPN tunnel disappears. The exact behavior varies. Some clients block internet traffic but allow local-network access; others include a setting that blocks traffic only during reconnection. Read the description rather than assuming every kill switch has the same scope.
To test it safely, connect to the VPN, note the active status, and briefly switch networks or disable the VPN from the client interface. Observe whether applications stop communicating while the tunnel is unavailable. Do not use an important meeting, payment, or file transfer for this test. Afterward, reconnect and run the DNS and IP checks again. If traffic continues during a visible disconnect, look for a stronger always-on or block-without-VPN mode.
4. Review Browser Features
Test the browser with Secure DNS temporarily disabled or set to its default mode. Review WebRTC-related permissions and extensions, and avoid installing several privacy extensions that modify the same network behavior without understanding their interaction. Browser extensions can also be limited to one profile, so repeat the test in every profile used for sensitive browsing.
After each change, clear the test page, reconnect the VPN, and repeat the same checks. If the problem disappears only when a browser setting changes, the VPN may be functioning correctly while the browser was using an independent path.
For a guided starting point, use the site’s setup tutorial for client installation and subscription import, then confirm the privacy controls inside the client you actually use. The official clients support Windows, macOS, iOS, Android, and Linux; compatible clients may expose different names for the same routing functions.
Protocol and Route Choices
Protocol selection can affect stability, reconnect behavior, and how a client handles DNS, but changing protocols does not automatically repair a DNS leak. The leak is usually caused by routing or resolver policy. Still, a protocol that reconnects cleanly and supports the client’s kill switch can be a better practical choice.
- WireGuard is lightweight and usually reconnects quickly. Its configuration is simple, but the client must still enforce DNS and route rules correctly.
- OpenVPN is mature and widely supported. It can operate over UDP or TCP, with different trade-offs for speed, reliability, and compatibility.
- Shadowsocks is a lightweight proxy method rather than a complete privacy policy by itself. DNS handling depends heavily on the client and its mode.
- VMess and Trojan are used by compatible proxy clients with different transport arrangements. Their privacy result still depends on system routing, DNS handling, and the selected configuration.
- Hysteria2 uses QUIC and UDP-oriented transport behavior. It may be useful on some high-latency or lossy networks, while network policies that restrict UDP can make it unsuitable.
Route type matters as well. An IEPL dedicated line may provide a more controlled cross-border segment, while BGP relay and direct public-internet routes can vary with congestion and local peering. These differences mainly affect stability and reachability; they do not replace a DNS leak test. After switching route type, run the same DNS, IP, IPv6, and WebRTC checks rather than assuming a premium-looking route is automatically private.
100+
Countries covered for broader server choice
180+
Lines available for comparing routes
Unlimited
Devices online at the same time
30 days
No-reason refund period
More server choice can help when one route or resolver has a problem, but it also increases the importance of testing the exact server and client combination you plan to use. If privacy is the priority, consistency and a clearly understood configuration are more valuable than repeatedly switching options without recording the result.
Everyday Habits on Public Wi-Fi
A correctly configured VPN is useful, but it should not become a substitute for ordinary security habits. Public Wi-Fi networks may use captive portals, DNS interception, weak isolation, or aggressive session timeouts. Connect to the portal before enabling the VPN when necessary, then reconnect the VPN after the network grants access. Some networks change their route after authentication, so a test performed before the portal login may not describe the final connection.
- ✅ Confirm the VPN status after waking a laptop or phone from sleep.
- ✅ Recheck DNS after changing from Wi-Fi to mobile data or another hotspot.
- ✅ Keep the kill switch enabled when using untrusted networks.
- ✅ Use HTTPS and application-level authentication even when the VPN is active.
- ❌ Do not assume a browser extension protects mail clients, games, or background applications.
- ❌ Do not run two full VPN clients at the same time unless you understand their routing interaction.
- ❌ Do not treat a different-looking DNS location as proof that every request is protected.
For account safety, use unique passwords and multi-factor authentication where available. A VPN can protect traffic between your device and the VPN endpoint, but it cannot prevent a phishing site from collecting credentials, make a compromised device trustworthy, or guarantee that a service provider will retain no connection metadata. Privacy is a chain: DNS routing, transport encryption, browser behavior, endpoint security, and account practices all contribute.
FAQ: DNS Leak Checks and VPN Privacy
Does a foreign IP address prove that my VPN has no DNS leak?
No. The public IP test and DNS test examine different things. Your web traffic may exit through the VPN while DNS requests still go to your ordinary ISP resolver. Run a dedicated DNS check while the VPN is connected, then compare it with a test performed without the VPN.
Is DNS-over-HTTPS always safer than the VPN’s DNS?
Not automatically. DNS-over-HTTPS encrypts the browser-to-resolver connection, but the browser may send queries outside the VPN’s intended DNS policy. It can be useful, but you should choose one clear design and verify it. During troubleshooting, temporarily disable browser Secure DNS so you can see how the VPN handles DNS on its own.
Can a kill switch stop every possible leak?
A kill switch can block traffic when the VPN tunnel is unavailable, but its scope depends on the client and operating system. Some allow local-network traffic, some cover only selected applications, and some do not control browser-specific WebRTC behavior. Test the setting and read its exact description instead of assuming it blocks everything.
What should I do if only IPv6 appears outside the VPN?
First check whether the client supports IPv6 tunnelling or IPv6 leak protection. If it does not, disable IPv6 only when that is appropriate for your network and you understand the effect on local services. Then reconnect and repeat the IPv4, IPv6, DNS, and WebRTC checks.