1) 你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明)
v2ray-v2.41-windows-64
2) 你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
a) Chrome 直接设置Socks 代理通过v2ray 上网可正常翻墙
b) IE通过SocksCap/Proxifier 连接到 v2ray 上网无法访问墙外网址
3) 你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等)
proxifier或sockscap中配置好v2ray的服务后,用软件自带的测试连接服务均显示正常。可是通过proxifier或sockscap启动IE后就无法打开Google;但是可以打开百度等墙内网址,并且可以看到v2ray一直在刷相已经打开的网址的Log。
4) 你期待看到的正确表现是怎样的?
IE通过SocksCap/Proxifier 连接到v2ray能够打开google,就像chrome直接通过v2ray能打开google那样
5) 请附上你的配置(提交 Issue 前请隐藏服务器端IP地址)。
服务器端配置:
// 在这里附上服务器端配置文件
{
"inbound":{
"port": 16823,
"protocol": "vmess",
"settings": {
"clients":[
"id" : "xxxxx",
"level": 1,
"alterId":64
]
}
},
"outbound"{
"protocol" : "freedom",
"settings": {}
},
"outboundDetour":[
{
"protocol":"blackhole",
"settings":{},
"tag":"blocked"
}
],
"routing":{
"strategy": "rules",
"settings" :{
"rules":[
"type":"field",
"ip":[
...
],
"outboundTag": "blocked"
]
}
}
}
客户端配置:
// 在这里附上客户端配置
{
"inbound": {
"port": 1089,
"listen": "127.0.0.1",
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": false,
"ip": "127.0.0.1"
}
},
"outbound": {
"protocol": "vmess",
"settings": {
"vnext": [{
"address": "xxxxx",
"port": 16823,
"users": [{
"id": "xxxxx",
"alterId": 64,
"security": "auto"
}]
}]
},
"mux": {
"enabled": true
},
"streamSettings": {
"network": "tcp"
}
},
"outboundDetour": [{
"protocol": "freedom",
"settings": {
},
"tag": "direct"
}],
"dns": {
"servers": ["8.8.8.8",
"8.8.4.4",
"localhost"]
},
"routing": {
"strategy": "rules",
"settings": {
"domainStrategy": "IPIfNonMatch",
"rules": [{
"type": "field",
"port": "1-52",
"outboundTag": "direct"
},
{
"type": "field",
"port": "54-79",
"outboundTag": "direct"
},
{
"type": "field",
"port": "81-442",
"outboundTag": "direct"
},
{
"type": "field",
"port": "444-65535",
"outboundTag": "direct"
},
{
"type": "chinasites",
"outboundTag": "direct"
},
{
"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": "direct"
},
{
"type": "chinaip",
"outboundTag": "direct"
}]
}
}
}
6) 请附上出错时软件输出的错误日志。在 Linux 中,日志通常在 /var/log/v2ray/error.log 文件中。
服务器端错误日志:
// 在这里附上服务器端日志
error.log没有任何日志
客户端错误日志:
// 在这里附上客户端日志
v2ray日志:
2017/12/14 23:18:32 [Info]Proxy|Socks: TCP Connect request to tcp:69.171.234.48:80
2017/12/14 23:18:32 [Info]App|Dispatcher|Default: default route for tcp:69.171.234.48:80
2017/12/14 23:18:32 [Info]App|Proxyman|Mux: dispatching request to tcp:69.171.234.48:80
2017/12/14 23:18:50 [Info]App|Proxyman|Inbound: connection ends > Proxy|Socks: connection ends > context canceled
2017/12/14 23:18:50 [Info]App|Proxyman|Outbound: failed to process outbound traffic > Proxy|Freedom: connection ends > c
ontext canceled
7) 请附上访问日志。在 Linux 中,日志通常在 /var/log/v2ray/access.log 文件中。
// 在这里附上服务器端日志
没看到什么异常
8) 其它相关的配置文件(如 Nginx)和相关日志。
这是proxifier的日志
[12.14 23:18:32] IEXPLORE.EXE - www.google.com:80 打开通过代理 127.0.0.1:1089 SOCKS5
[12.14 23:23:34] IEXPLORE.EXE - www.google.com:80 关闭,257 字节已发送,0 字节 已接收,生存期 05:02
[12.14 23:31:37] IEXPLORE.EXE - www.google.com:80 打开通过代理 127.0.0.1:1089 SOCKS5
[12.14 23:31:42] IEXPLORE.EXE - www.google.com:80 关闭,257 字节已发送,0 字节 已接收,生存期 00:05
9)最后请教一个问题
像chrome,dropbox这些有代理设置的软件配合v2ray科学上网没有任何问题;但是像网络游戏等本身没有代理设置的应用程序应当如何配合v2ray来使用呢?
以下是直接在chrome中设置socks代理通过v2ray访问google的日志,其中请求Google的域名是clients5.google.com:443;
而上面ie通过SocksCap/Proxifier再走v2ray访问google的域名则是69.171.234.48:80;
不知道问题是不是出在这里?这是dns相关的设置的问题吗?
2017/12/15 11:15:02 [Info]Proxy|Socks: TCP Connect request to tcp:clients5.google.com:443
2017/12/15 11:15:02 [Info]Proxy|Socks: TCP Connect request to tcp:www.gstatic.com:443
2017/12/15 11:15:08 [Info]App|Router: looking up IP for tcp:clients5.google.com:443
2017/12/15 11:15:08 [Info]App|Router: looking up IP for tcp:www.gstatic.com:443
2017/12/15 11:15:08 [Info]App|Dispatcher|Default: default route for tcp:clients5.google.com:443
2017/12/15 11:15:08 [Info]App|Dispatcher|Default: default route for tcp:www.gstatic.com:443
2017/12/15 11:15:08 [Info]App|Proxyman|Mux: dispatching request to tcp:clients5.google.com:443
2017/12/15 11:15:08 [Info]App|Proxyman|Mux: dispatching request to tcp:www.gstatic.com:443
2017/12/15 11:15:09 [Info]Proxy|Socks: TCP Connect request to tcp:play.google.com:443
2017/12/15 11:15:09 [Info]App|Router: looking up IP for tcp:play.google.com:443
2017/12/15 11:15:09 [Info]App|Dispatcher|Default: default route for tcp:play.google.com:443
2017/12/15 11:15:09 [Info]App|Proxyman|Mux: dispatching request to tcp:play.google.com:443
2017/12/15 11:15:09 [Info]Proxy|Socks: TCP Connect request to tcp:fonts.gstatic.com:443
2017/12/15 11:15:09 [Info]App|Router: looking up IP for tcp:fonts.gstatic.com:443
2017/12/15 11:15:09 [Info]App|Dispatcher|Default: default route for tcp:fonts.gstatic.com:443
2017/12/15 11:15:09 [Info]App|Proxyman|Mux: dispatching request to tcp:fonts.gstatic.com:443
然后我又用IE设置Socks代理直接通过v2ray翻墙访问google,还是不行,日志如下:
2017/12/15 12:15:24 [Info]Proxy|Socks: TCP Connect request to tcp:66.220.158.32:80
2017/12/15 12:15:24 [Info]App|Dispatcher|Default: default route for tcp:66.220.158.32:80
2017/12/15 12:15:24 [Info]App|Proxyman|Mux: dispatching request to tcp:66.220.158.32:80
2017/12/15 12:15:24 [Info]Transport|Internet|TCP: dailing TCP to tcp:[我的v2ray server IP]:16823
2017/12/15 12:15:24 [Info]Proxy|VMess|Outbound: tunneling request to tcp:v1.mux.cool:9527 via tcp:45.76.124.222:16823
2017/12/15 12:17:40 [Info]Proxy|Socks: TCP Connect request to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]App|Dispatcher|Default: taking detour [direct] for [tcp:183.232.246.248:80]
2017/12/15 12:17:40 [Info]Proxy|Freedom: opening connection to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]Transport|Internet|TCP: dailing TCP to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]Proxy|Socks: TCP Connect request to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]App|Dispatcher|Default: taking detour [direct] for [tcp:183.232.246.248:80]
2017/12/15 12:17:40 [Info]Proxy|Freedom: opening connection to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]Transport|Internet|TCP: dailing TCP to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]Proxy|Socks: TCP Connect request to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]App|Dispatcher|Default: taking detour [direct] for [tcp:183.232.246.248:80]
2017/12/15 12:17:40 [Info]Proxy|Freedom: opening connection to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]Transport|Internet|TCP: dailing TCP to tcp:183.232.246.248:80
2017/12/15 12:17:40 [Info]App|Proxyman|Outbound: failed to process outbound traffic > Proxy|Freedom: connection ends > context canceled
我的做法就是跟你的差不多,
我这边使用 SSTap(虚拟网卡)透过代理 Socks 传输到 V2ray 然后把 TCP 送出
也就是有一个 Proxifier 类似的工具把程序挂上 Socks 的通道就可以了
谢谢回复,也就是说我的做法思路是没有问题的,那现在的情况,一般要怎样去排查具体的问题呢?比如需要使用什么工具,查看什么日志之类。
用 Chrome 的 omegaproxy 是可以順利越牆嗎?
看起来就是 IP 的问题了,那个 IP 是 Facebook 而不是 Google 的,确定是 DNS 污染了。解决方案是 1) 避免 DNS 污染,或者 2) 在 V2Ray 中开启 domainOverride。我不确定你用的版本支不支持 domainOverride,可以升到最新版再试一下。
刚刷出回复,谢谢楼上两位:
to cyrilkong : 用 Chrome 的 omegaproxy 是可以順利越牆嗎?
可以,完全没有任何问题
to DarienRaymond:非常感谢指点,我去搜索下解决方案!不过有个疑问,我用 Chrome 的 omegaproxy 连v2ray可以翻墙,这样为什么不会被污染呢?
to DarienRaymond:
奇迹出现了!我把 Super Socks5Cap 的DNS设置从“先本地再远程”改成了“远程”,然后就可以翻墙了!
我的理解是,本地DNS被污染了,而v2ray服务端的DNS是干净的,所以这样的设置起到作用了;同时Chrome的OmegaProxy应该也是直接使用的远程DNS解析,所以也OK。请问我的理解正确吗?
又有了一个新问题,我用 SuperSocks5Cap+v2ray连接WOW的国外服务器,在连接服务器和验证账号阶段,v2ray是在走WOW相关的日志的,然而进入游戏以后就没有任何日志了,ping值比直连也没有什么变化。
这种情况有可能是什么原因呢?
@ArcherLew 对于DNS的理解是正确的
不太清楚WoW的工作原理,如果游戏中发送的UDP包的话,有可能 1) socks5cap 没有正确地代理 udp 数据 2) UDP 数据在 vmess 中使用了一条连接传输,所以没有频繁的日志输出。
如果你觉得游戏代理有问题,请单独开一个 issue 讨论