访问国际互联网时记得让代理服务器解析DNS


用了昨天一晚上加上今天一个白天把我的v2ray服务器配置成可用mKCP协议的了。我为提升了好几倍的网速激动了好久。

然而……

我切到Windows,打开了v2ray的Windows版本,却发现除了Google其他倒闭网站真的是倒闭了,一直卡在“正在与XXX进行TLS握手”!!!怎么回事,之前在Fedora上不是挺好的吗?就因为我把kcp的配置放到了配置文件的全局配置部分,而不是网上大多数人那样放到分连接配置中去?

……然而改到分连接配置中还是不行啊!(而且改配置文件最头疼了,一不小心就多了/少了一个逗号或多了/少了一个花括号)

好吧,进入排错模式。手动rotate服务器上的日志,重现(reproduce)故障现场。然而看了半天连接日志似乎没有哪里不对啊?

正当我复制日志准备提出issue的时候突然想起一个细节:远程服务器的DNS解析。

我的Fedora上的Firefox使用的是老版本的FoxyProxy插件,而我的Windows Firefox使用的却是新版的FoxyProxy。我注意到新版FoxyProxy貌似没有提到DNS的事情。

而Firefox原生网络代理设置中,却是可以要求代理服务器(准确地说是socks 5代理)解析DNS的。看图:
remember to use remote DNS resolving!

我试着关掉了FoxyProxy,用ipconfig /flushdns清理了DNS缓存,然后重启Firefox用其原生网络代理设置配置代理。当然,勾上了“使用 Socks V5代理DNS”。

……

Success!

为了验证是不是远程DNS解析没到位的锅,我决定再次清除DNS缓存,然后故意不勾选“使用 Socks V5代理DNS”。果然,这次又卡“正在与XXX进行TLS握手”了!

为了进一步确认问题,我重启到了Fedora,找到了老版FoxyProxy的选项页面——里面默认勾选了让代理服务器解析DNS!

……

还有个问题没解决呢,为什么Google可以在DNS被污染的情况下仍然能用梯子访问?哪位读者明白的话,敬请在下面评论吧!

发表评论

电子邮件地址不会被公开。