在很早以前,一次偶然的机会,我发现了Shadowsocks,从此便开启了我的墙外之旅,其实外面也没有什么,只不过是满足下好奇心,向往自由的罢了。
在洪荒以前,搭梯子感觉是件很难而且成本很高的事情,所以那时的自由门啦,什么蓝灯啦,萤火虫。这些我都用过,最终的感受就是:慢。或者不能用慢来形容了,只是免费偶尔成功能打开google而已。
后来听说搬瓦工便宜,然后就注册了一个,确实不贵,一年也就一百多,然后在后台管理里发现了Shadowsocks这个工具,了解到原来这是个翻墙工具,用了之后才真正打开了新世界。然而GFW无处不在,用了一年多之后,突然有一天发现Shadowsocks失效了,打开网站也发现根本访问不了(反正有空间,就随便扔了个静态网站),这才知道搬瓦工被BAN了。
经过一段折腾发现搬瓦工还有个“机场”,JustMySocks,当时还很便宜就购买了(好像月付3$吧),直到有个月咱忘了续费,只差了3天就被注销了IP……想重新注册新的IP却发现它提价了(我%U%—……¥……—),还是放弃吧。
再后来我来到了cloudcone,月付2.5$重新开始我的VPS之旅,安装了宝塔,安装了Shadowsocks,来到了2020。然后有一天,Shadowsocks也BAN了,是Shadowsocks被BAN了,我的网站还能正常好好的访问。万恶的GFW
最终,开始介绍咱今天的主角:
V2Ray
和Shadowsocks一样,V2Ray的运行需要服务端和客户端的相互支持,也就是说除了你正在使用的设备,你还需要配置一个境外远程服务器。它和Shadowsocks有什么区别呢?V2Ray 更像是一个集成工具,它集合了多种多样的协议和功能,对个人用户而言像是一个工具箱,可以使用各种各样的工具组合。对开发者而言像是一个脚手架,可以在此基础上开发扩充自己需要的功能而节省开发时间。
总有人没有搞清楚CDN是怎么回事,还问为什么用了CDN再访问网站查询自己的IP怎么显示的还是VPS的IP,使用 CDN 中转的原理:先在服务器上用 v2ray 伪装成一个网站,再用 CDN 中转,那么,你的流量就是这样传递的:
相信绝大部分人都有过被ban IP的经历,这也是上网环节中最令人头大的地方,无论怎么设置加密、混淆,总会有被ban IP的可能,目前还没有任何一个工具,实际上将来也不会有任何一个工具能够保证永远不会出问题。
之所以会被ban IP,最根本的原因是因为你和 vps 之间是直接连接的,中间必定会经过防火墙(绕过防火墙的专线请无视),只要你的特征越来越明显,防火墙觉得合适了就会阻断你的 IP,从而导致无法连接 vps。
这样的话,防火墙就只知道你和 CDN 之间建立了连接,不知道你的vps实际的IP地址,这样就可以有效的防止你的IP被ban,并且 CDN会有很多IP地址,防火墙也不会随意去ban他们的IP,毕竟也有很多正规的网站在使用,所以基本上可以确保你的IP的安全。当然,这样做的缺点也是有的:延迟可能会增大,对于原本很好的线路会起到减速的效果,配置比较繁琐。
虽然看起来很复杂,但是哪有不学习就有掌握新知识的道理,总之,跟着教程走就是了。
搭建v2ray的步骤大体如下:
- 购买一个VPS,购买后你会获得VPS的IP、root用户及密码、SSH端口等信息;
- 登录VPS,可以借助Xshell这个工具;
- 安装v2ray,使用xshell成功登录VPS后,开始搭建;
- 在你的设备上配置与VPS对应的v2ray信息;
所以这里需要的清单是:一个VPS,一个可以SSH登录的软件(XSHELL),再注册个域名,便宜的域名,因为翻墙就会被BAN,怕被BAN就要弄个域名做些伪装,这也是v2ray强大的功能之一。我们最实现的功能是:V2Ray的 Websocket+TLS+Nginx
为了方便配置VPS,推荐安装宝塔BT面板来配置一些需要的功能。
首先使用Xshell连接VPS(自己搜索下载,我推荐Xshell6Portable)
一,安装宝塔BT面板
对于小内存的VPS推荐安装宝塔面板5.9.x,我的VPS系统安装的Centos:
安装要求:
Python版本: 2.6/2.7(安装宝塔时会自动安装)
内存:128M以上,推荐512M以上(纯面板约占系统10M内存)
硬盘:100M以上可用硬盘空间(纯面板约占20M磁盘空间)
系统:CentOS 6.x / 7.x (Ubuntu、Debian、Fedora 请点这里),
确保是干净的操作系统,不支持32位系统,没有安装过其它环境带的Apache/Nginx/php/MySQL(已有环境不可安装)
Centos安装命令:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
具体详细请查看宝塔官方
输入Y,回车。
等待安装完成,得到登录宝塔面板的URL(端口号也要加上),账号和密码。
登录宝塔面板,建议安装左边推荐的LNMP配置好服务器(当然,这里我们只需要Nginx,不过为了日后想弄网站还是把其它也安装上吧)
二,继续在XSHELL中安装V2Ray
执行远程安装命令:bash <(curl -L -s https://install.direct/go.sh)
关于v2ray有以下几条命令可以查询:
sudo service v2ray start #启动V2Ray
sudo service v2ray stop #停止运行V2Ray
sudo service v2ray restart #重启V2Ray
sudo service v2ray status #查看V2Ray状态
systemctl enable v2ray #开机自启
#检测v2ray配置文件是否正确
/usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json
V2Ray v3.5 (die Commanderin) 20171228
An unified platform for anti-censorship.
Configuration OK.
检查v2ray的端口监听情况:netstat -apn | grep v2ray
三,Nignx配置
新建网站
申请SSL,SSL —— Let’s Encrypt(这里记得宝塔安全中放行端口443)
再点击站点「设置」的「配置文件」选项,在ssl最后一个}前添加如下代码:
location /ws {
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:****;
}
}
**表示安装完v2ray后给的端口,也记得要放行这个端口
四,修改配置v2ray配置
/etc/v2ray/config.json
编辑以下,并保存:
在inbounds中添加streamSettings段,具体如下(#和后面注释删掉)
"inbounds": [
{
"port": 0000, #v2Ray访问端口,自定义
"listen":"127.0.0.1",
"protocol": "vmess",
"allocate": {
"strategy": "always"
},
"settings": {
"clients": [
{
"id": "UUID", #自定义UUID,安装v2ray后给的
"alterId": 64,
"level": 1,
"security": "aes-cfb-128" #自定义加密方式
}
]
},
"streamSettings": {
"network":"ws",
"wsSettings": {
"connectionReuse": false,
"path": "/ws/" #自定义路径,这里要和客户端配置一样
}
}
}
],
然后执行命令重启v2ray:
service v2ray restart
service v2ray status #通过该命令,可查看v2ray是否运行成功
五,客户端的配置
下载安装v2rayN.zip
运行v2rayN.exe
试试访问www.google.com
六,几个有用的工具
Qualys SSL Labs's SSL Server Test 一个证书验证网站,注意要求使用 443 端口
强大的v2ray配置文件生成器
关于v2ray的一些详细介绍
最后关于便宜域名注册之后,最好修改NS解析到cloudflare,或者在宝塔面板中安装DNS解析。