欢迎加入tg群交流:@tlanyantg
前文 “V2Ray教程” 介绍了V2Ray
基本用法,本文介绍V2Ray
高级使用技巧:流量伪装。客户端下载请访问:V2ray客户端,拯救被墙的服务器请参考:拯救被墙的服务器。
为何需要流量伪装
自设立墙以来,我国的网络封锁技术一直是全球领先的。有方校长等人持续做贡献,封锁和干扰技术也在不断演化和进步。传统的VPN、ssh隧道等科学上网方式渐渐被墙识别和干扰,访问境外网站越来越难,倒逼网民不断推动穿墙技术的发展。
科学上网这些年来,见证了诸多技术的兴起和消沉,自架服务器被绊者更是数不胜数。经历过谈笑风生的岁月,才知闷声发大财是人生真理。翻墙技术同样如此,一是不要高调和张扬,否则大概率被打击和屏蔽;其次流量尽量与常见流量接近,不要特立独行,例如使用非常用端口、自定义奇怪的协议。本文介绍的V2ray伪装便是将穿墙流量以常见的HTTPS/TLS包装,大大降低vps被墙或被干扰的可能性,在敏感时期提供稳如狗的上外网体验。
V2ray发布了新版的VLESS协议,强烈推荐使用,详情请参考 V2ray的VLESS协议介绍和使用教程
推荐使用XTLS+Splice技术的Xray,详情参考:Xray教程
V2ray流量伪装前提条件
本文假设读者已经具备以下条件:
- 一台境外的vps,购买可参考:一些VPS商家整理;
- 一个域名,无备案要求(备案可使用国内CDN加速,但意味着万一有事,被喝茶更容易)。域名购买可参考:Namesilo域名注册和使用教程 或从 适合国人的域名注册商推荐 选购;
- 为域名申请一个证书,请参考:使用acme.sh签发证书 或 从阿里云获取免费SSL证书(伪装域名用来做站推荐使用);
- 有基本linux技巧,能使用vim/nano等编辑器。
理论上来说,证书不是必须的。但没有tls加持或不做加密,防火墙直接能看出来流量真实意图从而进行干扰,这也是为什么不建议伪装http流量的原因。本文给出的方法采用合法机构签发的证书对流量进行加密,不是做特征混淆得到的TLS流量,从而更难被检测和干扰。
关于伪装技术的选择,V2ray web+websocket+tls 和 V2ray web+http2+tls 常用来做对比。理论上http2省去了upgrade的请求,性能更好。但实际使用中两者没有明显区别,加之某些web服务器(例如Nginx)不支持后端服务器为http2,所以websocket的方式更流行。如果你要上http2,记得web服务器不能用Nginx,要用支持反代http2的Caddy等软件。
下文介绍流量伪装的配置步骤,演示域名为tlanyan.pp.ua
,服务器为Linux(CentOS),web服务器软件用Nginx,web+websocket+tls组合,最终效果为:http/https方式打开域名,显示正常的网页;V2Ray
客户端请求特定的路径,例如https://itlanyan.com/awesomepath
,能科学上网;浏览器直接请求https://itlanyan.com/awesomepath
,返回”400 bad request”。即外部看起来完全是一个人畜无害的正规网站,特定手段请求特定网址才是科学上网的通道。
注意:如果使用伪装后网速慢,可尝试更轻量级的trojan,请参考:trojan教程。
V2ray流量伪装教程
服务端涉及到了Nginx和v2ray,分别介绍其配置。
1. 配置dns
先设置dns将域名解析到vps的ip,例如tlanyan.pp.ua
解析到xxx.xxx.xx.xx。
如果你上了CDN,则dns要解析到cdn给的ip或者别名网址(cname)。使用cdn能隐藏真实vps的ip,避免vps被墙或能拯救被封锁ip的vps。上cdn有好处,但国内cdn要求域名备案,国外cdn基本上会降低网速,而且配置起来稍显麻烦。建议新手先摸透https流量伪装,有特殊需求再考虑上cdn。
注意:如果你要用Let’s Encrypt签发的证书,并且希望上cdn,那么应该先解析到vps的ip,获取到证书后再解析到cdn。
更新:上cdn可参考:v2ray使用cloudflare中转流量,拯救被墙ip,请务必记得先让伪装正常工作再上cdn!
2. 配置Nginx
如果你的域名并正确配置了SSL证书,可忽略这一步。
Nginx是市面上占有率最高的网站服务器软件,Centos 7系统安装nginx命令:yum install -y epel-release && yum install -y nginx
。
Linux系统上Nginx默认站点配置文件是/etc/nginx/conf.d/
目录下的default.conf
(debian/Ubuntu系统路径是 /etc/nginx/site-enabled/default.conf
),我们对伪装网站进行全站https配置,示例内容如下:
server {
listen 80;
server_name xxxxx; # 改成你的域名
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl http2; # 不再推荐使用443端口,可以使用8000-9000之间的端口
server_name xxxxx;
charset utf-8;
# ssl配置
ssl_protocols TLSv1.2 TLSv1.3; # tls 1.3要求nginx 1.13.0及以上版本
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
ssl_certificate xxxxx; # 改成你的证书地址
ssl_certificate_key xxxx; # 改成证书密钥文件地址
access_log /var/log/nginx/xxxx.access.log;
error_log /var/log/nginx/xxx.error.log;
root /usr/share/nginx/html;
location / {
index index.html;
}
}
鉴于目前443端口容易被墙,推荐使用8000-9000之间的端口号,例如8080、8443、8090等
配置好用nginx -t
命令查看有无错误,没问题的话systemctl restart nginx
启动Nginx。打开浏览器在地址栏输入域名,应该能看到https访问的Nginx欢迎页。
新域名如何快速做一个像模像样的网站?最简单的办法是从网上下载网站模板,上传到web服务器的根目录(默认是/usr/share/nginx/html
)。对于伪装站来说,静态站足够。如果你的境外流量比较大,建议用爬虫或者其他手段做一个看起来受欢迎、流量大的站点,例如美食博客,图片站等。
3. 安装配置V2Ray
详细过程可参考上篇:V2Ray教程。为了让V2ray能正常运行,请确认防火墙已放行对应端口,并且关闭了selinux:setenforce 0
。
到此为止,Nginx和V2ray应该都能各自独立正常工作。如果有一个出现问题,应该先解决再继续下面的操作。
4. Nginx配置websocket
接下来我们让Nginx和v2ray结合,完成服务端的配置。
首先我们选择一个伪装路径,建议为二级或者较长的一级路径,例如/abc/def
或/awesomepath
。
配置Nginx将伪装路径的访问都转发到v2ray。编辑/etc/nginx/conf.d/default.conf
的第二个server
段,增加以下转发配置:
location /awesomepath { # 与 V2Ray 配置中的 path 保持一致
proxy_redirect off;
proxy_pass http://127.0.0.1:12345; # 假设v2ray的监听地址是12345
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
配置好后重启Nginx:systemctl restart nginx
。
配置v2ray接受Nginx传来的数据。编辑 /usr/local/etc/v2ray/config.json
文件,在“inbounds”中新增“streamSetting”配置,设置传输协议为“websocket”。配置好后config.json
文件看起来是:
{
"log": {
"loglevel": "warning",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [{
"port": 12345,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "xxxxx", # 可以使用/usr/bin/v2ray/v2ctl uuid生成
"level": 1
}
]
},
"streamSettings": { # 载体配置段,设置为websocket
"network": "ws",
"wsSettings": {
"path": "/awesomepath" # 与nginx中的路径保持一致
}
},
"listen": "127.0.0.1" # 出于安全考虑,建议只接受本地链接
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}
注意:
1. json文件不支持注释,上述配置中”#”号及后续内容都要删掉;
2. 可以使用命令检查配置是否存在错误:
/usr/bin/v2ray/v2ray test -config /usr/local/etc/v2ray/config.json
配置无误后,重启v2ray服务:systemctl restart v2ray
。
如何测试nginx与v2ray结合没有问题?打开浏览器,输入域名及其他路径,应该显示正常网页或者页面不存在,说明Nginx正常工作;输入域名加v2ray路径,例如https://itlanyan.com/awesomepath
,应该出现”Bad Request”,说明Nginx将流量转发给了v2ray,并且v2ray收到了请求。
客户端设置
最后是配置客户端,本文以Windows平台的V2RayW
软件为例说明使用方法。
打开V2RayW
,右键托盘图标,点击“配置”。在弹框中新建或修改已有的服务器,输入服务器ip,端口写443,把用户id、额外id信息填上,网络类型选择”ws”。接着点“传输设置”,找到“websocket”,路径一栏输入nginx和v2ray中的路径,例如“/awesomepath”;http头部输入:
{
"Host":"你的域名,例如tlanyan.pp.ua"
}
截图如下:
接着点击“tls”,勾选“启用传输层加密tls”(同时建议勾选“允许不安全的加密方式”和“允许不安全连接”),在“服务器域名”的输入框中输入域名,截图如下:
信息填写正确后,点击“保存”。打开浏览器访问google.com,youtube.com等网站,配置无误的话应该都能正常打开。
因为启用了TLS,因此VMESS配置界面的加密方式(security)建议配置为none,以节省cpu,提高设备续航能力
如果对nginx/v2ray以及客户端的配置不熟悉,建议使用这个v2ray配置生成工具:v2ray配置生成。
V2ray流量伪装总结
https/tls会加密路径信息,仅靠中间环节捕捉到的流量包极难区分是正常请求还是夹带私货的流量。这也显示了v2ray的强大之处:通过配置不同的协议和载体,就能对进出的流量做定制。从流量伪装、反向代理的功能上看,v2ray毫无疑问的是一个强大的网络框架/工具,科学上网功能只是其一个成功应用。
比较让人遗憾的是v2ray的ios客户端均收费,客户端下载请访问:V2ray客户端下载。
首先在这里感谢作者分享技术经验
我已按照分享伪装部署完成 使用时发现网络速度有些慢 也尝试了cdn方法发现国内cdn绑定ip服务器都需要备案 国内个人无法备案 还查到有人在海外购买了cdn 然后在国内再购买国内转到海外的方式实现加速效果 但是后面说被封禁了 此方法应该行不通 请问作者还有什么好的方式进行加速么 再此感谢
买好的服务器,或者用iplc等专线中转
感谢回复
您好,基本上访问网站都是accept,但是浏览器显示都是意外终止连接是什么问题?
2022/07/13 10:55:37 127.0.0.1:58570 accepted //content-autofill.googleapis.com:443 [http -> proxy]
2022/07/13 10:55:37 127.0.0.1:58572 accepted //beacons5.gvt3.com:443 [http -> proxy]
2022/07/13 10:55:37 127.0.0.1:58574 accepted //beacons5.gvt3.com:443 [http -> proxy]
2022/07/13 10:55:38 127.0.0.1:58576 accepted //beacons5.gvt3.com:443 [http -> proxy]
2022/07/13 10:55:38 127.0.0.1:58578 accepted //clients2.google.com:443 [http -> proxy]
2022/07/13 10:55:39 127.0.0.1:58580 accepted //clients2.google.com:443 [http -> proxy]
2022/07/13 10:55:39 127.0.0.1:58583 accepted //clients2.google.com:443 [http -> proxy]
2022/07/13 10:55:39 127.0.0.1:58585 accepted //clients2.google.com:443 [http -> proxy]
2022/07/13 10:55:40 127.0.0.1:58587 accepted //www.google.com:443 [http -> proxy]
2022/07/13 10:55:41 127.0.0.1:58589 accepted //www.google.com:443 [http -> proxy]
2022/07/13 10:55:47 127.0.0.1:58591 accepted //itlanyan.com:443 [http -> proxy]
2022/07/13 10:55:47 127.0.0.1:58593 accepted //itlanyan.com:443 [http -> proxy]
2022/07/13 10:55:48 127.0.0.1:58595 accepted //hm.baidu.com:443 [http -> block]
2022/07/13 10:55:48 127.0.0.1:58596 accepted //hm.baidu.com:443 [http -> block]
2022/07/13 10:55:49 127.0.0.1:58597 accepted //itlanyan.com:443 [http -> proxy]
2022/07/13 10:55:49 127.0.0.1:58599 accepted //itlanyan.com:443 [http -> proxy]
应该是配置错了
有一个小问题想请教大佬tlanyan 如何保证/验证伪装后的连接都是tls加密的?
我遇到这样一个情况:
1.在更换域名和证书后,通过旧域名(未到期但证书不再适用)仍可以获取vps的ip,以不安全的方式连接到v2ray,这是我不想要的
2.并且奇怪的是,我尝试使用网上教的只允许通过指定域名访问的方法(如https://blog.csdn.net/houxian1103/article/details/120026577),会导致v2ray也同样失效。这是否说明本身v2ray也在以不安全的方式访问?
先谢谢大佬了
安全性由两层保证:外层的ssl和内层的vmess。你这种情况,是ssl不能防止中间人攻击,但流量还是加密的,而这与v2ray无关,而是https本来就有这种情况。第二个问题是ssl握手的sni匹配问题,同样和v2ray无关,不代表不安全
感谢大佬的解答!第一个问题确实是https本身的问题,只要依赖于第三方,那就没有办法避免;对第二个问题我大致明白了,没有用指定域名访问!=不安全,但仍然有些小疑问:sni只是对访问按域名做了一个分流,按道理不应该影响通过指定域名的v2ray连接呀?
顺带问一问大佬,大佬有没有考虑过从服务器端 拒绝不是指定域名的连接 并且 不干扰v2ray工作 的方法呢?
如果有一些思路的话希望大佬分享一下,我想在旧域名失效前试一试,学习一下
sni是给web服务器做握手用的,证书和域名需一致才能不受中间人攻击影响,并不仅仅是分流。https默认就是要指定域名访问的,你可以新建一个server段,启用ssl并设置为default_server,这样非指定域名连接就会到默认段了
感谢大佬,学到了!
[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)
请问一下这个怎么处理
电脑时间不对
我把服务器时间设置北京时间还是不行
是你的电脑不对,不是服务器的
晚上好。请问作者有试过使用树莓派装openwrt后实现旁路由翻墙吗?我有个用了ws+tls的vps服务器,完全按照作者的方法配置的,已经能在本地结合clash使用,再次表示感谢。这几天因为深圳疫情被隔离在家,想用手上的树莓派实现搞一个旁路由翻墙,然后在openwrt上配置时却发现不管我怎么搞都上不了外网,百度能访问。流量应该是走了旁路由,因为当我开启全局时百度也无法访问了。所以想请教一下作者,用了伪装的vps在配置openwrt有什么注意事项吗?
可能是客户端太旧了,试试把alterid改成0
事实证明现在这个伪装已经能被识别出来了,我在某云的香港服务器上测试过了,在设置为https的端口链接不正常,自定义的端口链接正常,只有这一个变量其他什么都没改,端口页没变,还是用的433端口
本人用起来并没受影响
某云后台的防火墙就拦住了,没操作系统的事,在433端口上,我不设置成https类型端口直接网站https页面无法打开,设置了v2ary的vmess协议就会被拦住,无解,只能用其他端口。
可能是屏蔽了ws协议
大佬好,我按照您给的方式配置了v2ray可以正常使用,但是用上伪装之后就不能用了,不知道为什么,运行之后没有报错信息,感谢大佬解惑!
alterid改成0
感谢大佬的教程 我发现原来是443端口没有开…
2022/01/07 00:49:12 [Warning] [423863784] 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://141.164.48.75/new_list): > x509: certificate is valid for test.jayshome.top, http://www.jayshome.top, not http://www.jayshome.com] > common/retry: all retry attempts failed
2022/01/07 00:49:12 [Warning] [423863784] proxy/http: failed to read response from cachefly.cachefly.net > io: read/write on closed pipe
不知道这是为什么,下面是配置文件
{
“log”: {
“access”: “/var/log/v2ray/access.log”,
“error”: “/var/log/v2ray/error.log”,
“loglevel”: “warning”
},
“inbounds”: [
{
“port”: 7777,
“protocol”: “vmess”,
“listen”:”127.0.0.1″,
“settings”: {
“clients”: [
{
“id”: “40c2cbf0-1bea-441d-8955-c3f88de76edd”,
“level”: 1,
“alterId”: 0
}
]
},
“streamSettings”: {
“network”: “ws”,
“wsSettings”: {
“path”: “/list_new”
}
},
“sniffing”: {
“enabled”: true,
“destOverride”: [
“http”,
“tls”
]
}
}
//include_ss
//include_socks
//include_mtproto
//include_in_config
//
],
“outbounds”: [
{
“protocol”: “freedom”,
“settings”: {
“domainStrategy”: “UseIP”
},
“tag”: “direct”
},
{
“protocol”: “blackhole”,
“settings”: {},
“tag”: “blocked”
},
{
“protocol”: “mtproto”,
“settings”: {},
“tag”: “tg-out”
}
//include_out_config
//
],
“routing”: {
“domainStrategy”: “IPOnDemand”,
“rules”: [
{
“type”: “field”,
“ip”: [
“0.0.0.0/8”,
“10.0.0.0/8”,
“100.64.0.0/10”,
“127.0.0.0/8”,
“169.254.0.0/16”,
“172.16.0.0/12”,
“192.0.0.0/24”,
“192.0.2.0/24”,
“192.168.0.0/16”,
“198.18.0.0/15”,
“198.51.100.0/24”,
“203.0.113.0/24”,
“::1/128”,
“fc00::/7”,
“fe80::/10”
],
“outboundTag”: “blocked”
},
{
“type”: “field”,
“inboundTag”: [“tg-in”],
“outboundTag”: “tg-out”
}
,
{
“type”: “field”,
“domain”: [
“domain:epochtimes.com”,
“domain:epochtimes.com.tw”,
“domain:epochtimes.fr”,
“domain:epochtimes.de”,
“domain:epochtimes.jp”,
“domain:epochtimes.ru”,
“domain:epochtimes.co.il”,
“domain:epochtimes.co.kr”,
“domain:epochtimes-romania.com”,
“domain:erabaru.net”,
“domain:lagranepoca.com”,
“domain:theepochtimes.com”,
“domain:ntdtv.com”,
“domain:ntd.tv”,
“domain:ntdtv-dc.com”,
“domain:ntdtv.com.tw”,
“domain:minghui.org”,
“domain:renminbao.com”,
“domain:dafahao.com”,
“domain:dongtaiwang.com”,
“domain:falundafa.org”,
“domain:wujieliulan.com”,
“domain:ninecommentaries.com”,
“domain:shenyun.com”
],
“outboundTag”: “blocked”
} ,
{
“type”: “field”,
“protocol”: [
“bittorrent”
],
“outboundTag”: “blocked”
}
//include_ban_ad
//include_rules
//
]
},
“transport”: {
“kcpSettings”: {
“uplinkCapacity”: 100,
“downlinkCapacity”: 100,
“congestion”: true
}
}
}
域名和证书信息不匹配
大佬,请教个问题,我使用的是v2ray的一键脚本,但是获取证书时出现问题,具体报错为:[Sun Nov 14 15:02:00 CST 2021] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
[Sun Nov 14 15:02:02 CST 2021] Can not init api for: https://acme-v02.api.letsencrypt.org/directory.
[Sun Nov 14 15:02:02 CST 2021] Sleep 10 and retry.
这个是什么原因呢?
可能是系统问题,换个系统或者升级系统
windows使用V2RayN,协议选择ws,没有http的伪装类型,然后就报错。没办法选择了tcp,结果一直连接进不去但又不报错。过后用了教程的V2RayW,得行。但是没V2RayN好用!!!
伪装类型是none
您好。请问一下配置机场流量伪装的时候能写另一个服务器的ip吗?这个服务器是我的博客网站,没有域名且是用80端口访问。机场有域名且用443访问。PS:您的打赏能放个wx啥的吗
大佬请问怎么确定自己IP是不是被封了.是不是ping不通就算被封了.
ping不通说明可能被封了,ssh连不过去基本就是挂了
我是docker跑的v2ray和nginx,两者没有特意关联。nginx制作了静态导航页,http访问,没有申请证书。v2ray用的docker run -d -p 35000:35000 –name v2ray –restart=always -v /storage/v2ray:/etc/v2ray teddysun/v2ray进行拉取启动的,路由端口映射里边映射了35000:35000。
网页打开(域名:35000)会显示Bad Request,是否表示服务端没有问题?
然后手机客户端配置:
address:我的域名
port:35000
id:182e****** #和服务端配置文件一致
alterld:64
security:chacha20-poly1305
network:ws
伪装类型type:http
伪装域名: #空着
path:/
跳过证书验证:false
sni: #空着
问题就是,手机客户端开启服务后,无法上网。也不清楚有没有连上服务端。伪装域名那里随便填什么网址,都没用。
你这种情况,跳过证书验证必须为true,或者要正确配置域名
域名没有问题,我可以外网访问docker运行的tr、aria2、FileBrowser等,我试着把跳过证书验证改为true,依然是不能上网。
感觉还是客户端和服务器端之间被什么拦截了。
我的服务器端配置:
{
“routing”:{
“rules”:[
{
“inboundTag”:[
“api”
],
“type”:”field”,
“outboundTag”:”api”
},
{
“ip”:[
“geoip:private”
],
“type”:”field”,
“outboundTag”:”blocked”
}
]
},
“outbounds”:[
{
“settings”:{},
“protocol”:”freedom”
},
{
“settings”:{},
“protocol”:”blackhole”,
“tag”:”blocked”
}
],
“stats”:{},
“api”:{
“tag”:”api”,
“services”:[
“HandlerService”,
“LoggerService”,
“StatsService”
]
},
“inbounds”:[
{
“settings”:{
“clients”:[
{
“id”:”182e3bd3-79ac-****-****-************”,
“alterId”:64
}
]
},
“protocol”:”vmess”,
“port”:35000,
“enable”:true,
“streamSettings”:{
“wsSettings”:{
“path”:”/”,
“headers”:{
“Host”:”ltevod.tv189.cn”,
“Connection”:”keep-alive”
}
},
“security”:”none”,
“network”:”ws”
},
“remark”:”伪装测试”,
“tag”:”inbound-11270″,
“listen”:”0.0.0.0″
}
],
“policy”:{
“system”:{
“statsInboundUplink”:true,
“statsInboundDownlink”:true
}
}
}
您看看有没有问题?
这看不出问题,得看运行日志
error.log文件里边日志(重启一次,所以有两条):
2021/02/28 20:14:36 [Warning] v2ray.com/core: V2Ray 4.34.0 started
2021/02/28 12:26:46 [Warning] v2ray.com/core: V2Ray 4.34.0 started
access.log日志(手机端不连接时时空文件,连接时产生数据):
2021/02/28 12:28:04 tcp:192.168.10.1:47370 accepted udp:1.1.1.1:53
2021/02/28 12:28:06 192.168.10.1:47376 accepted tcp:103.212.12.43:3000
2021/02/28 12:28:10 tcp:192.168.10.1:47378 accepted udp:1.1.1.1:53
2021/02/28 12:28:14 tcp:192.168.10.1:47380 accepted udp:1.1.1.1:53
2021/02/28 12:28:14 tcp:192.168.10.1:47382 accepted udp:1.1.1.1:53
2021/02/28 12:28:20 tcp:192.168.10.1:47388 accepted udp:1.1.1.1:53
2021/02/28 12:28:20 tcp:192.168.10.1:47386 accepted udp:1.1.1.1:53
2021/02/28 12:28:20 tcp:192.168.10.1:47384 accepted udp:1.1.1.1:53
2021/02/28 12:28:25 192.168.10.1:47394 accepted tcp:113.96.209.106:443
2021/02/28 12:28:25 192.168.10.1:47400 accepted tcp:szextshort.weixin.qq.com:80
2021/02/28 12:28:25 192.168.10.1:47406 accepted tcp:szshort.weixin.qq.com:80
2021/02/28 12:28:28 tcp:192.168.10.1:47408 accepted udp:1.1.1.1:53
2021/02/28 12:28:29 192.168.10.1:47414 accepted tcp:szextshort.weixin.qq.com:80
2021/02/28 12:28:30 tcp:192.168.10.1:47418 accepted udp:1.1.1.1:53
2021/02/28 12:28:30 tcp:192.168.10.1:47416 accepted udp:1.1.1.1:53
2021/02/28 12:28:31 tcp:192.168.10.1:47420 accepted udp:1.1.1.1:53
请问能看出问题吗?
看不出问题,你应该给客户端的日志
客户端配置文件,找了,没找到。有两个geoip、geosite的dat文件,打开都是乱码。软件里边进去没有日志入口。感觉什么都要学。居然百度不到。
v2rayN就能直接显示日志
03-01 07:34:30.674 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:30.839 D/com.v2ray.ang(18117): SCREEN_ON, start querying stats
03-01 07:34:32.530 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 66 Err: connection timed out
03-01 07:34:32.531 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 70 Err: connection timed out
03-01 07:34:32.619 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.621 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.771 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 72 Err: connection timed out
03-01 07:34:32.784 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.811 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 74 Err: connection timed out
03-01 07:34:32.829 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.856 I/GoLog (18117): udp:127.0.0.1:48535 accepted udp:1.1.1.1:53 [socks >> proxy]
03-01 07:34:32.900 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 76 Err: connection timed out
03-01 07:34:33.021 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 78 Err: connection timed out
03-01 07:34:33.100 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 80 Err: connection timed out
03-01 07:34:33.170 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 82 Err: connection timed out
03-01 07:34:33.880 I/GoLog (18117): Using Prepared: 180.113.13.66
这一段日志有err提示:
03-01 07:34:30.674 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:30.839 D/com.v2ray.ang(18117): SCREEN_ON, start querying stats
03-01 07:34:32.530 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 66 Err: connection timed out
03-01 07:34:32.531 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 70 Err: connection timed out
03-01 07:34:32.619 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.621 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.771 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 72 Err: connection timed out
03-01 07:34:32.784 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.811 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 74 Err: connection timed out
03-01 07:34:32.829 I/GoLog (18117): Using Prepared: 180.113.13.66
03-01 07:34:32.856 I/GoLog (18117): udp:127.0.0.1:48535 accepted udp:1.1.1.1:53 [socks >> proxy]
03-01 07:34:32.900 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 76 Err: connection timed out
03-01 07:34:33.021 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 78 Err: connection timed out
03-01 07:34:33.100 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 80 Err: connection timed out
03-01 07:34:33.170 I/GoLog (18117): fdConn unix.Connect err, Close Fd: 82 Err: connection timed out
03-01 07:34:33.880 I/GoLog (18117): Using Prepared: 180.113.13.66
我换了个端口47450测试,结果也是一样。微信、qq可以联网,哪怕视频聊天也可以。但是浏览器和其它app就是无法联网。
看不出问题
信息有限,您看不出也正常。会不会静态网页对v2ray服务端也产生影响,我的静态页面访问是http://look.lookni.cf:8069后面用8069端口是担心80端口被运营商屏蔽了不能访问,连接到v2服务端是look.lookni.cf端口47450,这样会不会相互有影响?
没看懂你怎么弄的,建议你先按照正常的来能上网,然后再折腾其他的
我不知道怎么说,家里电脑上网没问题,申请的域名通过HE.net IPv6 Tunnel和Hurricane Electric Hosted DNS解析和动态绑定后,远程访问也没问题。现在我在局域网docker里边安装v2ray服务端,手机安装客户端,目的也不是出国,就是做一个流量伪装,配置文件用在线生成的,手机只能微信联网,其它app不能;或者用网友分享的配置文件(他也是做流量伪装,服务端安装在路由openwrt固件中),原样搬过来,只更改id和域名地址,依然是手机只能微信联网其它app不能。
我想,同样的配置文件别人能正常使用,我这里不行,路由上端口转发又开启了,还能是哪里的问题呢。域名解析服务器?主路由防火墙?配置文件不对?哪怕有一个方向,也好。
非常不好意思,为自己的问题厚颜麻烦你多次回复。这大概也是文科生的无奈呀。
别人能用你用不了,基本只有这个两个原因:1.用的网络不一样;2. 你的客户端配置错了
nginx[2528]: nginx: [emerg] cannot load certificate ” 奇怪了,不管我怎么弄,都是提示这个
证书的路径不对,或者权限设置不对
请教大神,路径是对的,但是权限怎么判断呢?我是在cf上复制下来,然后到linux里建了个文件粘贴进去的
用ll命令查看文件夹、文件的权限,另外注意关闭selinux
大神就是大神,一眼就看出问题所在,把selinux关闭之后,不报错了。感谢大神指点迷津。
大佬配置了流量转发之后,域名能正常打开,转发路径也是bad request,但是就是连接不上,有一段时间还用的好好的,我就加多一个站点,就挂了。这是为啥
看看电脑时间对不对
大佬,我配置完能正常访问油管,但不能访问P站,是为什么呀。。
ip被P站拉黑了,换一个机房,或者装浏览器插件
接着求助:
特意将端口号,伪装路径都换了一遍(做到nginx和v2ray两者之间的匹配),v2ray都在正在运行,还是出现 502 Bad Gateway, 无法出现Bad request ,今天大概是出不来结果了,大佬抽空再给指点一下,多谢多谢!
你把vps信息发给我,我进去帮你看看
查了一下Nginx之中伪装网址的错误日志:出现的是:
2021/02/16 02:34:40 [crit] 7648#0: *8 connect() to 127.0.0.1:48560 failed (13: Permission denied) while connecting to upstream, client: 223.72.70.15, server: http://www.xxxxtv.cc, request: “GET /goodpath HTTP/2.0”, upstream: “http://127.0.0.1:48560/goodpath”, host: “www.xxxxtv.cc”
这是确认了防火墙打开了48560端口的情况下出现的
setenforce 0
对您的佩服如滔滔江水,如您的建议,加上setenforce 0 就好了(怨自己没仔细看V2ray教程)
求助大佬:
去年内容和去年夏天的帖子类似,即,nginx 和 v2ray分别都已经成功的情况下,配置v2ray接受Nginx传来的数据,这一步死活都不成功,去年夏天自己的VPS也不知道怎么就弄过去了,这次替朋友安装一个新的VPS,死活就过不去了,输入域名加v2ray路径,若正常的话,出现的该是 Bad Request, 这次安装的这个总是出现 502 Bad Gateway nginx/1.16.1
到底哪里出问题了,大佬帮忙啊
NGINX里转发端口错了,或者v2ray没有运行
又看了一遍,nginx的配置文件中的 proxy_pass http://127.0.0.1:12345, 已经将12345换成了v2ray的端口;v2ray也是正常启用运行的(不用伪装的,即不带“streamSetting”配置,正常能翻墙) ,还望大佬再次指点
如果用了Nginx转发,v2ray的配置文件中需要带streamSettings,并且输出协议要配置为ws
“streamSettings”: {
“network”: “ws”,
“wsSettings”: {
“path”: “/betterpath”
}
},
“listen”: “127.0.0.1”
这些都已经在v2ray的配置文件中的 inbound部分添加了呀?
502报错信息,一般来说只有三种可能:1. Nginx转发的端口错了,和v2ray配置的监听端口不同; 2. Nginx的路径和v2ray中的路径不匹配; 3. v2ray没有运行
为了将nginx和v2ray结合,将这次安装VPS的 ngnix配置文件以及v2ray的配置文件和已安装正常使用的vps的这两部分配置文件相对照看,也没看出两者的区别,但就是不出现 Bad request, 只有 502 Bad Gateway
埋头研究了两天,终于搞定。博主说“新手建议使用一键脚本”,我觉得这个建议很坑。因为新手如果一键脚本没搞定,那找原因都不知道从哪里找起。我之前能连接,网站也有,但担心证书和混合太复杂,就去一键脚本了。结果重装了三五次也没搞定,再返回来读博主这篇,一步步测试过关,最后终于好了。
我用的老电脑,客户端软件装不上,是直接写的配置文本。感觉混合时最容易出问题的地方有两个,一是端口。服务器是v2ray的端口,客户端是tls的端口。这个坑至少让我多花了五个小时,反复测试和重装。二是streamSettings这里的设置,特别关键。我一直连不上就是这两个地方没搞懂,设置老不对。其它的都不会太错。
这也是我最郁闷的地方。博主其它全说到位了,就是客户端的配置代码没写。去看了示范模板,由于没人指导说明,只好一行行代码对比测试,才特别花时间。如果博主能把客户端的config.json代码也示范出来,尤其是容易填错的几处标注一下,可能对某些人有启发。
再赞一下博主的文章写得详细,只要沉下心去读,我这种小白也只要两天就读懂并操作好了。一键脚本也许方便,但只要出了问题就只有抓瞎的份。
感觉感谢。我真的特别需要这个。
客户端的config.json一般都是由客户端自动生成,很少有人手动写,因此没提供。如果理解了服务端的配置,客户端的配置手写也是很简单的,因为v2ray是不区分客户端和服务端的
你好,请问使用nginx反代之后是不是伪装域名不能填其他的,我留空和填反代的域名可以使用,但是想使用免流填联通域名就不能连接了,请问有什么方法可以共存?
把allowsecure设置为false
大佬,我完全重装了VPS后,v2Ray在不设置流量伪装时可以正常使用,按照教程配置完伪装后就连不上,出现了io: read/write on closed pip的问题,问题是我手机和电脑都连不上,而且时间和VPS上的事同步的,这是什么原因?
能打开伪装站吗?你这看起来像ip或者域名被墙了
IP能直接ping到,伪装站正常打开
伪装站能正常打开那就是客户端配置错了啊,手机上试试
大佬,我按照你的教程搭建了自己的梯子,用了大半年,一直都挺正常,今天发现连不上了,手机上测试显示io: read/write on closed pipe,流量监控上只有几B的上传,没有下载。我更新了服务器的时间同步设置,但任然连不上,还是原来的报错,请问这该如何处理
看看伪装网站能不能打开,看起来像ip被墙了
伪装网站可以打开,加上v2ray路径后也显示的是bad request
那就是你电脑时间不对
我重新设置了电脑和手机到网络时间,可是还是同样的问题,我让我在异地的朋友测试我的连接,也是相同的问题。是不是我干脆把vps重装了还比修这个问题简单?
如果手机能用电脑不能用,那就是电脑的问题。如果找不到问题,可以考虑试试完全重装
可以出个V2RayN的配置吗?
客户端下载页面有教程
求教
ping了伪装地址,然后出现vps服务器的ip
ping了半天,显示“请求超时”
其他情况,油管打不开,输入伪装域名跳转到其他域名
是不是域名被盗用了
该如何处理好,请大神指点。
请教大神,最近是不是监管很严,伪装之后,速度很慢,油管基本打不开。
没有感觉,应该是你的服务器线路不好或者性能太弱
服务器是:
Basic VPS – Self-managed – 20G KVM – PROMO
应该是服务器防火墙没开
如何开启服务器防火墙,请指点一二,感谢!
建议一键脚本
开了防火墙之后更打不开了😂
一键脚本吧
请问大佬,v2ray的监听地址假设是”12345″,此处是填我的v2ray服务端的监听端口吧?
这个端口是nginx和v2ray沟通的端口,不是最后用的,随便填就可以
感谢回复!我说都按步骤都配置好了,最后怎么上不了网了
我也是
我使用ClashX时,单纯使用v2ray的,是能访问google的,但是在ClashX加入ws后,就无法就访问了。
客户端配置错了
ClashX的配置
#udp: true
#tls: true
#skip-cert-verify: true
#network: ws
#ws-path: /abc
#ws-headers:
#Host: xunyang.monster
nginx:
location /abc{
proxy_redirect off;
proxy_pass http://127.0.0.1:30749;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
v2ray:
“streamSettings”: {
“network”: “ws”,
“wsSettings”: {
“path”: “/abc”
}
},
“listen”:”127.0.0.1″,
不知道是不是和这个客户端有关系,昨天第一次使用客户端都ok,今天用就炸了,
clashX的配置文件里,network/ws-path/Host这些行前面的#要删除
您好,我一直采用这种nginx转发到v2ray的方式,也很稳定。现在我打算改成xray xtls的方式,但貌似xray xtls 需要自己监听443端口来判断流量来源做回调。那这样和目前的nginx是否冲突了?主要我还有个网站在跑,不想动nginx,请问大神这种情况怎么做呢?
本站vless fallback的文章说了,要么用nginx的sni分流,要么xray换其他端口监听,然后fallback到nginx端口
谢谢,已阅读,写得不错。这种情况感觉还是用nginx的sni分流隐匿性好一点。
不过像这样是否性能受影响较大?毕竟还要nginx先判断一下。(但应该我比之前用v2ray nginx转发到其他端口的性能要好吧?)
基本不用考虑性能影响
稳定用了大半年,突然不能上了。打开点开伪装网站发现自动跳转到了一个别的垃圾网页,请问如何处理
域名到期了,或者vps被黑了
域名肯定没过期,7月份买的一年域名。
重启了一下VPS,又能科学上网了,不过伪装网站还是自动跳转。请问大佬这样试样怎么处理?更换域名的密码吗?
换个浏览器试试,或者服务器重装系统,然后再次部署
大佬,为何/etc/nginx/conf.d/下文件为空
默认就是为空,需要自己创建配置文件