Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于vmess中转到ss。无法访问被墙网站 #328

Closed
6656i opened this issue Dec 14, 2016 · 12 comments
Closed

关于vmess中转到ss。无法访问被墙网站 #328

6656i opened this issue Dec 14, 2016 · 12 comments

Comments

@6656i
Copy link

6656i commented Dec 14, 2016

手机发帖,要求格式不好编辑。。。
中转服务端v2ray2.9(腾讯云),墙外ss-libev。
客户端安卓5.1, v2raygo 11月28日版。

以下为测试情况。
1,客户端vmess传出--->中转vmess传入--->国内网站:正常(腾讯云)。

2,客户端vmess传出--->中转vmess传入--->中转ss传出--->墙外ss--->国外非墙网站:正常(显示国外ip)。

3,客户端vmess传出--->中转vmess传入--->中转ss传出--->墙外ss--->国外被墙网站:超时,无法访问。

错误提示([Warning]Shadowsocks Client: Failed to
ead response: [ShadowsockslTCP: Failed to read IV.]> EOF )

然而
4,客户端ss--->中转服务器ss协议--->墙外ss服务器--->被墙网站:正常。

所以不知道问出在哪里。

@v2ray
Copy link
Collaborator

v2ray commented Dec 14, 2016

我比较好奇 2 和 3 的差别,在 3 的时候 ss-libev 有什么错误信息么?看上去像是 ss-libev 中断了连接,于是 V2Ray 这边什么都没有收到就报错了。

@6656i
Copy link
Author

6656i commented Dec 14, 2016

比如国外的ss服务器是192.168.1.1
那么访问test-ipv6.com之类网站,网站获取到的ip是192.168.1.1。即ss-libev代理正常。这是情况2。

但是访问Google,Facebook之类网站,则超时,无法访问。这是情况3。

2和3的传输过程是一样的,区别在于结果。

至于4,就是安卓ss 到中转 v2ray的ss协议,到国外ss服务器。这个全部网站正常。

@6656i
Copy link
Author

6656i commented Dec 14, 2016

ss-libev日志有点长了,手机端找起来比较困难。目前也不方便用电脑上网。

我猜测 是不是vmess协议传入,再转到ss协议传出时,数据处理某个环节bug。导致敏感数据被墙干扰。

所以出现不被墙的网站可以访问,被墙的网站访问不了。

情况4全程都是ss协议,就没出这个情况。

@6656i
Copy link
Author

6656i commented Dec 15, 2016

ss-libev报错
ERROR: getpeername: Transport endpoint is not connected

@v2ray
Copy link
Collaborator

v2ray commented Dec 15, 2016

方便的话贴一下中转服务器的配置吧。

另外可以在客户端把 loglevel 设为 "info" 看一下请求的目标网址,有可能你的客户端先解析了域名,但是解析到了被污染的值,导致最终连不上。

@6656i
Copy link
Author

6656i commented Dec 15, 2016

有可能是解析到被污染的ip。但是不解析域名,怎么适配路由?

直接在墙外网站搭vmess也是不能访问被墙网站。
[Warning]Freedom: Failed to open connection to tcp: 93.46.8.89:443: All retry attempts failed.]

这个应该是访问google产生的ip。或者facebook。

难道跟vps有关系?不过我找了另外一个vps的服务器ss账号,也是不行。

@6656i
Copy link
Author

6656i commented Dec 15, 2016

有没有可能是v2raygo的问题?因为我发现中转服务器访问手机163触屏版,首页栏目的推荐 一直在转圈。

@6656i
Copy link
Author

6656i commented Dec 16, 2016

经再次测试,在PC上用v2ray 2.10.5无此问题。所以中转服务器配置应该是正确的。
最有可能的问题在安卓端的v2raygo或者安卓端配置...

@v2ray
Copy link
Collaborator

v2ray commented Dec 16, 2016

@xiaokangwang

应该是 DNS 的问题,不过我不太清楚 Android 上 DNS 是怎么处理的。上述的 93.x.x.x IP 是一个假 IP,详见:https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BC%93%E5%AD%98%E6%B1%A1%E6%9F%93

Shadowsocks-libev 有一个特性,在 socks 协议请求 IP 的时候,主动检测是否为 HTTP(s) 请求,是的话尝试读取请求中的域名。需要的话可以把那个特征移植过来。

@xiaokangwang
Copy link
Contributor

VPN Service模式下,DNS是通过vmess协议作为UDP数据发送的和接收的。
请确认v2ray logcat上能看到53号端口的通信。

需要注意的是,SS可能并不支持udp数据,在ss android版会使用pdnsd转换dns请求为tcp模式,libv2ray不进行这个处理。

中转vmess传入--->中转ss传出
我怀疑是在这一步解析的DNS,导致被投毒。

@xiaokangwang
Copy link
Contributor

PC上上正确可能是因为socks请求里带上了域名了

@DarienRaymond
Copy link
Contributor

V2Ray 2.25开始支持了SNI Proxy可解决这个问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants