科学上网对于墙内的居民来说一直是个头疼的问题。机场总是跑路,支付数据被人家握在手里,流量数据也不安全。自建成本高,线路选择与维护麻烦,还得时时担心会不会被墙。权衡之下,有些人可能就想着还是自己折腾一下比较好。毕竟服务器在自己手里用着安心,还能顺便丰富下生活锻炼下能力,何乐而不为呢?今天博主就来由浅入深
水一篇V2ray的详细教程,方便各种不同需求。
前期准备
- 准备
公网服务器
一台,杜甫,vps,nat不限。 - 准备
域名
一个,提前解析到对应要安装v2ray的服务器,多级解析均可。 UUID
一个。生成链接:http://www.uuid.online/V2ray
配置文件模板与教程一份。- 提前申请对应域名的
SSL证书
(nat必选,vps可选)。
方案一:纯净系统使用一键脚本安装
最简单的一种方法,可以直接使用wulabing的一键脚本,一条龙贴心配置所有需要的环境,小白使用首选。注意目前脚本的稳定版Release是旧的Vmess
协议,如果想尝鲜使用新版Vless
协议请拉取dev版本。
#安装Git,wget
yum install -y git wget
#稳定版本
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/master/install.sh" && chmod +x install.sh && bash install.sh
#Dev版本
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/dev/install.sh" && chmod +x install.sh && bash install.sh
之后根据文字提示一步一步安装即可。推荐使用V2ray+WS+TLS方案。
如果你的服务器为NAT VPS,因为无法通过80端口文件验证,大概率是无法使用脚本签发Let's Encrypt的证书的。
如果会使用acmesh.sh项目脚本的话可以尝试修改本v2ray一键脚本来使用
dns验证
签发证书,本文不作记录。
一般用户这里需要将之前准备工作中手动生成的 crt
和 key
文件命名为 v2ray.crt
v2ray.key
放在 /data
目录下(若目录不存在请先建目录),请注意证书文件权限及证书有效期,自定义证书有效期过期后请自行续签并替换对应旧证书文件。这里推荐亚洲诚信一年免费单域名证书,一年申一次,一次用一年,省心。
上传好证书文件后再运行一键脚本,到安装最后选择保留本地证书文件
就万事大吉了。
这个方法是最简单的,但是需要纯净系统,可能不适合已经部署了网站环境的新老司机,可以接着往下看。
方案二:非纯净系统使用一键脚本安装(例如宝塔面板)
这一个方法是依靠一键脚本完成v2ray
的安装
与配置
,然后自己设置
本地的反向代理
与SSL
,适用于已经拥有建站环境的主机,比如LNMP环境等,在反向代理证书配置与伪装站点方面也比较灵活。
这里的示例环境为宝塔面板
,已经安装了推荐的Nginx1.18.0等建站程序。
首先使用脚本安装v2ray,这里可以使用官方脚本其他第三方脚本。这里因为简单先介绍第三方脚本。
1.安装v2ray
1.1 第三方脚本
#第三方脚本
bash <(curl -s -L https://git.io/v2ray.sh) && chmod +x v2ray.sh && bash v2ray.sh
运行后根据文字提示选择WebSocket+TLS
安装,随意设置一个未占用端口,然后根据引导一步一步完成安装操作。最后根据提示输入v2ray url
或者v2ray qr
即可生成导入链接或者二维码。
安装完成后v2ray的二进制文件保存在/usr/bin/v2ray/v2ray
,配置文件保存在/etc/v2ray/config.json
。使用第三方脚本的好处是他会帮你生成默认的vmess
配置文件,你只需要更改一下其中的uuid,并且添加伪装目录即可。如果想配置vless
请看下面的官方教程。
{
"inbounds": [
{
"port": 27000, #应该跟你在脚本中设置的端口是一样的
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "请填入自己生成的uuid",
"level": 1,
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws", #如果自定义路径请添加逗号
###如果你想自定义伪装路径请添加以下内容(记得上一行末尾添加逗号),不然可以忽略
"wsSettings": {
"path": "请填入你想使用的伪装路径,如/abc"
}
###
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
]
}
}
]
}
1.2 官方脚本
- 该脚本在运行时会提供
info
和error
等信息,请仔细阅读。
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
安装完成后v2ray的二进制文件在/usr/local/bin/v2ray
,配置文件在/usr/local/etc/v2ray/config.json
。这里不出意外配置文件应该是空的,这里给出两个推荐的配置文件,分别使用vmess
与vless
。
其中使用的端口为12345
,uuid为0c0b3efa-8801-4c65-8e73-35ebc14515ec
,伪装路径为/v2path/
。如有需要请自行更改。
重启 V2ray
sudo systemctl restart v2ray
开机自启
systemctl enable v2ray
查看运行状态
sudo systemctl status -l v2ray
2.nginx配置反代与SSL(以宝塔面板为例)
这里为了方便用宝塔面板来配置nginx反向代理与SSL证书配置,跟直接配置并无太大区别。
1.1 创建新站点
1.2 配置反向代理
在新建站点的设置
中选择配置文件
,并加入以下配置。其中的伪装路径
与反代端口
请与之前v2ray的配置文件保持一致。修改完毕后保存退出。
#V2ray 代理
location /v2path{
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_intercept_errors on;
if ($http_upgrade = "websocket" ){
proxy_pass http://127.0.0.1:12345;
}
if ($http_upgrade != "websocket" ){
return 301 ../index.html;
}
}
这时使用的是默认目录/
,请记得更改对应的location参数。
1.3 配置SSL
这步可以使用宝塔的一键申请,也可以使用自己的证书。
这样的话默认的伪装路径将会是/
,代表了整个目录。这样是无法使用宝塔自带的文件验证来申请SSL证书。这时推荐去你的解析商申请token来使用dns验证,或者是使用自己的证书。这时也无法配置伪装站点。
3.配置伪装站点
这步没什么好说的,随便拖个网站或者博客啥的放在网站根目录即可。