跳到主要内容

给路由器装 VPN 时,大多数人关心的是隧道本身:连上了没有,指示灯是不是绿的。可是 DNS 这个设置却很少被留意,而它恰恰决定了家里的手机、笔记本和电视,会不会继续悄悄把你访问过的网站名字告诉宽带运营商。隧道完全可以运转良好,而 DNS 依旧绕着隧道走。

本文只讨论“VPN 路由器的 DNS”这一个问题:DNS 地址可能存放在哪几个位置,哪一个优先,怎样设置才正确,怎样让家里的本地名称继续可用,以及如何测试结果。文中假设你的路由器上已经跑起了 VPN。如果还没做到这一步,请先看帮助中心的路由器 VPN 设置指南;如果对 DNS 这个词还陌生,先读DNS 是如何工作的。

为什么路由器上的 DNS 需要单独关注

DNS 相当于互联网的电话簿。设备要打开一个网站,先要问解析器:这个名字对应哪个数字地址?这类查询通常很小,而且往往没有加密,所以即使网页本身使用 HTTPS,查询记录仍然能反映你去过哪些网站。

在一台装了 VPN 应用的手机上,应用通常会替你处理好这件事,让系统把 DNS 查询送进隧道。路由器上则复杂得多,原因有三个。

  • 路由器同时承担两种角色:它是全家设备的出口网关,也是 VPN 客户端。两种角色可以各有一套 DNS 设置。
  • 路由器后面的设备并不读取 VPN 的设置,它们只是接受路由器通过 DHCP 发来的信息。DHCP 就是设备入网时分配地址的服务。
  • 有些设备根本不理会路由器,使用自己手动设定的 DNS,或浏览器、系统内置的加密 DNS 功能。

结果是,路由器上的 VPN 会给人一种“已经全部覆盖”的错觉。网页流量走了隧道,智能电视却仍在向运营商的解析器询问网站名称。这就是典型的 DNS 泄露,而在路由器上,它影响的是全家人。

DNS 地址可能存放的四个层次

动手改之前,先弄清楚你的路由器用到了哪几层。某一层的设置如果被更强的一层覆盖,改了也没用。

层次 在哪里找 影响谁 常见取值
路由器 WAN 侧 DNS 互联网或 WAN 页面 路由器自己的查询 运营商自动下发
VPN 客户端 DNS VPN 客户端页面或导入的配置 经过隧道的查询 VPN 一侧提供的地址
DHCP 下发的 DNS LAN 或 DHCP 服务页面 加入网络的所有设备 通常是路由器自身地址,如 192.168.1.1
设备自己的 DNS 手机或电脑的 Wi-Fi 设置、浏览器设置 仅该设备 自动,或手动填写

排查时请从表格底部往上读。设备上手动填写的 DNS 优先于 DHCP;DHCP 决定了大多数设备用什么;路由器自身的转发规则决定查询接下来发往哪里;只有在前面几层都没有改道的情况下,WAN 侧的设置才真正起作用。

“路由器自己的地址”是什么意思

多数家用路由器会把自己的私有地址(例如 192.168.1.1)当作 DNS 服务器下发给设备。听上去像是路由器亲自回答所有问题,其实它只是转发器:收到手机的查询,再交给上游解析器。需要你掌控的,正是“上游解析器是谁”。这类私有地址由 RFC 1918 定义,家庭以外的人无法直接访问。

最终想达到的状态

目标可以用一句话概括:所有设备询问路由器,路由器通过隧道询问解析器。实际可接受的配置有三种,各有取舍。

  1. 路由器转发给 VPN 一侧的 DNS。 设备保持 DHCP 默认设置,路由器把查询转发给 VPN 一侧提供的地址,且转发路径经过隧道。这是最简单也最常见的做法。
  2. 路由器经隧道转发给公共解析器。 你自己选解析器,但必须设置路由规则,使发往该解析器的流量走 VPN 接口。路由写错的话,地址看起来没问题,实际仍会泄露。
  3. 路由器自己运行本地解析器,上游使用加密 DNS。 高端路由器可以做到,但需要更多知识,而且它只是额外的一层,不能取代隧道。两者的关系可参阅 DNS over HTTPS 与 VPN。

拿不准时选第一种。越朴素的配置越容易测试,也越容易撤销。

谨慎修改路由器 DNS 的步骤

