视频教程参考:Debian 系统基于 nginx 搭建 v2ray 服务端配置 vmess+tls+websocket 详细教程。
篇首语:科学上网(fanqiang)的大体原理都是通过一台在防火墙之外的 VPS 作为媒介,实现国内网络和防火墙之外的网络之间的互通,因此一台不受防火墙骚扰的 VPS 是必备的。而 v2ray 负责的是你的网络和 VPS 之间的网络通信功能。借助 V2ray 你可以实现透过防火墙,自由穿梭于网络。你需要做的是分别在你的设备(手机、PC 等)和 VPS 上分别部署一下 V2ray。
搭建 v2ray 的步骤大体如下:
- 购买一个 VPS,购买后你会获得 VPS 的 IP、root 用户及密码、SSH 端口等信息;
- 登录 VPS,可以借助
Xshell
这个工具; - 安装 v2ray,使用 xshell 成功登录 VPS 后,开始搭建;
- 在你的设备上配置与 VPS 对应的 v2ray 信息,就可以成功使用了;
在开始下面的搭建工作之前,请自行购买 VPS 并获得 VPS 的相关连接信息,保证能通过 Xshell 等远程连接工作连接后才能进行搭建,不论使用哪家的 VPS,第一步是购买完 VPS 之后,获取到 VPS 的 IP、root 用户及密码、SSH 端口等信息,本文主要说明搭建过程,因此这里将购买 VPS 及使用 XSHELL 进行连接的过程放在:史上最详细搬瓦工 VPS 注册/购买图文教程(内附优惠券) 。
正文开始之前,先插播个广告,推荐一些性价比较高的 VPS,有购买 VPS 打算的,可以使用我的推介链接,这样你不仅可以优惠购买,我也会得到一定的返券,感谢你对我写文创作的支持!没有购买 VPS 打算的,可以跳过这一部分。
一、搬瓦工 VPS 推荐
速度、性价比都较好: 老牌商家,一分价钱一分货,套餐选择上肯定是越好的越贵,选择适合自己的,但从速度上来说,VPS 速度:香港线路 > CN2 GIA 线路 > CN2 线路 > 普通线路
。搬瓦工优惠券: BWH3HYATVBJW
,此券为全网当前最高优惠力度:6.58%。
二、Rackerd VPS 推荐
性价比较高: 提供大流量、大硬盘,支持 PayPal、支付宝、微信等多种付款方式,电信走 CN2 GT,联通直达机房(极佳),移动强制走联通链路,算是非 CN2 线路之外优化的相当不错的。
三、Vultr 主机推荐
国外 VPS Vultr 云主机:最低每月$2.5。
下面再来通过图文,来详细说明上面的步骤。
四、环境信息
- 服务器系统:Debian GNU/Linux 10
- 服务端:v2ray-core v5.1.0;
- 客户端:v2rayN v5.38 ;
五、搭建脚本说明
使用到的官网安装脚本:https://github.com/v2fly/fhs-install-v2ray
,该脚本在执行时会提供 info 和 error 等信息,请仔细阅读。
六、开始搭建
提个醒:搭建的过程中难免会碰到一些错误和难题,每个人的服务器版本之类的都有区别。
6.1 连接 VPS
6.2 更新
apt update
6.3 安装 curl
apt install curl
6.4 安装 v2ray
使用 curl 进行安装
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
输入vi /usr/local/etc/v2ray/config.json
命令,编辑配置文件的内容为以下内容:
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbounds": [{
"port": 11055,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "27848739-7e62-4138-9fd3-098a63964b6b",
"level": 1,
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/tech"
}
}
}
],
"outbounds": [
{
"protocol": "freedom"
}
]
}
6.5 启动 v2ray 服务
启动并加入开机自启
systemctl start v2ray
systemctl enable v2ray
6.6 安装 nginx
执行安装
apt install -y nginx
新建网页目录
这里在假设是/root/www
。
mkdir -p /root/www
新建首页
在/root/www
目录下新建一个index.html
文件,
vi /root/www/index.html
内容如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello Word</title>
</head>
<body>
<div>
<h1>Hello Word</h1>
</div>
</body>
</html>
新建配置文件
注: 不同版本的 nginx 配置文件可能有区别,我的是nginx/1.18.0
,配置文件/etc/nginx/sites-enabled/default
。或者你的配置文件可能在/etc/nginx/conf.d/default.conf
。
输入vi /etc/nginx/sites-enabled/default
命令,编辑 nginx 配置文件为如下内容:
server{
listen 80;
server_name v1.xxxx.com;
index index.html;
root /root/www/;
}
这里你可能需要将/etc/nginx/nginx.conf
中第一行user www-data
改为user root
,即当前用户。
启动 nginx 服务
启动Nginx并设置为开机自启
systemctl start nginx
systemctl enable nginx
查看nginx启动状态
systemctl status nginx
在浏览器里访问v1.xxxx.com
,如果正常则说明 nginx 配置没问题,这是是没有加密的,不带 HTTPS 的网址:http://v1.xxxx.com
。
6.7 安装 certbot 并申请 ssl 证书
详细的申请证书流程参考: certbot instructions – Nginx on Debian 10 (buster)。具体如下:
安装 snapd
apt install -y snapd
确保 snapd 为最新版本
snap install core; snap refresh core
安装 certbot
snap install --classic certbot
创建软链
ln -s /snap/bin/certbot /usr/bin/certbot
申请证书
运行certbot --nginx
开始申请证书,如下:
稍等一会,会提示证书安装成功! 你会发现 nginx 的配置已经更改,我的/etc/nginx/sites-enabled/default
文件被自动修改为以下内容:
server{
server_name v1.xxxx.com;
index index.html;
root /root/www/;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/v1.xxxx.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/v1.xxxx.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server{
if ($host = v1.xxxx.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name v1.xxxx.com;
return 404; # managed by Certbot
}
此时,在浏览器里访问v1.xxxx.com
已经是https
开头的了,地址:https://v1.xxxx.com
。
6.8 添加 v2ray 转发
将/etc/nginx/sites-enabled/default
更改为以下内容:
server{
server_name v1.xxxx.com;
index index.html;
root /root/www/;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/v1.xxxx.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/v1.xxxx.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
## 添加这部分内容,22055对应/usr/local/etc/v2ray/config.json 里面inbounds端口
## /tech客户端配置的时候需要,对应/usr/local/etc/v2ray/config.json streamSettings里的path
location /tech {
proxy_redirect off;
proxy_pass http://127.0.0.1:11055;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}
server{
if ($host = v1.xxxx.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name v1.xxxx.com;
return 404; # managed by Certbot
}
然后运行systemctl restart nginx
重启 nginx。
6.9 客户端 v2rayN 配置
大体截图:
6.10 使用 Google BBR 开启加速
细节参考: Debian 9/10 快速开启 Google BBR 实现 v2ray 高效单边加速。
观看 Youtube 4k 高清视频,播放速度还可以:
6.11 优化网络,隐藏真实 IP
细节参考: 安装 warp 解决 Google 搜索出现人机验证、解锁 Netfix 非自制剧最新教程 。
七、卸载
执行脚本的卸载命令即可:
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --remove