之前写过一个V2ray安全性的介绍文章  关于V2ray+CDN,目前相对最安全的科学手段
本来打算再写一个详细的v2ray的安装配置文章,但是一直没有时间动手。放久了,想来V2RAY已经很普及,大家应该早就会玩了,而且V2RAY的官网上有详细的说明和教程,在Github上也有更多学习资源。但是以上的资源,确实对有些朋友消化起来还是有些难度的。那么今天干脆就写一个针对初级玩家的配置教程。

本文中部分代码来自 https://github.com/leitbogioro/ 整理的资料

从买到一个VPS开始,一直到配置完成服务器,最后再简单说一下路由器设置(PC和手机太简单,请自行学习)。本教程不做原理解释,只给初级玩家最优的结果。本文只采用“照着做”的方式进行介绍。想要了解详细技术内容和原理的,请移步V2ray官网  和 https://lnmp.org/

我们以搬瓦工的vps和debian9系统为例。其他主机商的VPS理论上一样,Centos等系统自己把apt-get换成yum即可。
(LNMP可以使用宝塔面板去安装,但是真的不建议这么做。本人原先也非常羡慕宝塔的图形界面,但是真用起来,才知道绣花枕头啊,经常崩溃不说,很多细节的东西根本不够用。还是用最经济的方式,自由的修改配置代码的方式最可靠。)

开整!

一:SSH连接

putty或者其他工具连接SSH的方法请自行百度,这部分太简单不说了。只提一点就是配置连接的时候,找到连接选项里发送空包这一项,打开它,并设置15秒间隔。目的是保持网络连接,防止长时间空闲被主机断开。

二:VPS裸机基本配置

[提示:由于wp处理中英文混合文字的时候会自动调整部分英文符号,比如英文半角单引号‘可能被替换为全角单引号,双引号同理,连续的多个减号可能被替换成全角减号,或破折号横线。本文在编辑状态下,所有代码都是正确的英文字符,但在浏览界面下会出现个别符号错误的情况。请复制以下代码的时候注意手动替换。]

1:使用root或者su登入SSH后,使用以下几个命令进行初始化环境。

//更新一下软件源
apt-get update

//安装彩色vim编辑器
apt-get install vim vim-gnome -y

//安装screen组件
apt-get install screen

//编辑 ssh配置,可以修改端口等内容。做不做看自己习惯
vim /etc/ssh/sshd_config

2:更新内核
更新内核后,可能curl等组件需要修复安装 修复指令apt –fix-broken install

//下载4.12.14内核 自带标准BBR
wget –no-check-certificate -qO ‘BBR.sh’ ‘https://moeclub.org/attachment/LinuxShell/BBR.sh’ && chmod a+x BBR.sh

//执行更新
bash BBR.sh -f v4.12.14

//更新魔改BBR
wget –no-check-certificate -qO ‘BBR_POWERED.sh’ ‘https://moeclub.org/attachment/LinuxShell/BBR_POWERED.sh’ && chmod a+x BBR_POWERED.sh && bash BBR_POWERED.sh -f v4.12.14

//查看BBR状态
sysctl net.ipv4.tcp_available_congestion_control

lsmod | grep bbr

//修复一下安装组件
apt –fix-broken install

3:添加交换内存(对于内存较低的小鸡需要,512以上不做其他用途的主机不用做)
//添加交换文件
mkdir -p /opt/temp
dd if=/dev/zero of=/opt/temp/swap bs=1024 count=2048000
(目录路径和大小自己看着办就好了)

//创建交换空间
mkswap /opt/temp/swap

//启动新增加的2G交换空间
swapon /opt/temp/swap

//修改/etc/fstab,使新加的2G交换空间在系统重新启动后自动生效
echo “/opt/temp/swap swap swap defaults 0 0” >>/etc/fstab

//看看内存(内存+swap) 大小 确认没问题
free -m

三:办正事v2ray