不同厂商和固件版本的菜单名称不同,下面描述的是思路,不是具体按钮。改动前先把每个原值记下来,方便回退。

  1. 记录现状。 打开 WAN、LAN 或 DHCP、VPN 客户端页面,把各页面的 DNS 栏位抄下来;路由器允许截图的话就截图。
  2. 先做一次基线测试。 在路由器已开启 VPN 的状态下,用连在该路由器上的笔记本运行 DNS 泄露测试,保存显示出的解析器列表,这是“改前”的样子。
  3. 寻找“使用 VPN 提供的 DNS”选项。 不少 VPN 客户端页面有接受 VPN 一侧下发 DNS 地址的开关,把它打开。
  4. 检查 DHCP 页面。 下发给设备的 DNS 应该留空(表示用路由器自己)或填路由器自身地址。若里面是运营商的 DNS,设备就会绕开隧道。
  5. 关闭你没有主动选择的附加 DNS 功能。 有些路由器预置了内容过滤或“智能”DNS,可能覆盖你的新设置。
  6. 保存并重启 VPN 服务。 部分路由器要等隧道重新建立才会应用新的 DNS。重启整个路由器是最后手段,但也可以。
  7. 让测试设备重新获取租约。 先断开 Wi-Fi 再连回,以拿到新的 DHCP 信息。电脑上还可以清空本地 DNS 缓存。
  8. 再测一次,并与第 2 步的基线对比。

别忘了 IPv6

如今很多家庭宽带同时提供 IPv4 和 IPv6 地址,路由器可能把 IPv6 的 DNS 信息与 IPv4 的 DHCP 设置分开下发。如果 VPN 只承载 IPv4,运营商通过 IPv6 提供的 DNS 就可能悄悄继续被使用。请看看路由器是否有独立的 IPv6 DNS 栏位;如果 VPN 不支持 IPv6,就关闭局域网一侧的 IPv6,或确保路由器不会通告运营商的解析器。背景知识见 IP 泄露是什么。

让本地名称继续可用

改完 DNS 后,常见的意外是家里的东西用不了了:打印机找不到,网络存储不能按名字打开,或者路由器管理页面不能用熟悉的名字访问。原因在于这些名字只存在于你的路由器里,外部解析器从没听说过;如果路由器把所有查询都送进隧道,得到的答案就是“没有这个名字”。

有三个实用办法,让两边都能正常工作。

  • 让路由器做第一解析器。 DHCP 下发的 DNS 保持为路由器自己的地址,路由器自己回答本地名称,其余的转发出去。几乎所有情况下这样都行得通。
  • 给关键设备固定地址。 在 DHCP 页面给打印机、存储设备预留固定 IP,然后直接输入地址而不是名称。
  • 使用按域名分流的规则。 有些固件允许指定某个后缀的名称交给本地解析器,其余交给上游。思路类似电脑上的 split DNS。

如果只在改了 DNS 之后才出现本地设备故障,原因几乎都是本地名称被发到了错误的地方。把路由器设回第一解析器,再测一遍即可。

三个家庭场景

设备种类繁多的一家人。 阿芳家里有两部手机、一台笔记本、一台电视和一台游戏机,都连在开了 VPN 的路由器上。她让 VPN 客户端使用 VPN 一侧的 DNS,DHCP 保持默认,并用笔记本测试。笔记本显示正常,电视却仍然出现运营商的解析器。原来电视的网络设置里有几年前手动填的 DNS。她改成自动之后,泄露消失了。

带共享打印机的家庭办公室。 老彭在空房间里办公,用名称向局域网打印机发送任务。路由器 DNS 改动后,打印机找不到了。他把 DHCP 的 DNS 改回路由器自身地址,同时让路由器把 VPN 一侧的 DNS 作为上游。打印机恢复了,测试里也只剩 VPN 一侧的解析器。

房东提供路由器的出租屋。 小美登录不了路由器后台,什么都改不了。于是她在自己的笔记本和手机上装了 VPN 应用,由应用在设备内部处理 DNS。这是切实可行的替代办法,两种思路的利弊见 VPN 路由器与 VPN 应用。

认真测试结果

只测一次是不够的,因为不同设备表现不同。可以按下面的流程做。

  1. 如果有网线接入的电脑,先测它,因为它能排除 Wi-Fi 带来的干扰,反映路由器本身的行为。
  2. 再测一部连着 Wi-Fi 的手机,并关闭移动数据,确保手机确实在使用路由器。
  3. 测电视或游戏机:打开一个应用,然后在路由器的客户端列表或 DNS 日志(如果固件提供)里查看。
  4. 重启路由器后重复一遍,因为有些设置看似已保存,其实没有。
  5. 故意断开 VPN 再测一次,了解隧道断开时网络会怎样。如果路由器悄悄退回运营商的 DNS,这是需要提前知道的风险,而不是日后才发现的意外。

请记住,DNS 结果干净只说明 DNS 没问题。还应检查公网地址是否真的变了,可参考如何检查 VPN 是否正常工作中的步骤。

