VPN、代理与 DNS:区别在哪里
这三个词都围绕着「改变你的网络连接从外部看起来是什么样」——正因如此,它们常被混淆,或被当成可以互相替代。实际上,这是三种作用层次不同、防护差异很大的技术。
DNS——只是互联网的「电话簿」
当你通过域名(例如 example.com)打开一个网站时,设备会先向 DNS 服务器询问:「这个域名对应哪个 IP 地址?」——拿到地址后才去访问它。更换 DNS 服务器(例如改用公共 DNS,而不是运营商默认给你的那个),只会改变由谁来回答这个问题。流量内容本身既不会被加密,也不会被隐藏——地址解析完成之后,数据的去向与 DNS 无关。关于这个话题的详细拆解,包括加密 DNS(DoH/DoT),见文章DNS 与 IP 泄露。
代理——针对特定应用的中间人
代理服务器接收来自你的应用(通常是浏览器)的请求,再以自己的名义转发出去——网站看到的是代理的地址,而不是你的。关键限制在于:大多数代理运行在单个明确配置了它的应用层面,而非整个系统层面,并且通常不会在网站通过 HTTPS 已提供的加密之外再自行加密。代理改变的是请求的路径,而不是保护它的内容。
VPN——加密并覆盖整个系统
VPN 在操作系统层面建立一条加密隧道:设备上所有应用的流量(而不只是某一个浏览器)都通过这条隧道传输,其内容在通往 VPN 服务器的整条路径上都受加密保护。关于 WireGuard/AmneziaWG 这类现代 VPN 协议的加密究竟如何运作,详见文章什么是流量加密以及协议详解。
从三个维度对比
| 维度 | 更换 DNS | 代理 | VPN |
|---|---|---|---|
| 加密流量内容 | 否 | 通常不 | 是 |
| 隐藏可见 IP | 否 | 是,但仅限已配置的那个应用 | 是,对所有应用 |
| 覆盖范围 | 仅域名解析 | 通常一个应用 | 整台设备(系统级) |
| 绕过 DPI 拦截 | 否 | 部分 | 可以,前提是协议支持流量混淆 |
| 需要信任谁 | DNS 服务器 | 代理服务器 | 整个 VPN 服务(全部流量) |
在三者之中,VPN 的防护和覆盖范围最广,但它对服务运营方的信任要求也最高:你的全部流量都经过它的服务器,因此弄清楚 VPN 提供方究竟记录和保存了什么就很重要——相关判断标准见文章如何挑选隐私连接服务。
什么时候选什么:三种场景
这些技术并不直接竞争——每一种都解决自己的问题。判断标准很简单:
- 更换 DNS适用于想让域名解析更快或更安全、并绕过最简单的 DNS 层过滤的情况——但别指望它带来加密或改变 IP。它是一种补充,而非防护。
- 代理适合只需为某一个应用改变可见地址(例如在浏览器里打开某个网站)、且不在意加密全部流量的场景。快速而精准,但整个系统依然处于不设防状态。
- VPN是同时看重内容加密和整机覆盖时的选择:在公共 Wi-Fi 下办公、一次性保护所有应用、绕过 DPI 拦截(前提是协议支持——例如 AmneziaWG)。代价是要信任运营方,因此请挑选日志政策清晰的服务。
实际上这并非「二选一」:VPN 可以与自定义 DNS 搭配,代理也可以叠加在 VPN 之上完成某项具体任务。但如果你需要一个能整体解决隐私与流量防护的方案——那就是 VPN。
