欢迎加入tg群交流:@tlanyantg
2021.1.13更新:最新版V2ray-core移除了SS协议中的流加密算法(CFB、CBC等),请换成AHEAD算法(GCM、CHACHA20等)
新出了Xray项目,推荐使用,详情请参考: Xray教程
V2ray是继Shadowsocks(R)后又一个体验很棒、功能非常强大的科学上网工具,近年来受到网友的广泛关注和喜爱。敏感时期,基本上只有 V2ray伪装 或 trojan 能提供十分稳的服务,推荐使用。
本教程详细介绍V2ray的特点,安装和配置过程,让读者能迅速上手和使用V2ray。在本文基础上,建议网友继续阅读 V2ray高级技巧:流量伪装,以及最新出炉的VLESS协议和XTLS黑科技,体验更稳的上外网方式。v2ray客户端下载请访问:V2ray客户端。
V2Ray简介
V2Ray
是近几年十分流行的网络工具,其功能强大,用途不限于突破防火墙,但因其能有效翻墙而广为人知。V2Ray
有如下大放异彩的特点:
- 开源。
V2Ray
是Project V
的核心工具,源代码开源; - 多协议支持。传输层支持TCP、mKCP、WebSocket等,上层协议支持Socks、Shadowsocks、以及自定义的
VMess
等; - 多入口和多出口。
V2Ray
可同时支持多个入站和出站协议,每个协议独立工作; - 多平台支持。原生支持Windows、Linux、MacOS三大常用平台,安卓、iOS两大移动平台有丰富的第三方工具;
- 隐蔽性。
V2Ray
流量可伪装成网页流量,更难被检测和干扰。
与另一个知名的翻墙工具Shadowsocks(R)
相比,V2ray和SSR区别在于:
V2Ray
是一个框架/平台,而Shadowsocks(R)
是一个代理工具;V2Ray
功能强大配置复杂,Shadowsocks(R)
简单易用;V2Ray
性能更好,协议支持更完善。
一句话总结:V2Ray
更好更强大,但更难上手和用好。
因v2ray原开发者长期不上线,社区为了维护方便创建了v2fly,v2fly的官网是 https://www.v2fly.org。大名鼎鼎的v2ray白话文、一键安装脚本等都出自v2fly。目前v2ray项目主要由v2fly推动,v2fly的代码更新也会合并到v2ray项目库中,一般可以认为v2ray和v2fly是同一个组织。
V2ray发布了新版VLESS协议,详情请参考 VLESS协议介绍和使用教程
服务端安装和配置
首先你需要买一台位于境外的服务器,购买境外服务器可参考:一些VPS商家整理。
接着请使用SSH连到服务器,Windows系统请参考 Bitvise连接Linux服务器教程,mac用户请参考 Mac电脑连接Linux教程。
在CentOS、Ubuntu等常用Linux系统上,直接执行如下命令安装V2Ray
(如果已安装则更新程序):
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
安装完成后,配置文件为/usr/local/etc/v2ray/config.json
,内容默认为空。粘贴下面模板内容至配置文件中:
{
"inbounds": [{
"port": 监听端口,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "用户id,生成方法见下面说明"
}
]
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
}]
}
配置文件中最重要的信息有两项:1. port(监听端口
),建议是1024-65535中的任意一个数字,例如12345,6789等;2. clients中的id(用户id
),可以运行命令 /usr/local/bin/v2ray uuid
得到。这两个参数将在配置客户端时用到,而必须与服务端一致!
配置好后,接下来防火墙放行监听的端口,设置开机启动并运行V2Ray
:
# firewalld放行端口(适用于CentOS7/8)
firewall-cmd --permanent --add-port=123456/tcp # 23581改成你配置文件中的端口号
firewall-cmd --reload
# ufw放行端口(适用于ubuntu)
ufw allow 12345/tcp # 12345改成配置中的端口号
# iptables 放行端口(适用于CentOS 6/7)
iptables -I INPUT -p tcp --dport 12345 -j ACCEPT
# 设置开机启动
systemctl enable v2ray
# 运行v2ray
systemctl start v2ray
ss -ntlp | grep v2ray
命令可以查看v2ray是否正在运行。如果输出为空,大概率是被selinux限制了,解决办法如下:
1. 禁用selinux:setenforce 0
;
2. 重启v2ray:systemctl restart v2ray
到此,服务端应该配置好了。如果服务器商层面还有防火墙(阿里云/Google/AWS购买的vps),请登录网页后台,放行v2ray的端口。
接下来介绍v2ray客户端的配置和使用。
客户端下载和使用
V2Ray
项目不区分客户端和服务端,然而实际使用中客户端经常需要用户界面,因此许多开发者基于V2Ray
内核开发了友好易用的客户端。各平台的客户端下载请访问:V2ray客户端下载。
下文以Windows平台的V2RayW
为例,介绍v2ray客户端的配置和使用方法(更知名和好用的v2rayN的配置请参考:v2rayN配置教程):
- 下载客户端,双击
V2RayW.exe
启动(注意:如果从V2RayW
官网下载的客户端,需额外下载v2ray-core
,本站提供的客户端无需额外下载); - 右键系统托盘的
V2RayW
图标,点击“配置”; - 在配置窗口点击“增加”,然后在右侧“服务器信息”中填入
服务器的ip
、端口
、用户id
:新版V2ray抛弃了额外id(alterId)这个参数,如果客户端仍有这个选项,建议填0。
- 右键托盘图标,点击“加载v2ray”,同时勾选“自动模式(pac)”。
服务器运行正常,客户端配置无误的话,接下来就可以愉快的访问外网了。
其他
V2Ray
是一个功能强大的网络平台/工具,除本文简要介绍的配置,实践中还有许多方面值得深入了解,例如:
- 日志配置,出现问题时方便排查;
- 多协议/出口配置,与Shadowsocks、socks等节点互通、配置TG代理协议等;
- 路由规则,根据规则引导网络流量;
- 流量伪装,让防火墙更难检测和干扰。建议继续阅读:v2ray高级技巧:流量伪装;
- 多用户配置,建议参考:v2ray多用户配置
- 性能更强的VLESS协议,请参考 VLESS协议介绍和使用教程
- 引入瞩目的分支Xray,相关介绍请参考: Xray教程
上述内容请参考文末链接,本文不再一一介绍。
有用的资源
- v2ray官网/v2ray教程:https://www.v2ray.com/
- v2ray-core项目地址:https://github.com/v2ray/v2ray-core
- v2ray白话文:https://guide.v2fly.org/
- v2ray工具合集:https://www.v2ray.com/awesome/tools.html
- V2ray的VLESS协议介绍和使用教程
failed to handler mux client connection > v2ray.com/core/proxy/vmess/outbound: connection ends > v2ray.com/core/proxy/vmess/outbound: failed to read header > v2ray.com/core/proxy/vmess/encoding: failed to read response header > EOF
一直跳这个报错,时间已同步,alterId也已修改,不知为什么。
配置错了,新版的alterid要用0
[Warning] failed to handler mux client connection > v2ray.com/core/proxy/vmess/outbound: connection ends > v2ray.com/core/proxy/vmess/outbound: failed to read header > v2ray.com/core/proxy/vmess/encoding: failed to read response header > websocket: close 1000 (normal)
证书到期了,更换掉KEY和PEM后,怎么也上不了,后来重装就出现这个情况了;检查过,服务器和电脑时间对得上,用的是一键伪装脚本
服务器和电脑的时间对不上,更新一下服务器的时间
博主您好,我用了本帖的一键脚本,在root之后立刻输入一键脚本,然后systemctl start v2ray,但是客户端填完信息怎么都连不上,这是什么原因呢
vps系统是ubuntu 20.04
需要结合日志信息排查
https://www.itblogcn.com/article/1501.html这个帖子的一键脚本目前还能用,道友们可以试试。
哈哈哈哈哈,感谢作者!昨天手贱把原来流量伪装的服务器给重置了,然后发现一键脚本停止维护了,现在我又科学飞升了。我决定去v2fly把白话文给看完,再来学流量伪装啥的。请问作者能指点一点学习方向吗?
学习一下https和网站搭建,基本上就能整明白了
mkcp 的配置不成功
建议参考官网文档
你好,搜索到这里来的。
最近在折腾 OpenWrt 软路由。我从手机上把配置文件复制出来,放到电脑上可以用,但是放到 OpenWrt 上总是报错:
“`
[Warning] [1874088862] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://http://abc.com:143/bcp/land): > dial tcp: address http://abc.com:143: too many colons in address] > common/retry: all retry attempts failed
“`
可以给看看么?
服务器地址填错了,不要有http
你好博主,这几天把我自己搭的v2ray给朋友用,他们全都连不上,测试真连接延迟显示“基础连接已关闭,发送时发生错误”。我自己这边的双端一切正常,他们那边没一个能用的。服务器的时间我也更新过了,不知道是什么原因导致的了,故来请教。
配置错了,试试手动配置
这两天v2ray 基本被屏蔽完了,一连接就挂掉,过段时间又能用,博主又什么好办法吗
上伪装的
大佬 碰到个问题 客户端开全局之后发现无法访问远程服务端的内网了 之前是可以的 是现在不支持了吗
可能有些代理设置项改变了
大神,帮忙看看这咋整的
[Warning] failed to handler mux client connection > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to (wss://*.*.*.*/***): > dial tcp *.*.*.*:***: connectex: No connection could be made because the target machine actively refused it.] > v2ray.com/core/common/retry: all retry attempts failed
服务端挂了
V2ray 未加载是咋回事儿啊
应该是没有下载v2ray-core
vultr的IP老是死。。。大佬方便推荐个吗
试试linode或者do
博主,你好。我在已经配置好的Windows客户端和服务端的基础上,额外配置Linux客户端的时候遇到了问题。
我用的是docker安装v2ray的方式。具体操作是
docker pull v2fly/v2fly-core
docker run -d –name v2ray –network host -v ~/v2ray/config.json:/etc/v2ray/config.json \
-v ~/v2ray/geoip.dat:/usr/local/share/v2ray/geoip.dat \
-v ~/v2ray/geosite.dat:/usr/local/share/v2ray/geosite.dat \
v2fly/v2fly-core
以上的config,geoip,geosite都是我从已经配置好的Win客户端那直接拷贝过来的。
最后发现Linux端还是不行
docker logs的结果:
docker logs v2ray
A unified platform for anti-censorship.
panic: github.com/v2fly/v2ray-core/v4/infra/conf/serial: failed to read config file at line 2 char 10 > json: cannot unmarshal string into Go value of type conf.Config
配置文件有错误
感谢博主,配置文件改了以后确实v2ray正常运行了,但是wget http://www.google.com测试时依旧不行,是还需要进行什么别的操作吗?
操作与日志如下:
(base) root@ubuntu:~# docker run -d –name v2ray –network host -v ~/v2ray/config.json:/etc/v2ray/config.json \
> -v ~/v2ray/geoip.dat:/usr/local/share/v2ray/geoip.dat \
> -v ~/v2ray/geosite.dat:/usr/local/share/v2ray/geosite.dat \
> v2fly/v2fly-core
(base) root@ubuntu:~# docker logs v2ray
V2Ray 4.36.2 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.16 linux/amd64)
A unified platform for anti-censorship.
2021/03/19 03:00:49 [Info] github.com/v2fly/v2ray-core/v4/main/jsonem: Reading config: /etc/v2ray/config.json
2021/03/19 03:00:51 [Debug] github.com/v2fly/v2ray-core/v4/app/log: Logger started
2021/03/19 03:00:51 [Debug] github.com/v2fly/v2ray-core/v4/app/proxyman/inbound: creating stream worker on 127.0.0.1:10808
2021/03/19 03:00:51 [Info] github.com/v2fly/v2ray-core/v4/transport/internet/tcp: listening TCP on 127.0.0.1:10808
2021/03/19 03:00:51 [Info] github.com/v2fly/v2ray-core/v4/transport/internet/udp: listening UDP on 127.0.0.1:10808
2021/03/19 03:00:51 [Warning] github.com/v2fly/v2ray-core/v4: V2Ray 4.36.2 started
(base) root@ubuntu:~# wget http://www.google.com
–2021-03-19 03:01:08– http://www.google.com/
Resolving http://www.google.com (www.google.com)… 2404:6800:4005:80c::2004, 172.217.31.228
Connecting to http://www.google.com (www.google.com)|2404:6800:4005:80c::2004|:80…
^C
(base) root@ubuntu:~# ping http://www.baidu.com
PING http://www.a.shifen.com (39.156.66.14) 56(84) bytes of data.
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=1 ttl=49 time=5.84 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=2 ttl=49 time=5.66 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=3 ttl=49 time=5.59 ms
^C
— http://www.a.shifen.com ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 5.595/5.702/5.845/0.105 ms
(base) root@ubuntu:~# docker logs v2ray
V2Ray 4.36.2 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.16 linux/amd64)
A unified platform for anti-censorship.
2021/03/19 03:00:49 [Info] github.com/v2fly/v2ray-core/v4/main/jsonem: Reading config: /etc/v2ray/config.json
2021/03/19 03:00:51 [Debug] github.com/v2fly/v2ray-core/v4/app/log: Logger started
2021/03/19 03:00:51 [Debug] github.com/v2fly/v2ray-core/v4/app/proxyman/inbound: creating stream worker on 127.0.0.1:10808
2021/03/19 03:00:51 [Info] github.com/v2fly/v2ray-core/v4/transport/internet/tcp: listening TCP on 127.0.0.1:10808
2021/03/19 03:00:51 [Info] github.com/v2fly/v2ray-core/v4/transport/internet/udp: listening UDP on 127.0.0.1:10808
2021/03/19 03:00:51 [Warning] github.com/v2fly/v2ray-core/v4: V2Ray 4.36.2 started
现在的问题是v2ray正常启动了,但wget了之后日志里并没有新的条目。是还需要配置其他东西么?
v2ray只是个代理,wget默认就不会走代理
试了wget -e use_proxy=yes -e https_proxy=socks://127.0.0.1:10808 http://www.google.com依旧不行,其中socks换成socks5,https,http都试过了。
如果你的机器在国内,没配置好v2ray自然无法通过socks5上网
那Win下V2ray 3.18版本的配置文件可以直接用于Linux下V2fly 4.36+的配置吗?
不可以
你好,我想请问下我通过trojan的配置文件对接远端数据库,但是使用数据库中的user似乎用不起,是不是没对接成功,请问trojan如何对接?
对接数据库没用过,可参考一下官网教程
大佬,流量伪装之后,打开域名正常,然后打开伪装路径也是出现了bad request。但是手机连接出现了,io read/write on closed pipe,刚配置好的时候,还是可以用的,在主机中Ping google也是可行的。这是咋回事呢,还有我用的是一个图床站,但是配置流量伪装后,只有图床首页能打开,其他的路径都挂了,这是为啥,大佬
测试失败 io read/write on closed pipe
配置错了或者节点挂了
节点挂了怎么重启
重启后 还是会这样:测试失败 io read/write on closed pipe。配置应该没有问题 之前还用的好好的。突然就不行了。请问下如果重新配置,哪里看参数
请问配置成功了图标也变红了但是就是登不上外网咋整啊
看看时间对不对,或者换个浏览器
时间是啥,浏览器用的谷歌
电脑时间
电脑时间我的是北京时间,请问是要调到国外的时间吗
那就是其他问题,按照配置教程检查一下
请问可以电脑手机同时使用吗?谢谢.
可以,不限制设备数
我想购买付费服务,如若方便请联系我,微信:HYLL519,给我邮箱发邮件也可以,
823231689@qq.com
看本站广告,或者搜just my socks
非常好的论坛
怎么看centos上装的v2ray版本
/usr/bin/v2ray/v2ray –version
谢谢大佬,来到大佬的网站感觉发现了宝藏
谢了,很好用
按照教程配了很多遍,试了几个地区的VPS都不行。不知道哪里出了问题
防火墙没开或者配置错了
现在v2ray不支持ss了么,配置文件改了很多遍都起不来
支持ss,但是最新版本废弃了流加密,使用gcm或者chacha算法
能和你买个机场吗,自己搭建不会啊
抱歉,本人不提供任何付费服务
看视频少,一般免费v2ray和赛风对我来说就够用了。但v2ray节点稳定,让我感觉比较麻烦。有必有可以某个节点不行的时候,给我换节点的v2ray客户端?
非常希望作者帮忙。要是有邮件回复我就好了。
clash等很多客户端支持某个节点挂了后自动切换其他节点
大佬,你好。我装的vmess的一键脚本,为什么视频速度能6m/s,但图片老是加载裂了?不太懂,望指点!
开全局模式
以前买的美国的,速度再慢也没加载不出来过,这次换了个韩国的就老是这样QAQ
都是用的bifrostv
那可能是vps商家或者访问的网站有限制
你好,我是新手,就是pp.ua那个域名申请好了,该怎么解析到自己买的服务器呢?希望能帮我解答一下
教程里有dns设置的介绍,去看一下
先生你好,我电脑用的是校园卡送的宽带,宽带应该是学校专线,所有配置正常,手机V2RAYNG也能连,但是电脑无法连接谷歌,应该是校园网把请求拦截了吧,我想知道有没有解决办法
电脑时间不对,或者换个浏览器试试
您好!首先非常感谢您的分享。按照您的步骤,在使用v2ray伪装后我顺利的在windows上用clash成功科学上网。想请问下作者有没有兴趣也写一下ubuntu下客户端的配置呢。
等有空吧,这应该挺简单的
感谢!您的博客让我受益匪浅
买的.com的域名,可以直接访问了应该是成功解析了把?
为什么我使用一键安装的时候一直提示我当前主机未解析到当前服务器(换过几次别的了)
yyjyzcz.com 解析结果:yyjyzcz.com has address 107.161.23.204
yyjyzcz.com has address 209.141.38.71
yyjyzcz.com has address 192.161.187.200
主机未解析到当前服务器IP(155.138.159.146)!
应该当前服务器IP(155.138.159.146)是内网IP,而107.161.23.204是外网IP。