一次离奇的v2本地局域网走代理问题

缘起

最近发现v2里有一些本地局域网网关的代理记录,这非常的奇怪,因为网关地址是局域网地址,不可能会走到v2透明代理里的(只对g.f.w生效)。

折腾过程

经过一段时间分析,发现是bt下载客户端一开启,就有相关的日志,关闭后就没有了。

这样的话就可能是bt下载客户端导致的了,关闭bt下载客户端的代理配置,发现问题依旧。

于是把所有的下载全部暂停再观察,发现问题消失,这样的话应该是和bt下载过程强相关了。

于是分析是不是bt下载里的一些tracker存在问题,通过一一排查,最后发现是一些走udp协议的tracker会导致问题,并且这些tracker是gfw列表内的网站。

由于网关配置了v2里配置了tcp和udp的自动gfw透明代理,这样的话应该是udp代理出现问题了。

目前的实现是gfw的被f网站udp通过iptables redirect实现转发。

通过网上查询后,发现v2ray对udp的nat处理不是很好,这么redirect到网关的v2代理端口后,会导致目标ip和端口变成网关的,最终走到v2服务端目标ip就错误了,最终导致日志里出现局域网地址,且这个udp的请求其实是失败的。

一个udp是否通的检测方法:

dig '@xxx.xxx.xxx.xxx' -p 443 www.twitter.com

其中xxx.xxx.xxx.xxx为需要测试的ip地址,如果不通则会timeout

解决过程

由于udp流量极少,直接不代理udp了

参考文档

https://toutyrater.github.io/app/tproxy.html

https://zbttl-github-io.vercel.app/yi-ge-chou-da-you-xi-de-dui-fullcone-de-gao-tan-kuo-lun/

https://guide.v2fly.org/app/transparent_proxy.html#设置步骤


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。