What should you do if v2rayNG won’t connect? This guide helps you distinguish between an unavailable node, an Android VPN conflict, an unchanged exit IP, a DNS resolution issue, and a browser settings problem. Check each item in order and change only one setting at a time to avoid making multiple changes at once and losing track of the cause.
1. First, confirm that the node and VPN have started correctly
- Close v2rayNG and use your phone’s existing network to open a few popular domestic websites. If they don’t load either, troubleshoot your Wi-Fi, mobile data, or network sign-in first.
- Check for client updates through the project’s official release channels and install the version suited to your phone’s architecture. If you’re unsure, follow the release page’s instructions and avoid modified versions from unknown sources.
- Refresh your subscription and check the update result, then select a node. If the subscription update fails, check whether the link is complete and still valid. Don’t assume a failed subscription update means the node is unavailable.
- Tap Start, allow the VPN connection request from Android, and confirm that the VPN icon appears in the notification bar. Turn off other VPNs, accelerators, and ad-blocking apps that use local VPN mode to avoid connection conflicts.
- Test the current node, then try another one for comparison. Free nodes may not always be available. A successful import only means the configuration was recognized; it doesn’t guarantee a connection.
A successful latency test doesn’t guarantee that websites will load. Check actual access and the logs as well. Menu names may vary slightly between versions.
2. Check routing mode and your exit IP
If the app shows as connected but you can’t open the target website, first check whether per-app proxying is enabled and whether your browser is excluded. Temporarily turn off per-app proxying, select a routing mode that sends test traffic through the proxy, and reconnect. Use global mode only to troubleshoot, then restore your usual routing rules.
In the same browser, compare your public IP before and after connecting, and make sure the IP lookup site itself is using the proxy. An unchanged IP doesn’t necessarily mean the node is faulty; the lookup site may be connecting directly, the browser may be excluded, or the VPN may not be handling its traffic. If the result differs between Wi-Fi and mobile data, investigate restrictions on the original network first. Testing will use mobile data.
3. Check whether DNS is the issue
If the logs repeatedly show domain resolution failures or DNS timeouts, reconnect to the network and check Android’s “Private DNS” setting. If you entered a hostname manually, temporarily switch to Automatic for testing, and note the original setting so you can restore it. Don’t copy DNS addresses from unknown sources online, or change all of the client’s DNS settings at once.
Your browser may also have its own “Secure DNS” setting. Temporarily switch it to the default setting and compare the results with another browser. Don’t rely on direct IP access alone to determine whether DNS is working. Many HTTPS websites depend on domain names and certificates, so entering an IP address directly may not work.
4. What to do if only your browser won’t load websites
If other apps work, try an incognito window first, then check the browser’s proxy extensions, Secure DNS, and the target website’s cache. An incognito window won’t change your exit IP, but it can help rule out issues caused by cookies, login status, or extensions. CAPTCHA challenges or access denials may also be related to the reputation of a shared exit IP, so don’t automatically assume DNS is the cause.
If the problem persists, open the v2rayNG logs and reproduce the issue once: a timeout usually means you should check the node or network; a connection refusal may mean the service is unavailable; and a certificate error calls for checking your phone’s time and node details. Don’t disable certificate verification just to get connected. When asking for help, provide the client version, network type, and redacted logs. Hide credentials such as subscription links and UUIDs.