谷歌云安装V2Ray

终于还是决定认真体验一下V2Ray。大部分V2Ray用户应该都是SS(R)的使用者,而我是从GoAgent过来的,所以对V2Ray不是很感冒。之前尝试过用V2Ray的Docker搭配Arukas实现梯子,但也仅此而已,未作深入了解。

作为现在科学上网界最流行的方式之一(应该还是有不少人坚持用SSR吧),V2Ray也是教程最多的。而V2Ray从4.18+版本以后,支持TLS1.3了,这篇文章就是以WebSocket+TLS1.3+Web模式为例,记录一下我在谷歌云上的操作。顺便我也想学习一下,V2Ray作为Project V的内核,它的一些原理。

服务器的操作系统我依然用的是Debian9,因为上一篇的Trojan用的也是。为了让服务端能够支持TLS1.3,需要使用OpenSSL1.1.1+进行编译,推荐用Nginx充当Web网站的门面(当然也可以用Caddy),并开启TLS1.3的功能。

服务端

这里先说明,我使用的是一键安装脚本(总之先成功搭建一个V2Ray服务再说),并且另开了一台全新的GCP实例。之所以这么做是因为,原来有一台GCP实例,而我没有对apt源进行更新,导致可能我的编译工具或者一些其它依赖项在编译Nginx以及OpenSSL的时候发生错误,然后启动Nginx的时候报错(主要是OpenSSL没有编译成功)。

nginx: [emerg] SSL_CTX_set_cipher_list(“TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256”) failed

因为之前采用的一键安装脚本只适用于CentOS7系统,我本着瞎倒腾的精神结果还是没有成功。为了节约时间(GCP的f1-microCPU编译一次Nginx实在是太久了),遂找了半天同时支持Debian9+以及TLS1.3的V2Ray脚本,最终找到了这个。以下是安装命令

1
bash <(curl -L -s https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/master/install.sh)

如何申请谷歌云以及创建实例这里就略过了,上一篇已经介绍过了。此外还需要申请一个域名,将GCP实例的外部IP绑定到该域名下,和安装Trojan的过程是一样的,这里也略过。接下来的过程就轻松多了,只要切换到root用户,按照提示来安装就行了,除了编译Nginx的时候需要等待很长时间,其它都很快。

配置目录

安装完成后,会自动输出客户端的配置。以下是一些重要的配置文件目录

V2Ray 客户端配置:~/v2ray_info.txt

V2Ray 服务端配置:/etc/v2ray/config.json

Nginx 目录: /etc/nginx

Web 目录:/home/wwwroot/3DCEList

证书文件: /data/v2ray.key/data/v2ray.crt ,需要注意证书权限设置

服务端命令

然后是服务端的一些基本操作命令,包括V2Ray服务以及Nginx服务

启动 V2Ray:systemctl start v2ray

停止 V2Ray:systemctl stop v2ray

启动 Nginx:systemctl start nginx

停止 Nginx:systemctl stop nginx

服务端安装完成后,默认就启动了V2Ray服务以及Nginx服务。打开Chrome,访问一下你申请的域名,看看网站是什么样子的吧,第一次看我被惊艳到了。然后打开该网页的Chrome后台,在Security > Connection中,可以看到一句话

The connection to this site is encrypted and authenticated using TLS 1.3…

证明V2Ray服务端TLS1.3已经正常开启。同时一键脚本已经将Nginx上的TLS1.3功能正常打开。

启动BBR

最后是启动BBR,虽然我比对过与没启动BBR时并没有差多少,可能是我启用的Debian9自带的BBR,而不是一键脚本自带的BBR。也有可能是网络的原因,总之速度并没有特别大的提升。怎么启用,可以参考上一篇文章

客户端

客户端我没有使用V2Ray丰富的图形化客户端工具,因为习惯了用命令。只需要从v2ray-core下载对应客户端操作系统的Release版本就行了,因为V2Ray的核心客户端和服务端是同一个二进制文件。

只需要配置好客户端的config.json文件即可,以下是客户端针对WebSocket+TLS+Web的配置。详细配置信息,根据服务端的~/v2ray_info.txt文件的内容,替换以下addressidalterIdpath部分。注意,如果path含有两个/斜杠的话,一个都不要漏掉,不然无法建立V2Ray客户端到服务端的连接。port虽然也可以替换,但是建议用默认的443端口,不然使用WebSocket+TLS+Web配置的意义就没有了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
"inbounds": [
{
"port": 1080,
"listen": "127.0.0.1",
"protocol": "socks",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"settings": {
"auth": "noauth",
"udp": false
}
}
],
"outbounds": [
{
"protocol": "vmess",
"settings": {
"vnext": [
{
// 替换部分
"address": "V2Ray域名服务器",
"port": 443,
"users": [
{
// 替换部分
"id": "V2Ray服务端的UUID",
// 替换部分
"alterId": 2
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"wsSettings": {
// 替换部分
"path": "/ws路径/"
}
}
}
]
}

总结

可能是VPS地区的原因,安装Trojan的那台VPS比安装V2Ray的VPS延迟更低,整体感受下来没有Trojan快。但是,在长时间看4K视频的时候,V2Ray的速度又可以慢慢地赶上Trojan,甚至超过Trojan。

作为一款热门的科学上网工具,V2Ray只是被放大了它可以作为梯子的功能。但是V2Ray其实还有很多好玩的功能等待去发掘。

avatar

chilihotpot

You Are The JavaScript In My HTML