三处改动同时进行,三次猜测,只有一个能用的连接:这就是大多数人所谓的 VPN 排障,而它什么也解释不了。连接成功了,下一次失败又重新从零开始。一次受控的替换只多花一分钟,却能给出可以复现的结果。下面要谈的是这种取舍,而不是今晚哪个公共节点最快。

乱跳与一次受控替换

乱跳会同时改变国家、协议和客户端,因此成功无法归因于其中任何一项。它看起来高效,是因为第一次尝试常常成功:列表足够长时,总会有某个节点连上。但它从不产生事实,所以同样的抱怨一周后又会出现,只带着一套新的猜测,也记不得改过什么。

只有一台笔记本、没有备用设备时,一个紧急电话是乱跳的正当理由;你买的是时间,不是知识,这笔交易无可厚非。同一接入网络上重复出现的失败则相反,因为节点列表不变,失败却在变。当重复足够可靠时,值得检查的变量是你所在的链路,而不是目录里的下一个国家。

动手改列表之前先给失败分类

每一次失败的尝试都会停在四个阶段之一,而每个阶段的责任方不同。先给失败分类,就能把含糊的「不管用」变成目标,而且比再加载一个配置更省时间。表格是分类,不是对原因的猜测。

StageWhat you actually observeWho usually owns it
resolvethe hostname never becomes an addressthe profile's hostname or your local resolver
negotiatethe socket opens, no tunnel parameters appearprotocol pairing and the server's configuration
authenticateparameters agree, credentials are refusedcertificate, account or server-side policy
carrytunnel reports up, application traffic stallsroutes, MTU, firewall or the server's egress

把阶段连同节点标识、协议、接入网络、所用解析器和本地时间一起记录下来。下一次尝试正是与这份记录比较,也只有它能让两次尝试真正可比。没有它,相同的失败看起来像运气不好,不同的失败看起来像进步。

在相同条件下对比一个候选

按节点实际宣传的协议和真正需要的国家挑选候选,然后按发布的样子阅读配置。靠改端口名来转换文件,做出来的东西看起来像配置,却会在没人预料到的阶段失败。

设备、接入网络和任务保持不变,只更换节点。如果替换后能连上并传输流量,问题就在原节点或其配置上,你可以这样下结论。如果它在同一阶段失败,你得到的比一个能用的连接更有用,因为故障在对比中属于你这一侧。热度评分适合给候选排序,它既不是隐私保证,也不是下个月的预测。

公共节点在身份方面无法承诺什么

阅读配置,确认节点由谁运营、使用什么协议、证书何时到期,并把证书与该运营方对比,而不是与目录列表对比。不一致意味着条目已经易主,或者从来就不准确,正确的做法是丢弃它,而不是绕过警告继续点击。

公共节点的归属和配置会在没有通知的情况下改变,所以上个月还能用的列表,今天描述的可能是另一台机器。在配置与证书一致之前,把每个条目都当作未经验证。应急备用不是跳过验证的理由,更不是提交属于另一项服务的凭据的理由。

检查不止一盏绿色状态灯

取回你真正需要的资源,确认域名能通过隧道解析,并检查节点承载哪些地址族。只转发 IPv4 却悄悄丢弃 IPv6 的隧道是部分成功,日后会以找不到明显触发条件的间歇性故障再次出现。

对交互式工作来说,响应速度和吞吐量同样重要,所以要测任务,而不是测下载。把可用的配置存成你认得的名字,删掉没成功的实验条目,并把结论限定在测试过的条件内,而不是凭一个晚上给整个国家排名。VPN Gate 列表是合理的候选来源,前提是把每个条目当作候选,而不是推荐。

相关文章