A VPN can appear connected while some requests still use the wrong path. Your browser may send domain lookups to the network provider’s DNS resolver, WebRTC may reveal a local or public address to a website, or an application may bypass the VPN because it does not follow the system proxy. These issues are commonly called DNS leaks, WebRTC leaks, and IP leaks. They do not all have the same cause, and they cannot all be fixed with one switch.
This guide explains how to test each exposure, interpret the result, and apply practical configuration changes on Windows, macOS, Android, iOS, and Linux. It also covers compatible clients such as Clash Verge, sing-box, and Shadowrocket, because the result depends not only on the VPN service but also on the selected mode, DNS settings, browser behavior, and the route used by each application.
3
主要泄露类型
90+
可选国家覆盖
200+
可选线路
不限
同时在线设备
What a VPN leak really means
A leak does not necessarily mean that the encrypted tunnel has completely failed. It means that a particular type of information is leaving through a path you did not intend to use. Separating the information types makes troubleshooting much easier.
DNS exposure occurs when a domain-name request is handled by a resolver outside the intended VPN path. When you enter a website address, your device normally needs to translate the name into an IP address. If that request goes to a local network resolver or an internet provider’s resolver, the resolver may learn which domains your device is requesting even if the later web connection travels through the VPN.
WebRTC exposure is related to browser real-time communication features. WebRTC can be used for calls, meetings, media exchange, and peer-to-peer functions. During connection setup, the browser may gather network candidate addresses. Depending on browser behavior and permissions, a website may learn a local address or a public-facing address that is different from the address shown by a normal web request.
IP exposure means that the destination website can see an address associated with your ordinary connection rather than the VPN exit address. This can happen when the VPN is disconnected, when an application bypasses the proxy, when split tunneling is configured incorrectly, or when IPv6 traffic is not handled consistently.
| Test result | What it may indicate | First setting to inspect |
|---|---|---|
| DNS resolver belongs to the local network or internet provider | DNS requests are outside the expected tunnel | VPN DNS handling, TUN mode, and DNS routing rules |
| WebRTC shows an address associated with the ordinary connection | The browser exposes a network candidate or bypasses the tunnel | Browser WebRTC policy and browser-specific proxy behavior |
| IP test shows the ordinary public address | The request did not use the VPN route | Connection state, system proxy, TUN mode, and application rules |
| Different tests show different locations | Multiple request types are using different paths | Split tunneling, IPv6 handling, and DNS mode |
How DNS leaks happen
DNS behavior is controlled by several layers at the same time. The operating system may have a resolver configured by the local router, a VPN client may install its own DNS service, and a browser may use encrypted DNS independently of the operating system. A compatible client may also create a virtual network interface and process DNS through a rule engine. If these layers disagree, requests can escape through an unexpected resolver.
The most common cause is a system proxy without full traffic capture. In this mode, applications that understand the proxy may send web requests through the client, while other applications continue using the ordinary network stack. DNS can therefore be resolved directly even when a browser page appears to use the selected node. This is especially common with command-line tools, games, update services, and applications that implement their own networking.
Another cause is split tunneling. Rule mode may intentionally send local services or selected domains directly. That can be useful, but a broad or incorrectly ordered rule may also send DNS requests directly. A rule that matches a domain after the client has already performed a local lookup cannot undo the exposure. DNS routing must be considered separately from ordinary destination routing.
Encrypted DNS in a browser can produce a different result again. A browser may send DNS over HTTPS to a provider chosen in its privacy settings, while the operating system uses the VPN client’s resolver for other applications. This is not automatically a leak, because the browser request may still be encrypted, but it can defeat a carefully designed DNS policy and make testing results harder to interpret.
When using Clash Verge or sing-box, check whether DNS is handled by the client, whether fake-IP or redirection behavior is enabled, and whether the selected mode captures only the system proxy or also routes traffic through a TUN interface. The exact names differ between versions, so focus on the traffic path rather than copying a setting label from another device.
WebRTC and browser privacy
WebRTC is not simply another form of ordinary web traffic. It is a browser feature designed for interactive communication, and it may use connection candidates discovered from local interfaces, the public network, or relay services. A normal HTTP request can use a proxy while WebRTC follows a different browser networking path. That is why a browser-based VPN test can look clean while a WebRTC-specific test reports an additional address.
Before changing settings, consider whether you use browser calls, online meetings, screen sharing, or services that depend on peer-to-peer media. Disabling every WebRTC function may break features you need. A more balanced approach is to limit local address exposure, control which sites can use camera and microphone permissions, and test again after changing the browser’s privacy policy.
Browser extensions can also affect the result. A proxy extension may cover normal tabs but not every browser service, while a VPN desktop client may expect the browser to follow the system proxy. Running both at the same time can create confusing behavior, including one extension selecting a route while the desktop client applies another. Use one clear control point during testing.
On mobile devices, browser privacy controls and application VPN APIs have additional constraints. iOS applications generally use the system’s VPN framework when supported by the client, while Android clients may use a local VPN profile to capture traffic. Neither platform guarantees that every browser feature behaves identically. Test the exact browser and network combination you use daily rather than relying only on a desktop result.
- ✅ Test WebRTC in the browser where you normally browse and make calls
- ✅ Review camera, microphone, and local-network permissions for unfamiliar sites
- ✅ Avoid running a browser proxy extension and a desktop proxy client at the same time during diagnosis
- ❌ Do not assume that hiding the public IP automatically hides every WebRTC candidate
- ❌ Do not disable WebRTC blindly if your work or study tools depend on browser calls
A practical testing workflow
Testing is most useful when you change one condition at a time. Start with the ordinary connection, record the visible public IP and DNS resolver information, then connect the VPN and repeat the same tests. Do not switch nodes, browsers, modes, and DNS providers between every test, because the comparison will no longer show which change mattered.
- Prepare a clean baseline. Close duplicate VPN and proxy clients. Confirm whether the browser is using a proxy extension, built-in encrypted DNS, or a private relay feature. Disconnect the VPN and run a public IP check and a DNS leak check.
- Connect one selected node. Use the ordinary official client or one compatible client configuration. Wait until the client reports a connected state, then refresh the public IP test. The visible address should match the chosen exit region rather than the ordinary connection.
- Check DNS separately. Run a DNS leak test and inspect the resolver organization or network association. A resolver location may not exactly match the node location, but the result should be consistent with the VPN provider’s documented DNS design rather than the local network.
- Check WebRTC in the same browser. Record every address category shown by the test. A private local address is not equivalent to a public address, so read the test’s explanation instead of treating every displayed value as a serious exposure.
- Repeat in another mode. If the client supports system proxy and TUN mode, test each mode separately. This reveals whether the problem affects only applications that ignore the system proxy or whether the entire route is incomplete.
- Test after network changes. Disconnect from the current Wi-Fi, connect through another network, and repeat the checks. A setup that works on home Wi-Fi may behave differently on public Wi-Fi because of IPv6 availability, captive portals, router DNS interception, or local network policies.
During this workflow, keep notes about the client, operating system, browser, selected mode, and DNS option. The purpose is not to collect many test screenshots; it is to identify a repeatable combination. If only one application fails, investigate that application’s proxy and DNS behavior before changing the entire system.
Baseline without VPN
→ Public IP test
→ DNS resolver test
→ WebRTC test
→ Connect one VPN node
→ Repeat the same three tests
→ Compare system proxy and TUN mode
→ Re-test after changing one setting
Configuration advice by platform and client
Windows and macOS
On desktop systems, first confirm that the official client has permission to create its network connection and that the operating system proxy points to the intended local service. If the client offers TUN mode, it can usually capture applications that do not respect an ordinary HTTP or SOCKS system proxy. This may improve consistency, but it can also affect local printers, corporate resources, virtualization software, and other private-network services. Use rules deliberately rather than enabling every option at once.
Check the operating system’s DNS configuration after connecting. Some clients install a temporary resolver or redirect DNS through a local listener. Others leave the system resolver visible while handling requests through a virtual interface. The interface may look different between Windows and macOS, so the meaningful question is whether the actual DNS request follows the selected policy, not whether a particular address appears in the settings panel.
Android and iOS
On Android, review the system Private DNS setting as well as the VPN client’s DNS option. A separately configured Private DNS provider may compete with the client’s policy. Android also allows only one active VPN profile in ordinary use, so disconnect other security, filtering, or work-profile VPN applications before testing.
On iOS, check whether the client is using a full VPN profile, a proxy-based configuration, or a browser-specific feature. Safari and third-party browsers may share some system behavior but are not identical in every privacy feature. Private relay-style services, content blockers, and enterprise profiles can also change the route. Temporarily simplify the setup, test the VPN alone, and then add other privacy tools back one by one.
Clash Verge, sing-box, and Shadowrocket
Compatible clients provide more control but also create more opportunities for accidental bypasses. Confirm the selected profile, mode, DNS strategy, and whether TUN is active. In rule mode, inspect the order of rules: a direct rule placed above a proxy rule can send a domain or address outside the tunnel. In global mode, more traffic normally follows the selected proxy, making it useful for diagnosis, but it may not be suitable as a permanent everyday policy.
For sing-box configurations, distinguish between the DNS server definition and the route that carries the DNS request. Defining a remote DNS server does not automatically guarantee that the request reaches it through the intended outbound. For Shadowrocket, review proxy mode, DNS settings, and per-domain rules, then run tests with the same profile after each change. Importing a subscription is only the beginning; the active profile and local overrides determine what the device actually does.
Fixes, trade-offs, and safe habits
The simplest corrective action is often to use the official client with its recommended DNS and full-traffic option, then confirm the result. If you need a compatible client, reproduce the same policy carefully: route DNS through the intended outbound, handle IPv6 consistently, and decide whether local resources should bypass the tunnel. A technically complex configuration is not automatically safer if you cannot explain which path each request uses.
Consider disabling IPv6 only when the client or network cannot handle it correctly, and understand that this may affect local services or application behavior. If the client supports IPv6 through the tunnel, keeping it enabled may be preferable. The correct choice depends on whether IPv6 requests are captured, not on a general claim that IPv6 is always unsafe.
Do not treat a leak test as a permanent guarantee. Browser updates, client updates, operating-system changes, new extensions, and altered rule sets can change the result. Repeat the checks after installing a new client, importing a revised subscription, changing DNS settings, or adding a second privacy application.
- ✅ Keep one primary VPN or proxy client active while diagnosing a route
- ✅ Use TUN mode when applications do not follow the system proxy and the client supports it reliably
- ✅ Place DNS rules and destination rules in an order you can explain
- ✅ Protect subscription links because they may contain access credentials
- ❌ Do not publish screenshots that reveal subscription URLs, account tokens, or private network details
- ❌ Do not judge privacy from a single public IP page
Choosing a privacy-conscious setup
When comparing VPN services, look beyond the number of advertised nodes. Confirm whether the service supports your operating systems, whether official clients are available, and whether subscription links can be imported into the compatible client you already use. VncVPN supports Windows, macOS, iOS, Android, and Linux, with more than 90 countries and more than 200 lines available according to its service information. The account allows an unlimited number of simultaneously online devices, which can be useful when you test a desktop and a phone under the same conditions.
Plan design also affects testing habits. A monthly plan includes 60GB for ¥9.9 per month, 250GB for ¥18 per month, or 500GB for ¥28 per month. Traffic resets monthly from the activation date, and an upgrade in the middle of a period calculates the difference according to the remaining days. For traffic that is used until finished and does not expire, the available packages are 300GB for ¥158, 1000GB for ¥358, and 3000GB for ¥658.
These figures do not prove that a connection is private. They simply help match the service to your usage. Privacy evaluation still requires checking client behavior, DNS handling, WebRTC exposure, rules, and support for the platforms you actually use. VncVPN states that it supports payment through Alipay, WeChat, and USDT, requires only a username and password for registration, and offers a 60-day no-questions-asked refund. Treat these as purchasing considerations rather than substitutes for technical verification.
| Use case | Configuration priority | Verification focus |
|---|---|---|
| Everyday browser use | Official client, controlled DNS, browser WebRTC review | Public IP, DNS resolver, and WebRTC results |
| Public Wi-Fi | Automatic connection policy and full traffic coverage | Reconnect behavior after changing networks |
| Developer or power-user tools | TUN mode, explicit rules, and application-specific testing | Terminal, package manager, and browser paths separately |
| Multiple personal devices | Consistent profiles and protected subscription handling | Each operating system and browser combination |
Frequently asked questions
Does a DNS leak expose my browsing content?
A DNS leak primarily exposes domain lookup requests to the resolver that receives them. It does not automatically reveal the full content of encrypted HTTPS sessions. However, domain names can still disclose useful information about browsing patterns, so DNS handling deserves separate attention even when the public IP is hidden.
Is a private WebRTC address a serious leak?
A private local address usually identifies an interface inside a local network and is not the same as your public internet address. The risk depends on what the test reports and what the website can actually reach. Review public candidates, browser permissions, and the behavior of the specific service rather than treating every local address as equivalent.
Why does the browser pass while an application fails?
Browsers often follow the system proxy, while applications may use direct sockets, their own DNS resolver, or a separate network stack. Enable a suitable TUN mode if available, inspect application-specific proxy settings, and test the failing application separately. A clean browser result cannot certify applications that use another route.
Should I always use global mode?
Global mode can be useful as a diagnostic baseline because it reduces the number of routing decisions. It may send local services and destinations through the proxy unnecessarily, however, and can create compatibility or performance problems. After confirming that the tunnel works, move to a documented rule mode and test the exceptions one by one.
DNS, WebRTC, and IP checks are most valuable when treated as routine verification rather than a one-time label. Establish a baseline, connect one client, compare the same tests, and change only one setting at a time. With a clear route for DNS, browser media features, and application traffic, you can identify genuine exposure without confusing every unusual test result with a complete VPN failure.