VPN 不是定位修改器,而这个说法其实包着四件被当成一件的事。IP 地址估算会随出口移动。设备位置不会随之移动,因为它来自你手里的传感器。权限决定哪些应用能不能请求这个位置。而保存的城市、收货地址或账户偏好,存在前两者都碰不到的数据库里。弄清楚你面对的是四者中的哪一个,「VPN 没起作用」通常会变成一个具体得多的小问题。

被混在一起的两种说法

「你的位置」要么指互联网认为你的连接从哪里来,要么指设备实际在哪里。这两者由互不相干的系统产生,失效方式也不同。前者是第三方根据交给它的地址做出的推断。后者是你自己的硬件做出的测量,多数情况下只有在你允许之后才会被分享。

What you seeWhere it comes fromDoes a VPN move it
"Your IP is in Germany"Commercial geolocation database keyed to address rangesYes, because the exit address changed
Map pin on your streetGPS, plus Wi-Fi and cell inputs from the OSNo
Weather defaults to another cityAccount setting or a previous estimateSometimes, indirectly

IP 估算怎么产生

没有人去问你的路由器在哪里。服务商用注册机构分配、商业数据购买,以及从已知观测点测得的时延等数据,建立把地址段对应到国家、地区乃至城市的数据库。查询回答的是关于这个地址段的问题,不是关于使用它的设备。

所以 VPN 能立刻改变答案,也所以这个答案往往仍然是错的:家庭连接会被重新分配,移动网络的地址段由整个地区共用,数据库可能滞后好几个月。而 Geolocation API 是完全不同的机制,所以眼前这两个数字可以互相矛盾,却谁都没有坏。

手机怎么知道自己在哪

定位服务把卫星定位与附近 Wi-Fi 网络和基站的身份标识结合起来,再与记录这些无线电来源位置的数据库比对。做这种结合的是操作系统,然后把结果交给提出请求的应用。把那个应用的流量绕到另一个国家的服务器,并不会让无线电挪位,所以定位仍停在设备所在的地方。

有一个值得知道的细微互动。如果某个应用是从网络而不是从操作系统读取位置,改过的路由就可能影响它的推断。这在手机应用里少见,在网页里常见,也正是浏览器页面可能报出一个城市、而手机自带地图却显示你所在街道的原因。

近似权限是中间情况。它给应用的是由同一批传感器得出的更粗略答案,细节变了,路由却完全没变。

权限才是人们真正在找的开关

如果目标是让某个应用不知道你的位置,控制手段是操作系统的单应用权限,而不是 VPN 服务器列表。多数平台已经把精确访问和近似访问分开,两者都能按应用撤销。浏览器还会按站点再加一层授权,所以几个月前允许过的站点,可以在不弹新提示的情况下请求设备位置。

撤销权限会按平台规则停止今后的访问。它不会删除服务已经存下的位置,也不会改变任何别的站点根据你的连接算出的 IP 估算。这是三件各自独立的清理,其中只有一件是权限开关。

来自账户的标签

页面上的城市名可能是保存的偏好,而不是测量结果。家庭住址、常用门店、默认收货地址和时区都是账户字段;改出口对它们毫无影响,服务也可能一直显示旧值,直到刷新。动手改之前,先判断标签来自三种来源中的哪一种:新的 IP 估算、设备定位,还是已保存的设置。

一次只测一个变量。在改过路由的同一个浏览器里查 IP,然后读应用权限状态,再看账户自己的位置设置。三个一起改,得到的结果没人能归因。

选出口,是为了它给你的网络路径,并把 四层中任意一层的副产品——任何位置变化 当作四层之中某一层的副产品,而不是承诺。

相关文章