跳到主要内容

装了 VPN 客户端的路由器,往往一开始是个很粗放的设置:家里所有设备都走隧道。这样简单,也有些别扭。走普通线路反而更顺的智能电视、本身已有公司 VPN 的工作笔记本、必须在局域网内可访问的打印机、不喜欢隧道的游戏主机,都被一起拖进来。解决办法就是路由器上的分流(split tunneling),具体靠策略路由实现:用规则按设备或按目的地决定哪些流量进入隧道,哪些不进。

本文介绍策略路由的原理、路由器选择流量的四种方式、如何搭建“双车道”的家庭网络、DNS 的位置,以及最容易让人困惑的错误。文中假设你的路由器上已经运行着 VPN 客户端;如果还没有,请先看路由器设置指南。分流的一般概念,可先读什么是分流(Split Tunneling)。

一段话讲清策略路由

普通路由器只按目的地址选择下一跳,用的是一张带一条默认路由的路由表。策略路由在查表之前多问一句:这个数据包符合哪条规则吗?规则可能写成“来自 192.168.1.50 的包用 VPN 表”,或“发往这个地址段的包用普通表”。数据包随后走规则选中的那张表。这类家庭私有地址由 RFC 1918 定义,也是家庭里大多数规则匹配的对象,因为路由器只能通过内网地址认识每台设备。

这是它与手机或电脑的关键区别。笔记本上的 VPN App 知道是哪个程序在发数据,路由器只看到数据包:源地址、目的地址和端口,分不出是浏览器还是游戏发的。因此在路由器上能做的一切,都必须用这些条件来表达。

选择哪些流量进隧道的四种方式

1. 按设备(源地址)

最常见的方式。你列出应走隧道的设备的内网地址,或列出应跳过的设备。由于路由器通过地址认识设备,必须让每台设备始终拥有同一个地址,后面会讲。

2. 按网段

不列设备清单,而是建立两个网络(例如主 LAN,加另一个 SSID 或 VLAN),把隧道规则应用到其中一个网段。连上那个 Wi-Fi 名称的设备都在隧道里,连另一个的则不在。比起维护地址清单,这更省心。

3. 按目的地(地址列表)

把发往指定目的地址段的流量送入隧道,其余直连,或者反过来。常用于访问公司网络,或让某项服务保持在普通线路上。对稳定、明确的地址段效果很好,对大型公共网站则很差。

4. 按端口或服务

规则可以匹配目的端口,例如只把邮件流量或某个服务端口送入隧道。精确但狭窄,因为现代流量大多共用端口(网页流量几乎都在同一个端口),所以很少用来区分人们真正关心的东西。

方式 适合 弱点
按设备 让电视或游戏机留在隧道之外 需要固定地址
按网段 家庭和小型办公室 需要第二个 SSID 或 VLAN
按目的地 访问某个公司网络或稳定服务 大型网站地址会变
按端口 特定服务 多数流量共用少数端口

搭建车道的步骤

第一步:让设备拥有固定地址

每一条按设备的规则都依赖设备保持同一个地址。路由器通过 DHCP 分配地址,如果不做设置,租约到期后地址可能改变。写规则之前:

  1. 打开路由器的已连接设备列表,记下每台设备的名称和硬件(MAC)地址。
  2. 为规则里要提到的每台设备创建 DHCP 预留,让路由器永远给它同一个地址。
  3. 重启设备或重新连接网络,确认地址与预留一致。
  4. 把表记下来:设备、地址、所属车道。

有些手机会为每个 Wi-Fi 网络使用随机硬件地址。如果某部手机总是拿到新地址,请在该手机上关闭对家庭网络的地址随机化,否则预留永远对不上。

第二步:定好车道

多数家庭只需要两条车道。动路由器之前先写下来。

  • 隧道车道: 在家里处理邮件、购物或工作的笔记本、手机和平板,以及你不想让宽带运营商看到流量的设备。
  • 直连车道: 在隧道里表现不佳的设备、需要被外部访问的设备、仅在局域网内使用的小设备,以及速度比隐藏地址更重要的设备。