常见错误与局限

  • 在 DHCP 页面直接填公共解析器,就以为很私密。 这样设备会跳过路由器的转发器,查询是否进入隧道取决于路由,而不是地址本身。
  • 只在 WAN 页面设置 DNS。 这只影响路由器自己的查询,不影响设备的查询。
  • 忘了写死 DNS 的设备。 老式流媒体盒子、游戏机、部分智能音箱内置了固定解析器,路由器的任何设置都改不了。
  • 忽视浏览器自带的加密 DNS。 使用自己加密解析器的浏览器会绕开路由器的选择。这是允许的,有时也很有用,但你要知道它的存在。
  • 不测试就封锁 53 端口。 有人用防火墙规则强制所有 DNS 走路由器。做得好效果不错,但务必测试,因为它也会让依赖自身设置的设备失灵。
  • 指望 DNS 设置带来匿名。 DNS 只是众多信号之一,账号、Cookie 和应用依然能识别你,见VPN 无法保护你的方面。

硬件也有局限。入门级路由器可能只有一个 DNS 栏位,不允许 VPN 客户端推送自己的 DNS,或者没有防火墙页面。这时现实的选择是在重要设备上各自运行 VPN 应用,或者换一台固件控制更充分的路由器。无论哪条路,都要记住:路由器上的 VPN 对所有设备同时生效,设置出错也会对所有设备同时生效。

总结

在 VPN 路由器上,DNS 可以存在于四个地方:WAN 页面、VPN 客户端页面、DHCP 页面和每台设备自身,通常越靠近设备的设置越优先。理想状态是一条简单的链条:设备问路由器,路由器通过隧道问解析器。保留路由器作为第一解析器,让本地名称继续可用;处理好 IPv6,免得它成为缺口;改动前后都用多种设备测试。

如果你更想逐台设备单独保护,而不是整个家庭统一处理,可以到价格页面了解预付通行证是否适合你。

常见问题

VPN 路由器应该使用哪个 DNS?

隧道连通时,最稳妥的默认做法是使用 VPN 一侧提供的 DNS,这样查询请求就在隧道内传输。也可以用公共解析器,但必须确认路由器把这些查询发进隧道,而不是绕开隧道。

为什么设置了路由器,有些设备仍显示运营商的 DNS?

这些设备可能被手动填写了 DNS,或者使用了浏览器、系统自带的加密 DNS。路由器上的设置只对愿意接受路由器下发信息的设备生效。

修改路由器 DNS 会导致打印机或 NAS 不能用吗?

如果你靠只有路由器认识的名字去访问它们,就可能失效。让路由器继续作为家庭网络的第一解析器,其余查询再转发出去,或者给关键设备固定 IP 并直接用地址访问。

有了 VPN,路由器上还需要 DNS over HTTPS 吗?

不一定。隧道正常工作时,DNS 查询在前往 VPN 一侧的途中已经被加密。加密 DNS 是另一层保护,在隧道断开或设备没走隧道时更有意义。

怎样判断我的路由器是否泄露 DNS?

用连接到该路由器的设备打开 DNS 泄露测试页面,看是哪些解析器在回答。如果显示的是家里宽带运营商而不是 VPN 一侧,说明路由器或设备把 DNS 发到了隧道之外。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

  • XPASS VPN 创始人
  • eSIMonline.asia 联合创始人
  • 7 年以上网络营销经验
  • Cojourney Visa 与 Cojourney Travel 创始人

短途出行或忙碌的一个月,需要 VPN?

XPASS 提供按天数计算的预付通行证。一次付款,不会自动续费。

查看通行证

继续阅读

VPN 安全

什么是 DNS 泄漏?

DNS 泄漏是指设备在 VPN 隧道之外查询网站地址。本文说明它为什么发生、如何检测,以及该怎么处理。

阅读约 10 分钟

VPN 基础

DNS 是如何工作的:从域名到 IP 地址

DNS 是把网站名称转换成设备实际连接的 IP 地址的查询系统。本文逐步讲解一次查询的过程,以及它为什么与隐私有关。

阅读约 9 分钟

VPN 基础

路由器 VPN 还是 VPN 应用:哪种方式适合你的家?

VPN 应该装在路由器上,还是装在每台设备上?本文从速度、智能家居设备、Mesh Wi-Fi、分流和日常便利性几个方面比较两种做法。

阅读约 10 分钟

VPN 安全

DNS over HTTPS 与 VPN 有何不同?需要两者一起用吗

DoH 与 DoT 让本地网络看不到你的 DNS 查询,VPN 则包住你的全部流量。了解各自覆盖什么、Android 私人 DNS 如何配合,以及何时需要两者并用。

阅读约 9 分钟

VPN 安全

VPN 的 Split DNS(分流 DNS)是什么

Split DNS 让设备按域名选择不同的解析器:内部名称走 VPN,其他名称走平时的解析器。本文介绍原理、使用场景和检查方法。

阅读约 9 分钟