V2Ray这一年来不断完善,增加的功能、支持的协议越来越多,也已经支持了Windows、Mac、Android、iOS、Linux等所有主流操作系统,可以说V2Ray是一个非常优秀的开源网络代理工具。目前V2Ray已经更名为Project V,V2Ray则演变为Project V的内核。本教程介绍V2Ray的一些基本概念,如何用一键脚本搭建V2Ray,如何配置V2Ray服务器端和V2Ray客户端,以及V2Ray的优化。
文章目录
V2Ray简介
什么是V2Ray
Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程,简单来说,V2Ray就是一个代理软件,可以用来科学上网学习国外先进科学技术。
V2Ray与Shadowsocks区别
V2Ray是在Shadowsocks的作者被请喝茶之后出现的一个开源项目,目的就是为了更好的科学上网。相比于ss,V2Ray的定位是一个平台,任何开发者都可以在这个平台上利用V2Ray开发出一个新的代理软件,简单来说,ss的定位比较简单,功能也比较单一,而V2Ray的功能非常强大,相对的,V2Ray的配置就会复杂很多,喜欢鼓捣的同学可以试试。
V2Ray的优势
- 更完善的协议: V2Ray 使用了新的自行研发的 VMess 协议,改正了 Shadowsocks 一些已有的缺点,更难被墙检测到(不保证可靠性)
- 更强大的性能: 网络性能更好,具体数据可以看 V2Ray 官方博客
- 更丰富的功能: 以下是部分 V2Ray 的功能
- mKCP: KCP 协议在 V2Ray 上的实现,不必另行安装 kcptun
- 动态端口:动态改变通信的端口,对抗对长时间大流量端口的限速封锁
- 路由功能:可以随意设定指定数据包的流向,去广告、反跟踪都可以
- 传出代理:看名字可能不太好理解,其实差不多可以称之为多重代理。类似于 Tor 的代理
- 数据包伪装:类似于 Shadowsocks-rss 的混淆,另外对于 mKCP 的数据包也可伪装,伪装常见流量,令识别更困难
- WebSocket 协议:可以 PaaS 平台搭建V2Ray,通过 WebSocket 代理。也可以通过它使用 CDN 中转,抗封锁效果更好
- Mux:多路复用,进一步提高科学上网的并发性能
境外VPS购买
跟ss/ssr服务器一样,搭建V2Ray也需要一台静态的VPS作为跳板。
对于宽带是移动用户,推荐你们使用Vultr,https://www.vultr.com,英文不好的可以参考Vultr购买图解步骤,最低月付2.5刀,也是目前博主自用以及运行小站的VPS。或者可以选择长久的,年付18.19刀,搬瓦工6%优惠券与购买。
对于宽带是电信&联通用户,可以试一下搬瓦工的CN2电信/联通直连线路(季付/半年付/年付),GT线路详情可以参考搬瓦工洛杉矶CN2 GT线路测评,如果想用最优的GIA线路,也可以尝试搬瓦工CN2 GIA线路(强力推荐,效果爆炸,全程CN2,晚上高峰时期线路也不拥堵。2018年5月15日正式启动,搬瓦工洛杉矶CN2 GIA线路测评),当然你也可以直接用Vultr,速度也稳稳的。
连接远程Linux服务器
购买完成后根据Windows通过Xshell连接Linux或者Mac通过Terminal远程连接Linux即可。
一键脚本搭建V2Ray
简单粗暴,V2Ray官方提供了一个在Linux上自动化安装的脚本。脚本会判断之前有没有安装过V2Ray,如果有,则更新(不更新配置),如果没有,则安装。
我在这个脚本上添加了一点代码,判断如果是CentOS系统的话就先关闭防火墙,脚本地址:https://raw.githubusercontent.com/flyzy2005/ss-fly/master/v2ray.sh
直接复制到命令行回车即可:
wget https://raw.githubusercontent.com/flyzy2005/ss-fly/master/v2ray.sh && chmod +x v2ray.sh && ./v2ray.sh
如果提示bash: wget: command not found
,则先安装wget:
Centos执行这个: yum -y install wget Ubuntu/Debian执行这个: apt-get -y install wget
此脚本会自动安装以下文件:
/usr/bin/v2ray/v2ray
:V2Ray 程序;/usr/bin/v2ray/v2ctl
:V2Ray 工具;/etc/v2ray/config.json
:配置文件;/usr/bin/v2ray/geoip.dat
:IP 数据文件/usr/bin/v2ray/geosite.dat
:域名数据文件
此脚本会配置自动运行脚本。自动运行脚本会在系统重启之后,自动运行 V2Ray。
用这个一键脚本安装好V2Ray后,可以通过如下命令控制V2Ray的开启、关闭、重启、查看状态等:service v2ray start|stop|status|reload|restart|force-reload
。
注:本一键脚本只是在V2Ray官方一键脚本的基础上增加了CentOS防火墙的控制,省去再去设置防火墙的烦恼,也没有增加其他任何功能。
配置V2Ray服务器
根据上节的介绍,V2Ray的配置文件在/etc/v2ray/config.json
,先删除这个配置文件:rm /etc/v2ray/config.json
,之后在V2Ray配置在线生成器生成对应的服务器配置,选择好对应的配置后(取消勾选是否是动态端口和是否是mKCP协议),其中用户uuid是用来识别用户的,服务器端和客户端要一致,直接点击服务器配置下方的复制配置。
之后新建一个配置文件:vi /etc/v2ray/config.json
,把生成的配置拷贝进去即可。
最后,启动V2Ray:service v2ray start
。
查看V2Ray的状态,service v2ray status
:
可以看到V2Ray已经在运行了。
配置V2Ray客户端
这里按照64位的Windows为例,去V2Ray的GitHub下载v2ray-windows-64.zip(如果github的速度比较慢,可以去https://v2ray.com/download进行下载),下载好后,解压出来后的目录如下:
其中,config.json是配置文件,v2ray.exe是有界面的运行客户端,wv2ray.exe是无界面的运行客户端(目前关闭这个客户端我发现只能在cmd里找到这个进程,然后杀死)。
用文本编辑器打开配置文件config.json(Sublime或者Nodepad++等等),继续去V2Ray配置在线生成器生成对应的客户端配置,填入你的服务器地址,其他信息也要与服务器端一致,选择相应的你的V2Ray的配置后,直接复制配置至你的本地config.json中:
保存配置文件后,直接双击打开v2ray.exe即可:
但是现在还是不能科学上网的,因为V2Ray将选择权交给用户,它不会像ss那样直接设置系统代理,而是需要你自己在浏览器或者应用里设置。我这里以火狐为例,在浏览器输入about:preferences
进入设置页面(或者你手动进入选项),之后在常规中拉到最下方的网络代理,设置连接设置(不同的版本可能设置的位置不一样):
这里的端口需要跟你上面的配置一致,保存后打开油管就可以发现能用了~在V2Ray的控制台也会打印出你的连接信息。
V2Ray的优化
用啥mKCP,基于udp的是不是会多发送数据包,反而会增加你流量的消耗?(我猜的 )
谷歌的BBR加速所有,一键开启方式:
wget https://raw.githubusercontent.com/flyzy2005/ss-fly/master/ss-fly.sh && chmod +x ss-fly.sh && ./ss-fly.sh -bbr
总结
V2Ray作为一个新兴的代理工具,喜欢折腾的同学可以试试,但是如果只是想安安静静的上网,还是ss/ssr简单容易上手~
v2ray好像说原作者消失,现在改成社区维护,名字也改成了v2fly.
这样的情况对以前的安装脚本会有影响吗?
如果有是否有新脚本出来了?
这篇帖子里的东西可以继续成功搭建吗?
谢谢
用是一样用的,可能脚本有些变化,那个官方脚本还是可以用的,你根据提示操作就行了。
报错 unknow Socks version 67
如何生成vemss链接呢
新建一个文件vi /etc/v2ray/config.json,没法粘贴啊。然后粘贴完就没然后了。求解~
先按 i 进去 INERST 模式,然后右键粘贴
用V2Ray配置生成器生成代码复制后黏贴进去但是没有反应(以用vi /etc/v2ray/config.json生成新的文件),并且代码头部有一部分没有自动黏贴进去。请问这种情况要怎么解决
按本文说明配置好了v2ray,用了个把月,2月5号突然连不上了。春节后照着又重新装了一次,还是v2ray客户端连不上,服务器上看service v2ray status是正常的。然后脚本生成器里面加了个ss的服务。发现ss的可以用。v2ray还是不行。不知道是为什么。
客户端显示failed to process outband traffic
服务器IP能Ping通,SSH能连接,代理却连不上的说明与解决
修改配置文件换了个服务器端口问题解决。谢谢。
这个东西还不太成熟吧,我想用WebSocket协议伪装的,结果还是各种花式报错,换了很多网上的一键脚本都是不行的,后来还是改回用SS,一键安装完就能用。
SS挺好,我也一直用的SS
如何修改自动运行脚本,避免自动运行脚本会在系统重启之后,自动运行 V2Ray。换而言之,怎么避免自动运行V2Ray?
不清楚,没研究过,应该就是update-rc.d那一套吧
怎么删除v2ray呢
service v2ray stop
,然后把相关文件删了相关文件有哪些?有没有删除脚本?
文中不是标明了吗
一台VPS可以同时装 V2Ray和SS吗?
当然可以
非常感谢,不用走弯路了。
那么怎么关闭bbr呢?
sed -i '/net\.core\.default_qdisc=fq/d' /etc/sysctl.conf && sed -i '/net\.ipv4\.tcp_congestion_control=bbr/d' /etc/sysctl.conf
sysctl -p
sysctl -p 显示
net.ipv6.conf.all.accept_ra = 2
net.ipv6.conf.eth0.accept_ra = 2
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
这个是还没有关闭的意思吧……