欢迎加入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协议介绍和使用教程
根据这个教程,在mac上实现科学上网了,用的v2rayU,但是在windows11上用v2rayW就是无法科学上网,非常苦恼。服务端应该是好的,但是windows的客户端不知道为啥总是没作用
换个客户端
楼主 我用的v2ray v5.3.0版本,协议选择的是WebSocket,没有绑定域名, 经常过几分钟就自动断开,过几分钟就又自动好了,偶尔能看到这样的报错:rejected proxy/vmess/encoding: failed to read request header > websocket: close 1006 (abnormal closure): unexpected EOF; 不知道什么原因,求指导
服务器或者电脑的时间不对
直接通过电脑ssh连接的服务器,服务器时间已设置成和手机端一样的了,通过date -R可以看到时间和手机端是一样的;难道连接ssh终端的电脑时间也需要调整成一样的么
偶尔报错不影响用就不用管
影响很大,频率太高了,用几分钟就会断,断几分钟就自动好,时间都是一致的,请问怎么处理呢,求指导
用tls伪装
楼主,用tls协议,需要绑定域名,我看楼主的文章在pp上申请,一直收不到激活码,说可以尝试使用Telegram方式激活(tg绑定手机号需和域名注册手机号一致),操作为:telegram里搜索ppuabot,点击”start“ ,一直没找着入口,求指导
现在pp需要绑定信用卡,可以在其他网站付费买一个,有几块钱的
请问一下,前后一共换了好几个端口,vless的被封了3个,每次都是用一会过一两天就被封了。现在换成vmess好了很多,但是用了半个月今天刚看也被封了。
问了一下朋友,他就没有这种问题,用了2年了一共只被封过一次。
请问一下这跟我个人配置原因有关系吗?有没有不被封的这么频繁的解决方法?
用vmess+tls+ws伪装,不是特别大流量,基本上没事
请问使用伪装域名的话,域名的选择对网速有影响吗?
V2ray测速,我用namesilo的域名速度也就0.5mb/s, 换了namecheap的域名速度能到2mb/s
理论上域名没有影响,最多dns解析有点影响
我再研究一下,十分感谢!
昨天晚上还用的好好的,今天早上再看就连不上了:
2023/01/04 12:20:07 [Warning] [1094145847] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout] > common/retry: all retry attempts failed
2023/01/04 12:20:09 [Warning] [4045737301] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout dial tcp 45.76.172.63:443: operation was canceled] > common/retry: all retry attempts failed
2023/01/04 12:20:09 [Warning] [3615178724] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout dial tcp 45.76.172.63:443: operation was canceled] > common/retry: all retry attempts failed
2023/01/04 12:20:11 [Warning] [1788674043] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout dial tcp 45.76.172.63:443: operation was canceled] > common/retry: all retry attempts failed
2023/01/04 12:20:12 [Warning] [4097110695] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout dial tcp 45.76.172.63:443: operation was canceled] > common/retry: all retry attempts failed
2023/01/04 12:20:13 [Warning] [2612648359] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout dial tcp 45.76.172.63:443: operation was canceled] > common/retry: all retry attempts failed
2023/01/04 12:20:39 [Warning] [3241321429] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [dial tcp 45.76.172.63:443: i/o timeout] > common/retry: all retry attempts failed
请问大佬这是什么问题呢?
443端口被封了
在这次被封之后我又换了一个代理服务器,结果过几天又封了。问了也用这个的朋友,他说他用了好长时间一直没被封过。大佬这可能是哪些原因?
大佬,这个比ssr快吗?
速度上一般不会比ssr快,但会更稳
对小白还是有点难,一键脚本比较有用
有用,感谢!
您好,感谢您的教程,按照这个教程配置的和一键脚本配置的有区别么?
这个能知道原理和细节
用了一天就不行了
建议买个域名加TLS
求助,将原本4.31.0版本的配置复制到5.8.0版本的v2ray客户端就会出现闪退,能麻烦看下哪里有问题吗,万分感谢
{
“log”: {
“loglevel”: “info”
},
“inbounds”: [
{
“port”: 1080,
“protocol”: “socks”,
“sniffing”: {
“enabled”: true,
“destOverride”: [
“http”,
“tls”
]
},
“settings”: {
“udp”: true
}
},
{
“port”: 8080,
“protocol”: “http”,
“sniffing”: {
“enabled”: true,
“destOverride”: [
“http”,
“tls”
]
}
}
],
“outbounds”: [
{
“tag”: “proxy-vmess”,
“protocol”: “vmess”,
“settings”: {
“vnext”: [
{
“address”: “45.77.221.199”,
“port”: 10086,
“users”: [
{
“id”: “15e4ed8b-aeed-402c-b7b7-xxxxxxxxxxxx”,
“alterId”: 0
}
]
}
]
}
},
{
“tag”: “direct”,
“settings”: {},
“protocol”: “freedom”
}
],
“dns”: {
“server”: [
“8.8.8.8”,
“1.1.1.1”
],
“clientIp”: “192.168.43.132”
},
“routing”: {
“domainStrategy”: “IPOnDemand”,
“rules”: [
{
“type”: “field”,
“domain”: [
“cnblogs.com”
],
“outboundTag”: “proxy-vmess”
},
{
“type”: “field”,
“domain”: [
“geosite:cn”
],
“outboundTag”: “direct”
},
{
“type”: “field”,
“outboundTag”: “direct”,
“ip”: [
“geoip:cn”,
“geoip:private”
]
}
]
}
}
噢噢,版本打错了,是5.0.8版本,问题还在
重新配置
这教程是不是少了好多东西,跟以前不一样了?
没少东西啊
更新了安装脚本,配置文件少了alertId,其他都一样。
求助大佬:安装正常,服务端配置正常,客户端配置反复核对也没问题,手机v2rayN可以正常访问,PC上的v2rayN和v2rayW都不行。
【这是服务端access.log报错日志:】2022/12/09 21:33:30 114.248.176.171:26215 rejected common/drain: common/drain: unable to drain connection > EOF > proxy/vmess/encoding: invalid user: VMessAEAD is enforced and a non VMessAEAD connection is received. You can still disable this security feature with environment variable v2ray.vmess.aead.forced = false . You will not be able to enable legacy header workaround in the future.
【这是客户端access.log报错日志:(v2rayW)】2022/12/09 21:26:41 [Info] [1280573720] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/socks: failed to read request > v2ray.com/core/proxy/socks: insufficient header > EOF
2022/12/09 21:26:44 [Info] [1991094489] v2ray.com/core/proxy/http: request to Method [GET] Host [www.google.com] with URL [http://www.google.com/]
2022/12/09 21:26:44 [Info] [1991094489] v2ray.com/core/app/dispatcher: taking detour [jeff] for [tcp:www.google.com:80]
2022/12/09 21:26:44 [Info] [1991094489] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:20.89.23.71:27890
2022/12/09 21:26:45 [Info] [1991094489] v2ray.com/core/proxy/vmess/outbound: tunneling request to tcp:www.google.com:80 via tcp:20.89.23.71:27890
2022/12/09 21:26:48 [Info] [161286868] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/http: failed to read http request > read tcp 127.0.0.1:8001->127.0.0.1:26018: i/o timeout
2022/12/09 21:27:45 [Info] [1991094489] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > 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
2022/12/09 21:27:45 [Warning] [1991094489] v2ray.com/core/proxy/http: failed to read response from http://www.google.com > io: read/write on closed pipe
2022/12/09 21:27:45 [Warning] [1991094489] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/http: connection ends > v2ray.com/core/proxy/http: failed to write response > write tcp 127.0.0.1:8001->127.0.0.1:26017: wsasend: An established connection was aborted by the software in your host machine.
反复核对过配置,时间,已经没有头绪了….
客户端和服务端的版本不匹配,换一个客户端试试
请教,伪装 教程 有需要用到 v2ray配置文件的path 但是服务端v2ray教程里的配置文件里没有path字段的哈
如果是用nginx转发,path是在nginx配置里。当然v2ray的配置文件里也可以配置,不过还是建议用nginx转发
日志看起来正常 能正常1次之后就是连不上GG V*ltr据说被特殊照顾 TCP模式也被照顾,可以换TCP为KCP吗怎么更换 或者还有什么VPS是最近可以的哈
如果用了tls,不应该出现这种情况,建议在手机上试试
怎么启用tls哈 还是教程里默认就有的呢 感谢
看伪装教程
学习ing,配置文件里的path 要用到v2ray配置中的path 但v2ray 教程里的 配置(服务端)没有path字段呀,非常感谢
看了下域名 用DNS检测都是失败的,请教
弄了两天换了系统终于好了,V2R,NGINX都在运行,SSL配置都成功了,网卡ifcfg-eth0也有内容了,客户端也配置好了,没有报错,就是没效果,打不开GG。我开了全局,居然网没断Q还能收发消息,但是上不了外W,拼不通GG,常用网页打不开但能拼通。用的是AWS的VPS免费版免费一年的SSL,用不了最大的可能性是什么呢?求指点一下
对了,网址输入域名是centos欢迎页,不是nginx
换个客户端,或者在手机上试试
手机上也是连接失败,我用免费节点试了V2另一个客户端不是W,可以用,用这个客户端连不上,提示主机无反应。VPS查看服务都有启动,也能PING得通(丢包严重免费AWS不行),出入端口都开放了配置的端口号,开了所有流量0.0.0.0。SHELL能连。
是不是没装数据库的原因?
我去,可以了,我就动了一下安全组,问题是我都改了无数遍了,一直开的呀……哈哈成功就好,我再买一个VPS试试
有联系方式吗哈,ssh链接服务器成功了,能弹出命令窗口和 本地-线上文件窗口,线上的json也修改了配置和v2ray客户端配置的端口,ID一致,就是不行的呢哈。端口的数字长度有要求吗(目前是5个数字)
# 设置开机启动
systemctl enable v2ray
# 运行v2ray
systemctl start v2ray 这两个代码返回为空
要看客户端的具体错误输出
2022/12/05 00:06:12 [Warning] V2Ray 5.1.0 started
2022/12/05 00:06:22 127.0.0.1:50157 accepted //nav-edge.smartscreen.microsoft.com:443 [proxy]
2022/12/05 00:06:22 127.0.0.1:50158 accepted //v2xtls.org:443 [proxy]
2022/12/05 00:06:24 127.0.0.1:50161 accepted //mainnet.infura.io:443 [proxy]
亲,这是v2rayN客户端的信息的哈 是什么问题哈
这个看起来没问题
大神能够给个联系方式吗,我弄了几天还是不懂,纯小白,希望帮忙看一下,邮箱联系我
自己多研究
运行安装脚本得到如下报错:
caution: filename not matched: v2ctl
Failed to copy V2Ray binary and resources.
是我的系统环境有问题嘛
原来的官方安装脚本已经失效了,有空我再更新一下博客内容
非常感谢!
您好,
能帮忙看下这个问题吗?搭了好几天了,V2ray也成功安装了,但是就是无法上网,pac模式下还可以打开百度,全局模式下百度也打不开。从服务器可以ping桶google,查看v2ray也是运行的状态:
1. 启动 V2Ray
2. 停止 V2Ray
3. 重启 V2Ray
4. 查看访问日志
5. 查看错误日志
请选择 [1-5]:5
按 Ctrl + C 即可退出…
2022/11/21 20:26:53 [Warning] V2Ray 5.1.0 started
2022/11/21 21:58:13 [Warning] V2Ray 5.1.0 started
看到你那上面有个放行端口的操作,我试了下然后再开启v2ray
请选择 [1-5]:2
root@vultr:~# ufw allow 29518
ERROR: problem running
root@vultr:~# ufw allow 29518
ERROR: problem running
root@vultr:~# systemctl start v2ray
root@vultr:~# ufw allow 29518
Skipping adding existing rule
Skipping adding existing rule (v6)
root@vultr:~# v2ray
root@vultr:~# systemctl status v2ray
● v2ray.service – V2Ray Service
Loaded: loaded (/lib/systemd/system/v2ray.service; enabled; vendor preset: en
Active: active (running) since Mon 2022-11-21 22:25:20 CST; 9min ago
Docs: https://www.v2ray.com/
https://www.v2fly.org/
Main PID: 4362 (v2ray)
Tasks: 6 (limit: 1104)
CGroup: /system.slice/v2ray.service
└─4362 /usr/bin/v2ray/v2ray run -config /etc/v2ray/config.json
Nov 21 22:25:20 vultr systemd[1]: Started V2Ray Service.
Nov 21 22:25:20 vultr env[4362]: V2Ray 5.1.0 (V2Fly, a community-driven edition
Nov 21 22:25:20 vultr env[4362]: A unified platform for anti-censorship.
lines 1-13/13 (END)
还请帮忙看下是咋回事,谢谢~
客户端配置有问题,或者换个客户端试试
谢谢~,换了v2rayu的客户端后一直报这个错,麻烦帮忙看下这是什么问题;
2022/11/24 20:57:17 [Warning] [465958639] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [dial tcp 45.77.43.174:29518: i/o timeout] > common/retry: all retry attempts failed
ip端口填错了,或者节点已经挂了
最近是不是不能用了,我换了好几个服务器,都不行了。
找到问题了,我用的网站有问题了,namesilo也刷不出来了,换了个别的域名网站,新申请个域名好了。
你好,想问下,vps是买的白丝云,443端口被封了,但是别的端口又没有对外开放,也不能在vps控制台指定对外开放端口,这种情况咋办啊
所有端口都是开放的
系统环境:win11系统,v2rayN3.23版本软件。开启PAC模式可登录油管,但不能用idm下载油管视频。转换成全局模式,就可以用idm下载油管视频。在win10系统上就没有这种情况。
win11的行为才是正常的
那参考:https://v2xtls.org/v2rayn-4-12%e9%85%8d%e7%bd%ae%e6%95%99%e7%a8%8b/,在win11中安装新版本,并且设置PAC模式,能否用idm下载油管内容不知道是否可行。请大神指点,谢谢!
代理理论上只对浏览器有效,其他软件不使用系统代理的话没有效果的
安装会报这个错误是什么问题?
Archive: /tmp/v2ray/v2ray.zip
inflating: /usr/bin/v2ray/geosite.dat
inflating: /usr/bin/v2ray/geoip.dat
inflating: /usr/bin/v2ray/v2ray
caution: filename not matched: v2ctl
Failed to copy V2Ray binary and resources.
v2ctl这个脚本没有了,所以是脚本失效了
为什么我关掉v2ray却不能上网了,已经试过删除IE中的Internet选项、网络重置等方法了
试试重启电脑,或者换个浏览器
唉,这么复杂,还是要付费使用?
需要买服务器
win11系统设置代理自动检测,为啥每次开机使用代理服务器还是关闭状态,需要手动开启才能科学上网
可能是其他软件影响,或者系统不是正版
有什么办法能得到免费的vps吗?
需要关注一些活动吧,有的可以免费试用一段时间
大佬,我搭建好了,也确实可以用,但是用个十几分钟他就会断开链接
https://files.catbox.moe/21va1l.png
然后过几分钟又可以连回去,不知道什么原因
被限速断流了
一键脚本启动的v2ray服务,监听的tcp6,导致一直连接不上,是不是要修改下脚本
failed to read response from edge-http.microsoft.com > io: read/write on closed pipe
大佬可以帮忙看看这个什么问题吗,按照您的教程配置了一遍但就是翻不了
应该是配置错了
运行一键安装脚本还需要额外的配置吗
不需要
楼主 能帮我看看吗 我的服务器搭建了v2ray 服务器v2ray状态都是正常的
本地也都正常连上 没有报错 但是v2ray底部显示网速显示未启用 也无法ping google.com
没有开启系统代理
自动配置的系统代理啊 这个有打开
楼主 有时间吗 能帮我远程看一下吗
换个浏览器试试