我最近发布了一个免费的VPN,是逆向修改的,而这个原版也是基于v2rayNG修改的,这个问题出现在v2ray内核的安卓系统上,根据日志已经确认了内置的dns服务器是走代理出去的,但还是会间歇性存在无法正常DNS解析导致无法上网的情况,而当开启DoT之后马上就恢复了,下面请看详细报道
在安卓手机上的v2rayNG使用Shadowsocks节点可能会出现节点是有效的 ,但是没办法联网的情况
比如说你在电脑上可以使用 但是在在手机上就没办法使用 或者说你可以使用电报,但是没办法访问谷歌或youtube之类的
因为电报直接跟IP建立连接 不需要做DNS域名解析
而谷歌youtube就不一样了 他是要先把域名解析成IP地址,然后再进行访问,我之前在节点钓鱼那期视频也有讲解DNS的原理
这个问题我还没有完全研究明白 因为是间歇性的,有时可以访问有时又不行
如果说你哪个时间段发现所有的ss节点都没办法连接
除去那个节点真的没办法使用之外 很有可能是长城防火墙对DNS做了干扰
那么这种情况你就可以尝试在设置里面把私人DNS
打开,选择自动,然后保存,再尝试重新连接节点
开启私人DNS后就会走DoT进行域名解析
DoT也就是加了密的DNS 当节点没办法使用的时候 我开启DoT之后他就马上就可以正恢复正常了
而且这个问题的话不只是我这个软件的问题 因为这个软件也是基于开源的v2rayNG修改的
v2rayNG也有同样的问题,经过多次测试就是DNS的问题
可能是因为手机上他是走tunnel模式的,跟电脑上的socks代理原理是不一样,这个地方对DNS解析的流程有点问题
根据我对v2ray的理解,他设置的DNS是走那个代理出去的,经过代理出去的DNS请求长城防火墙是没办法进行拦截的
所以说具体的话我也不太清楚为什么会这样
如果出现了这种情况,你就把那个把私人DNS改成自动就可以了,改成私人DNS之后它就会尝试发送DoT的请求
走DoT进行域名解析的话 他就不会出现没办法访问的情况
这是我目前的解决方案,如果有大佬知道这个原因的话 欢迎在评论区留言指点