vps上安装v2ray记录
记录下安装v2ray,开起weboscket+nginx+tls模式来隐藏真实信息
v2ray
国内一波大神搞得,使用
vmess
协议加密传输,支持shadowsocks
一键安装脚本
1 | https://github.com/233boy/v2ray |
自行安装
时间校对(很重要)
对于 V2Ray,它的验证方式包含时间,就算是配置没有任何问题,如果时间不正确,也无法连接 V2Ray 服务器的,服务器会认为你这是不合法的请求。所以系统时间一定要正确,只要保证时间误差在一分钟之内就没问题。
如果时间不准确,可以使用 date –set 修改时间1
$ sudo date --set="2018-11-22 16:16:23"
安装脚本
1
2
3
4
5
6
7
8wget https://install.direct/go.sh
sudo bash go.sh
# 启动
systemctl start v2ray
# 升级
sudo bash go.sh配置文件
- json的格式
/etc/v2ray/config.json
- 配置如下,关键点就在于
inbound
和outbound
,有shadowsocks的需求加一个streamsetting1
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70{
"port": 12345, # 通讯端口,客户端和服务端一致,自定
"log" : {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbound": {
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "293c95b0-a4a2-47d5-b6eb-da8e6894e7b8", # UUID 在这个网站随机生成一个,https://www.uuidgenerator.net, 要保证client和server配置一个UUID
"alterId": 55, # 这个自定,数字范围0-100,但要保证客户端和服务端一致
"level": 1 # 官方说明,0 共享VPS, 1 自用VPS
}
]
}
},
"outbound": {
"protocol": "freedom",
"settings": {}
},
"inboundDetour": [
{
"protocol": "shadowsocks", # 此段为支持SS协议部分
"port": 1234,
"settings": {
"method": "chacha20", # 加密协议支持aes-256-cfb, aes-128-cfb, chacha20 (V2Ray 1.9+), chacha20-ietf (V2Ray 1.9+)
"password": "v2ray",
"udp": false # 是否支持UDP中转
}
}
],
"outboundDetour": [
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"strategy": "rules",
"settings": {
"rules": [
{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"127.0.0.0/8",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "blocked"
}
]
}
}
}
客户端下载
- Mac上直接使用
v2rayN
- ios上使用小火箭
- 没什么难度,只是需要根据你服务器上配置的协议来配置客户端即可
- 客户端装好后,chrome需要配置export参数才能使用代理,不方便
Mac上配合surge来实行全局控制
- v2ray的客户端监听的socks端口可以让surge配置一条proxy记录
1 | socks5,127.0.0.1,1080 |
使用websocket+nginx+tls来混淆,防止被GFW监听
主要原理就是利用了tls的加密,模仿正常的网站访问即可
- 需要准备一个域名(子域名也可以),并将之A类解析到自己对应的服务器上
v2->x.x.x.x
安装nginx/下载证书
使用acme脚本来辅助申请,3个月有效期,到时需要重新续约
1
https://github.com/Neilpang/acme.sh
nginx配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/v2ray/v2ray.crt; # 证书
ssl_certificate_key /etc/v2ray/v2ray.key; # 证书
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name mydomain.me;
location /ray { # 与 V2Ray 配置中的 path 保持一致
proxy_redirect off;
proxy_pass http://127.0.0.1:10000; # 假设WebSocket监听在环回地址的10000端口上
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}
针对h2的配置和上面类似
套cdn,由于国内域名需要备案才能使用,放弃;可以使用cloudfare,但连接速度也许更慢
开起bbr加速
google开发的阻塞控制算法,针对tcp的连接能有效降低丢包概率
centos7的机器中,默认内核是3.9.*
,先要升级到4.19以上才行
升级内核
1 | rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 加入key到yum中 |
开启bbr
1 | echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf |