Closed mahmoodn closed 1 year ago
Here is a checklist
16823
is openIf you server is indeed blocking connections to port 16823
you can in most case open it by running sudo ufw allow 16823
.
Also check the firewall of your cloud provider or CDN.
Finally, VMESS over plain TCP is mostly dead meat. I think you want at least VMESS over TLS.
I changed the client config to "destOverride": ["tls"]
.
As you can see below, ufw
settings are fine.
# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
# ufw allow 16823
Rules updated
Rules updated (v6)
# ufw status
Status: active
To Action From
-- ------ ----
16823 ALLOW Anywhere
16823 (v6) ALLOW Anywhere (v6)
# ss -lnpt | grep v2ray
LISTEN 0 4096 *:16823 *:* users:(("v2ray",pid=562,fd=3))
# systemctl restart v2ray
#
How can I check 1 and 2 in the checklist? When I use my computer (using the same network as my phone), I can ping the server via command line. I have an older V2 virtual machine on a cloud (the same cloud provider) and it works. But I am not able to make 5.3.0 working now.
BTW, the following log files are empty means that the client doesn't reach the server.
# cat /var/log/v2ray/access.log
# cat /var/log/v2ray/error.log
2023/02/27 08:33:53 [Warning] V2Ray 5.3.0 started
"destOverride" is used to correct destination addresses, and have nothing to do with this connection issue.
ping
command. On Android, you can use Termux to access it.Are you sure you are using VMESS over TCP? It's easy meat for suppressive firewalls.
BTW, the following log files are empty means that the client doesn't reach the server.
Check if normal connection, like HTTP or SSH, to your server can be made. If not, you server has been blocked.
I can SSH to the server via my computer.
Are you sure you are using VMESS over TCP? It's easy meat for suppressive firewalls.
How can I check that? I already pasted the server and client in the first post. Which item should I check?
The configuration you posted uses VMESS over plain TCP, which could easily be targeted by firewalls. A common practice is to use VMESS with TLS, which should be more resistant to blocking.
If you can connect to your server by normal means, but not by VMESS, then TLS may help.
You can look for answers at https://guide.v2fly.org/advanced/tls.html.
OK I am following that guide for TLS. It seems that a domain name is mandatory. Am I right? Does that mean in case of having a VM with valid IP, that is not enough?
Domain name is required for valid TLS certificates and CDN, not required for self-signed certificates.
Regular domain names are cheap. eu.org and nom.za offer free domains. afriad.org offer free subdomains (cannot be used with CDN).
OK I will try and come back later. Thanks.
Using 5.3.0, the server side configuration according tot he example is:
The client configuration is
As you can see server side is fine.
When I import the client configuration file into V2rayNG (android app), I click on connect and it says successful. However, when I tap "test connection", it says:
Fail to detect internet connection: context deadline exceeded.
The internet connection is fine, because without v2 websites are reachable on my Android phone. Any idea about that?