当雇主的笔记本已经使用公司 VPN 时,还可以有第三条“工作车道”。在隧道上再跑一层 VPN 虽然可行,但可能变慢,有时还会失败。把那台笔记本放进直连车道或它自己的网段,通常更干净。

第三步:按正确顺序建立规则

菜单名称各不相同,这里讲逻辑,具体标签以固件文档为准。

  1. 创建或确认隧道路由。 VPN 客户端应提供独立路由表,或路由器可以选择的接口。
  2. 关闭默认的“所有流量走 VPN”。 许多固件对此只有一个总开关,使用策略路由时,用规则取代这个开关。
  3. 添加隧道车道的规则。 对每台设备或网段:源地址、目的“任意”、经 VPN 接口转发。
  4. 让直连车道保持默认路由。 对打算留在隧道外的设备不必做特别设置。
  5. 具体规则放在通用规则之上。 针对单个地址的规则必须先于通配规则被读取。如果通用规则排在前面,具体规则永远不会触发。
  6. 为本地网络添加例外。 你自己设备之间的流量,例如手机投屏到电视,应留在局域网内,不进入隧道。多数固件默认如此,但要确认。
  7. 保存并测试每条车道。 测试方法见下一节。

测试每条车道

每条车道至少用一台设备测试,不要只测一台。

  1. 在隧道车道的设备上打开 IP 查询页面。显示的应是隧道地址,而不是运营商给你的地址。分不清的话,参考什么是公网 IP 地址。
  2. 在直连车道的设备上打开同一页面,应看到你平时的地址。
  3. 在隧道车道的设备上运行 DNS 泄露测试,确认解析器不是运营商的。
  4. 在隧道车道设备与局域网设备之间投屏或打印,确认本地网络仍可用。
  5. 重启路由器,再重复第 1、2 步,因为有些规则在启动时加载失败。

更全面的检查清单见如何检查 VPN 是否正常工作,其中解释了各种结果的含义。

DNS:悄悄出错的部分

策略路由决定数据包往哪走,但 DNS 请求同样是数据包。如果隧道车道的设备向隧道之外的 DNS 服务器发问,即使网页流量被隐藏,它访问的网站名称也会被那台服务器看到。两种常见情况会造成这一点:

  • 路由器给所有设备分配同一个 DNS 服务器,而这个服务器是经普通线路访问的。
  • 设备使用自己在网络设置里配置的 DNS,忽略了路由器的选择。

整洁的做法是:让分配给隧道车道设备的 DNS 服务器可以经隧道访问,直连车道的设备使用普通 DNS。关于 split DNS 的文章解释了为什么路由与域名服务器不匹配会让网站表现异常,例如加载出意外的地区版本。对直连车道的设备来说没有什么需要保护的,普通 DNS 即可。

三个场景

有电视、游戏机和四部手机的家庭。 大家希望手机和笔记本受到保护,但电视 App 一开隧道就报错,游戏机延迟很高。家长给电视和游戏机预留地址,把手机和笔记本放在属于隧道车道的主 Wi-Fi,再另建一个 Wi-Fi 名称给电视和游戏机,归入直连车道。此后不必再手工列清单,因为网段决定了车道。让电视走普通线路,也从源头避开了智能电视上的 VPN 问题。

带公司笔记本的家庭办公室。 莉娜所在公司发放的笔记本自带公司 VPN。她希望个人手机和平板受到保护,但不想让公司笔记本同时跑两层隧道。她为笔记本预留地址,并添加规则让它走直连路由。公司 VPN 在普通线路上正常工作,个人设备则使用路由器的隧道。

共用一台路由器的合租房。 四个室友共用一条宽带。其中一人想对运营商保持隐私,其他人不在意,还有一人大量看视频。他们商定另建一个遵循隧道规则的 SSID,只有需要的人连它,其他人继续用原网络,速度不受影响。