//官网的安装脚本 (你当然可以使用其他的安装脚本,但其中风险需要自己把握)
bash <(curl -L -s https://install.direct/go.sh)

安装很快,如果提示 curl 不可用,则需要再安装一下
apt-get install curl
安装完成后修改配置文件
vim /etc/v2ray/config.json
配置文件可参考官网学习,也可以用附件修改

图中是一个简单到底的ws模式配置内容。要注意的就是 上部port参数,中部的id 和 alterId,然后下部 network和wsSettings ,指定了ws模式和请求路径 *_* 。

如果使用tcp模式(端口443/8080/3389等等随你喜欢),保存配置文件,重启一下vps就OK了。

如果需要安全的https(tls)+ws模式,端口不能使用443(因为443给Nginx的https用),假设我们给v2分配端口为3333。

配置好V2以后,我们重启下机器,来检查一下
netstat -l
以上命令用来查看侦听的端口,正常的我们将看到你在v2配置文件里设置的端口已经在侦听了。如果没有那就是有问题,有限检查config.json文件是不是有错误。
使用https + ws 方式?来下一步

四:安装LNMP

安装lnmp之前 执行以下命令
screen -S lnmp
用于建立一个工作屏幕。因为lnmp安装时间较长,一旦网络断开可用于恢复进度。

lnmp的教程参见 https://lnmp.org/
//安装lnmp开始
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
如果没有其他用途,不用来建站,可以在安装时不安装mysql(尤其对低内存主机来说)。
安装过程大约30~50分钟。可以关掉SSH,过段时间回来用命令回到lnmp的screen上来。
screen -D lnmp

五:配置HTTPS+WS工作

1:先配置一个真正的https站点。
假设已经有一个域名指向了VPS, vvv.yuming.com
在SSH内使用
lnmp vhost add
接着输入域名vvv.yuming.com 回车 ,后续选项根据你自己的需要决定。 一般来说访问日志no,phpinfo no,SSL yes。


SSL使用选项2来使用lets家的证书,它会证书到期前自动续期的。其他ftp,mysql选项看你喜好,一般都不用了。

然后去 /usr/local/nginx/conf/vhost 目录
找到 vvv.yuming.com.conf文件 vim编辑它。


一般来说现在都是强制301把http访问转移到https上来。当然如果你不强制转移也没问题。我们一般是把v2放到https里,不然没法使用真实证书进行https通信。
在上图中看到增加了一个 location,里边的配置指向了本机的一个端口,正是v2使用的。

改好内容后,保存退出,重启nginx
lnmp nginx restart

到此我们的v2ray服务器应该是正常可用了。

PS: 其实V2ray自身就可以实现tls,也就是说我们并不一定需要nginx或caddy、apache来实现tls。可以参照官网教程,直接实现ws+tls 。 但是本教程中实现的是最好的方式,性能与安全性(真实有效的,经得起考验的https)兼备的。

现在如果有cdn服务,把你的域名加入CDN,即可通过cdn代理来访问你的v2服务。安全性极大提高,性能相应有所损失。看你的取舍喽。

这里有一套例子文档 , 下载ex_config_conf  。

其中两个json文件是v2ray的服务端和客户端配置文件(ws+https)。理论上讲除了这个域名是无效的,这套文件可以直接部署在服务器和客户端直接使用的。所以,拿来把客户端文件里边涉及的域名地址都修改成你自己的即可。服务端再配置对应的站点,服务端文件都不需要修改。服务端文件里根本不涉及域名。两端需要保持一致的就是“id”和“path”而已。而且你会注意到服务端监听的端口与客户端连接的端口是不同的。

另一个文件是nginx的站点配置文件,里边已经写好了 http 强制跳转 https 的代码,以及 https 访问下 /myv2 转发给v2ray处理的代码。需要注意的是这个文件不能拿去修改后替换。因为文件中还有其他证书加密信息是不能混用的。 只可以在主机上建设完成真正的https站点后,照着修改。

最后呢,既然你的站点是完全按照https站点建设的,那么干活干完整,写一个或者几个html静态页面放到枕垫根目录下,让你的站点可以通过浏览器正常访问。(自己写html页也行,或者随便访问一个网站,另存为网页html文件也可以,再把文件上传。记得要有默认首页名字叫 index.html哦。)

六: 简单说一下路由器的问题

这里说的路由器指两种,一种是华硕、网件、斐讯破解这一类刷梅林或者lede的路由器;另一种是软路由(lede、爱快之类的)。你要非拿着一个dlink或者tp的百元上下路由器,我告诉你那叫垃圾,扔了吧。
我没法对每个版本的路由器固件都搞清楚,但是我确定这些固件都有自己的v2插件,有的直接是v2ray的独立功能插件,有的是shadowsocket(ss\ssr)插件合体的。
这里我只用梅林改版举例,lede等等都有自己的插件,请去相应社区查找。
梅林改版的详细刷法、虚拟内存安装、软件中心安装、ss插件最新版安装,请参见 http://koolshare.cn/forum-96-1.html 对应的插件参见 https://github.com/hq450/fancyss/tree/master/fancyss_arm


我只说重点,v2的配置文件中有个alterID设置,默认是64。但是路由器等小内存设备不能用这么大,以中档256M内存的路由器来说,这个AlterID不建议超过16,选择10~16均可。