v2ray部署Ubuntu18.0

部署v2ray

按照fhs-install-v2ray文档,一步步执行。

安装和更新 V2Ray

1
2
3
4
# 安装可执行文件和 .dat 数据文件
cd ~
sudo wget https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh
sudo bash install-release.sh

安装最新发行的 geoip.dat 和 geosite.dat

1
2
3
4
# 只更新 .dat 数据文件
cd ~
sudo wget https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh)
sudo bash install-dat-release.sh

移除 V2Ray

1
2
3
cd ~
sudo wget https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh
sudo bash install-release.sh --remove

安装完后启用服务

1
2
systemctl enable v2ray
systemctl start v2ray

v2ray帮助命令

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
#编辑配置文件
sudo vim /usr/local/etc/v2ray/config.json

#测试配置文件正确性
/usr/local/bin/v2ray/v2ray --test --config /etc/v2ray/config.json

# 查看运行状态
sudo systemctl status v2ray
# 查看端口占用
sudo netstat -apn | grep v2ray
# 查看程序日志
sudo journalctl -b -u v2ray
# 查看v2ray日志文件
sudo vim /var/log/v2ray/access.log
# 查看程序日志文件底部 10 行内容。
sudo tail /var/log/v2ray/error.log
# 启动
sudo systemctl start v2ray
# 停止
sudo systemctl stop v2ray
# 重启
sudo systemctl restart v2ray


## 查看防火墙状态:(active (running) 即是开启状态)
sudo systemctl status firewalld

## 查看已开放端口
sudo firewall-cmd --list-all

## 防火墙开放端口:(开放端口后需重载防火墙)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

配置

服务端配置

需要在服务器开启端口,这次测试部署的是腾讯云,在控制台添加就行。其它服务器商配置可能不同。
下列配置了在端口6352的shadowsocks服务和6353端口的vmess服务,并配置了部份直连规则。更多节点配置见:配置文件

config.json
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
"log": {
"loglevel": "warning",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [
{
"port": 6352,
"protocol": "shadowsocks",
"settings": {
"method": "aes-128-gcm",
"ota": false,
"password": "gndl"
}
},
{
"port": 6353,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "17449fc0-ac82-4389-bf69-xxxxxxxxxx",
"alterId": 10
}
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
],
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": [
"baidu.com",
"qq.com",
"bilibili.com",
"geosite:cn"
],
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"fc00::/7",
"fe80::/10",
"geoip:cn"
],
"port": "53,443,1000-2000",
"network": "tcp,udp",
"outboundTag": "direct"
}
],
"balancers": []
}
}

客户端配置

config.json
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
{
"log": {
"access": "access.log",
"error": "error.log",
"loglevel": "warning"
},
"inbounds": [
{
"tag": "proxy",
"port": 10808,
"listen": "127.0.0.1",
"protocol": "socks",
"sniffing": {
"enabled": false,
"destOverride": [
"http",
"tls"
]
},
"settings": {
"auth": "noauth",
"udp": true
}
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "test.com",
"port": 10465,
"users": [
{
"id": "0909f50b-7519-4720-8911-xxxxxxxxxxx",
"alterId": 0,
"email": "x@qq.com",
"security": "auto"
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"tlsSettings": {
"allowInsecure": false,
"serverName": "xxx.test.xyz"
},
"wsSettings": {
"path": "/",
"headers": {
"Host": "xxx.test.xyz"
}
}
},
"mux": {
"enabled": true,
"concurrency": 8
}
},
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
},
{
"tag": "block",
"protocol": "blackhole",
"settings": {
"response": {
"type": "http"
}
}
}
],
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"inboundTag": [
"api"
],
"outboundTag": "api"
},
{
"type": "field",
"outboundTag": "proxy",
"domain": [
"geosite:google",
"geosite:telegram",
"geosite:twitter",
"geosite:facebook",
"geosite:github",
"geosite:steam",
"geosite:tumblr",
"geosite:speedtest",
"geosite:bbc",
"geosite:tiktok",
"geosite:netflix",
"geosite:gfw",
"domain:babeljs.cn",
"domain:codepen.io"
]
},
{
"type": "field",
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:private"
]
},
{
"type": "field",
"outboundTag": "block",
"domain": [
"geosite:category-ads-all"
]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:private"
]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:cn"
]
},
{
"type": "field",
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
}
]
}
}
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×