限制与诚实的取舍

  • 排除就意味着暴露。 直连车道的设备使用你平时的公网地址,运营商能看到它的访问目的地。不要因为设备烦人就把它挪到直连车道,先想想风险能否接受。
  • 默认是 fail open。 隧道断开时,隧道车道的设备可能退回普通路由,除非你另外建了阻断规则。分流并不能取代这条规则。
  • 按域名的规则很脆弱。 大型网站使用许多会变的地址,今天做的列表下个月可能就错了。把域名列表当作尽力而为。
  • 带宽是共用的。 隧道车道的所有设备共享一条隧道和路由器的处理能力,低端路由器在多台设备同时看视频时可能变慢。参见为什么使用 VPN 时网速会变化。
  • 无法按应用分流。 你不能通过路由器让手机上的一个应用走隧道、另一个不走,这需要手机上的应用级设置。
  • 固件各不相同。 某些消费级固件只有“全开或全关”的开关。如果你的路由器没有策略路由,可能需要换固件或增加一台设备。

排查问题

被排除的设备仍显示隧道地址。 检查是否有通用规则在具体规则之上、设备地址是否变了、是否有第二个网络遵循默认规则,并重新检查地址预留。

被纳入的设备显示的是平时的地址。 规则没有加载、地址变了,或评估规则时隧道已断开。重启 VPN 客户端,再重启路由器。

本地打印或投屏失效。 缺少本地网络例外。添加规则,让私有地址段之间的流量不进入隧道。

隧道车道的网站表现异常。 对比 DNS 设置,数据包去向与应答的解析器不一致是常见原因。

整体很慢。 隧道车道可能负载过重。把重度看视频的设备移到直连车道,或参见为什么我的 VPN 很慢。

常见错误

  • 按地址写规则却没有预留地址。
  • 打开“所有流量走 VPN”开关的同时又添加规则。
  • 把通配规则放在具体规则上面。
  • 忘了 DNS,导致隧道内设备仍然询问运营商的解析器。
  • 因为比解决问题省事,就把敏感设备排除出去。
  • 以为路由器可以按应用分流。

总结

路由器上的分流靠策略路由实现:规则按设备、网段、目的地或端口选择路径。让设备拥有固定地址,划分隧道车道和直连车道,规则由具体到通用排列,让本地流量留在本地,并让 DNS 与路由一致。设置完成后以及重启后都要测试每条车道,并记住:隧道之外的内容得不到隧道的保护。

如果想用预付通行时长试试路由器方案,可在价格页面查看选项,并在 My Pass 页面了解可用的连接方式。

常见问题

路由器上的策略路由是什么?

策略路由是除目的地之外,再依据其他规则(例如是哪台设备发出的)来选择数据包路径。在 VPN 路由器上,它可以让一部分设备走隧道,另一部分设备走普通上网线路。

路由器分流和 VPN App 里的分流一样吗?

目标相同,方法不同。App 通常按应用选择,而路由器看不出是哪个应用发出的请求,只能按设备地址、网段、目标地址或端口来选择。

我排除的设备为什么仍走 VPN?

常见原因是规则顺序放错、设备没有预留地址导致地址变化,或设备连在另一个遵循默认规则的网络上。请检查规则顺序,并为设备分配固定地址。

路由器可以按网站域名分流吗?

部分固件可以,做法是把域名转换成地址列表。但这不稳定,因为大型网站使用大量会变化的地址,需要经常测试,也不要用于重要用途。

被排除出隧道的设备还受保护吗?

不受。绕过隧道的设备使用普通连接和普通公网地址。只排除你了解情况的设备,敏感设备应留在隧道内。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

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

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

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

查看通行证

继续阅读

VPN 安全

什么是分流隧道(Split Tunneling)?

分流隧道让你选择哪些应用或网站走 VPN,哪些直接访问互联网。它很灵活,但也会改变被保护的范围。

阅读约 9 分钟

VPN 安全

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

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

阅读约 9 分钟

设备指南

如何在路由器上设置 VPN

一份不绑定具体固件的通用指南:设置前先检查什么、常见设置步骤、DNS 与 kill switch、旅行路由器和常见故障处理。

阅读约 7 分钟

VPN 基础

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

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

阅读约 10 分钟

设备指南

如何在智能电视上使用 VPN

不少智能电视根本无法安装 VPN 应用。本文介绍三种现实可行的做法、如何选择,以及开始前要检查的事项。

阅读约 6 分钟