跳到主要内容

在许多家用路由器的设置里,有一小组开关,名称是 PPTP Passthrough、L2TP Passthrough 和 IPsec Passthrough。它们通常默认开启,很少有解释,而正在排查 VPN 问题的人往往会想:拨一下这些开关会不会有帮助?有时有用,但很多时候完全没有作用。

本文解释 VPN Passthrough 究竟是什么、为什么存在、哪些场景仍然需要它、哪些不需要,以及怎样判断路由器是否就是 VPN 连不上的原因。讨论的是路由器作为设备与 VPN 服务之间的“中间人”这一角色。如果你想让路由器自己运行 VPN,请看路由器 VPN 与 VPN 应用对比,其中对比了两种设计。

Passthrough 到底是什么意思

家用路由器会做网络地址转换,通常简称 NAT。在家里,设备使用私有地址,例如 RFC 1918 所定义的那些。到了互联网上,它们全都共用路由器的那一个公网地址。路由器维护一张表,记住内网哪台设备发起了哪段通信,这样才能把回复送到正确的地方。

对于普通网页流量,这种机制运作得很顺利,因为它们走 TCP 或 UDP,带有明确的端口号,路由器可以跟踪端口。麻烦出在完全不使用端口的流量上。某些 VPN 隧道类型靠自己的协议号传输,而不是 TCP 或 UDP。没有端口号,路由器就没东西可写进表里,于是可能丢掉回复,或者在两台设备同时使用同类隧道时把它们搞混。

“Passthrough”指的是路由器里识别这类隧道、并以另一种方式跟踪它们的逻辑。开启后,路由器允许这类隧道从内网设备发出,并让回复进来。它不做认证,不建立 VPN,也不加密任何内容,只是避免破坏设备与远端服务器之间自己建立的 VPN。

这些开关背后的协议

每个开关对应一类较老的隧道技术。

开关名称 涉及的技术 路由器需要处理什么
PPTP Passthrough PPTP,一种老式隧道 控制连接,外加一种叫 GRE(协议 47)的独立数据包
L2TP Passthrough L2TP,常与 IPsec 配合 UDP 数据包,通常是 1701 端口,常被 IPsec 封装
IPsec Passthrough IPsec 隧道(见 RFC 4301) ESP(协议 50)、基于 UDP 的密钥交换,以及 UDP 4500 端口上的 NAT 穿越

有两个概念可以解释很多现象。

没有端口的协议:GRE 和 ESP 是独立的协议号,不是 TCP 或 UDP。只跟踪端口的路由器,没有专门代码就无法跟踪它们。Passthrough 开关控制的就是这段专门代码。

NAT 穿越:现代基于 IPsec 的隧道,包括 RFC 7296 描述的 IKEv2,用另一种办法解决问题:检测到路径中存在 NAT,就把加密后的数据包封装在 UDP 里,这样路由器看到的是带端口号的普通 UDP。NAT 穿越生效时,路由器无需特别帮助,Passthrough 开关也就不重要了。

结果是,Passthrough 开关大多是路由器无法应付这些隧道的年代留下的遗产。在现代路由器上,开关可能只是为了兼容而存在,而底层功能很可能始终开启。

什么时候真的需要考虑它

Passthrough 只在很窄的一些场景中有意义。

  1. 旧式 PPTP 连接:一些老的办公系统仍在使用。PPTP 需要对 GRE 数据包做特殊处理,在某些路由器上必须开启 PPTP Passthrough。要注意 PPTP 很老,被普遍认为不够安全,如果你能自己选,请用较新的隧道类型。
  2. 较老的 IPsec 或 L2TP/IPsec 配置,尤其是路由器或固件较旧,或者对端不支持 NAT 穿越时。
  3. 多台设备同时使用同一种旧隧道:老路由器也许能撑住一个 PPTP 会话,两个就出问题,因为它分不清 GRE 的回复。
  4. 特殊或非常老的路由器固件,比如被大幅裁剪功能的运营商定制设备。
  5. 被防火墙规则锁死的路由器,规则拦截了不常见的协议号。

对于几乎所有其他情况,包括最常见的手机或电脑上的 VPN 应用使用普通 UDP 或 TCP 连接,都没有什么需要开启的。你的 VPN 服务是否使用这类连接,由服务自己说明;在 XPASS 的 My Pass 页面可以找到支持的连接方式和设置说明,请按那里的指引操作,而不是猜测。

什么时候可以忽略 Passthrough

以下是这个开关无关紧要的常见情况:

  • 走 UDP 或 TCP 的 VPN 应用:如果应用把隧道建在普通端口号上,路由器看到的就是普通连接。关于不同隧道传输方式不同,参见什么是 VPN 协议。
  • 直接运行在路由器上的 VPN:此时路由器是终点而不是中间人,Passthrough 不适用于该隧道。
  • 没有此类设置的路由器:它大概率会自动处理。
  • 手机热点:移动网络有自己的规则,你没有可调的 Passthrough 开关。
  • 已经正常工作的工作 VPN:如果 VPN 能连上并保持连接,改动路由器设置只会增加风险。

好的原则是先测试,只有当 VPN 的失败模式指向路由器时才去动设置。

Passthrough、端口转发和 DMZ 是不同的东西

这三个词经常被混淆。

功能 方向 用途 典型需求
VPN Passthrough 出站,从内网发起 让内网设备建立自己的 VPN 旧式隧道类型
端口转发 入站,来自外部 把选定端口送到内网设备 对外提供服务或家庭 VPN 服务器
DMZ 入站,来自外部 把所有不请自来的流量送到一台设备 很少是好主意

如果你想从外面访问自己的设备,就需要服务器一侧的方案,转发的相关概念见VPN 端口转发详解。不要为了解决 VPN 客户端问题而开启 DMZ,它会把一台设备暴露在互联网上,而且几乎解决不了客户端侧的连接问题。

判断路由器是不是问题所在

如果 VPN 连不上,在怪罪 Passthrough 之前,请按这个顺序排查。

  1. 换一个网络测试:用同一台设备连手机热点。如果在那里能连上,在家里连不上,那么家里的路由器或运营商值得怀疑。如果到处都连不上,问题出在凭据、应用或服务上。
  2. 检查基础项:确认用户名和密码、系统时间以及应用版本。VPN 连接不上的排查指南依次介绍了这些。
  3. 重启路由器:NAT 表有时会保留过期条目,重启可以清除。
  4. 一次只测一台设备:多台设备尝试同一种旧隧道时,简单的路由器可能会混淆。断开其他设备再重试。
  5. 查看路由器的 Passthrough 或 VPN 设置:如果相关开关是关的,就打开再测。每次只改一项。
  6. 更新路由器固件:许多 NAT 处理方面的缺陷在更新中已被修复。
  7. 检查双重 NAT:如果路由器接在同样做地址转换的运营商设备后面,外层设备可能才是阻断隧道的原因。把它设为桥接模式,或向运营商咨询,也许有帮助。
  8. 在 VPN 应用里尝试其他连接方式(如果应用提供)。除非客服建议,否则保持默认设置。
  9. 联系 VPN 服务的客服,并提供你看到的原始错误信息。他们能告诉你哪种连接方式在家用路由器上效果最好。

这个顺序省时间,因为前两步就已经把路由器问题和其他问题区分开了。

实例

需要使用客户旧 VPN 的顾问:小林在家办公,要连接客户的旧式 PPTP 网关。用手机热点能连上,在家却失败。原来路由器的 PPTP Passthrough 开关是关着的,打开后就好了。她还告诉客户 PPTP 并不够安全,询问有没有更新的选项。

怎么调都没用的家庭:小王的笔记本在家连不上 VPN 应用,但在咖啡馆能用。他把三个 Passthrough 开关都拨了一遍,没有任何变化。最后发现是他自己路由器前面的运营商设备阻断了应用默认使用的连接方式。在咨询客服后,从应用自己的设置里切换成另一种连接方式,就解决了。问题从来不在 Passthrough。

宿舍里的学生:宿舍网络由学校管理,学生无法访问路由器。Passthrough 设置学生改不了,而 VPN 又连不上。有用的做法是询问网络中心允许哪些出站连接类型,并在处理敏感事务时使用其他网络。

安全提示

开启 Passthrough 不会像开放端口那样削弱网络安全。它只影响你自己发起的出站隧道。不过仍要保持几个习惯:

  • 不要让路由器的远程管理暴露在互联网上。
  • 更新固件,因为 NAT 和 VPN 处理代码正是缺陷容易出现的地方。
  • 有选择时,优先使用现代隧道类型而不是 PPTP。NIST 关于 IPsec VPN 的指南是了解隧道安全性的可靠来源。
  • 记住 VPN 只保护设备与 VPN 服务器之间这一段的流量,它不能阻止钓鱼或账号被盗。

你可以在下载页面获取适用于 iPhone、Android、Windows 和 macOS 的免费 VPNclient 应用,并使用 My Pass 页面上显示的用户名和密码。如果在家里的网络连不上、换个地方却可以,上面的排查顺序会告诉你该从哪里入手。

总结

VPN Passthrough 是路由器的一项功能,让内网设备建立的 VPN 隧道能够穿过地址转换。它主要对 PPTP 和某些 IPsec 配置等较老的隧道类型有意义,因为这些隧道使用没有端口的协议号。基于普通 UDP 或 TCP 的现代隧道很少需要它。排查时请换一个网络测试,重启路由器,每次只改一项设置,更新固件,并检查双重 NAT,而不是一下子把所有开关都拨一遍。

如果你想要一个简单的通行证,用来在不同网络上测试,准备好时可以看看价格页面。

常见问题

路由器上的 VPN Passthrough 是什么意思?

这是一项设置,让内网设备发出的 VPN 流量能穿过路由器的地址转换,到达远端的 VPN 终点。它本身不会建立 VPN,只是让路由器不要从中作梗。

手机或电脑上用 VPN 应用,需要开启 VPN Passthrough 吗?

通常不需要。多数现代 VPN 应用使用普通的 UDP 或 TCP 连接,路由器本来就能很好地处理。Passthrough 开关主要与较老的隧道类型或特殊的路由器固件有关。

VPN Passthrough 和端口转发是一回事吗?

不是。Passthrough 帮助出站的 VPN 连接穿过路由器;端口转发则把来自互联网的入站连接送到内网设备,在你要对外提供服务时才需要。

我的路由器没有 Passthrough 选项,有问题吗?

不一定。很多较新的路由器会自动处理这些协议,不再显示这些开关。改任何设置之前,先测试一下 VPN。

应该开启 PPTP Passthrough 吗?

只有在必须使用他人要求的旧式 PPTP 连接时才需要。PPTP 很老,被普遍认为不够安全,所以有选择时请优先使用较新的隧道类型。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

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

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

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

查看通行证

继续阅读

VPN 基础

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

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

阅读约 10 分钟

VPN 基础

什么是 VPN 协议?

VPN 协议规定了你的设备与 VPN 服务器如何连接并保护流量。本文用通俗的语言讲清楚它的含义和主要取舍。

阅读约 9 分钟

VPN 安全

VPN 与端口转发详解:用途与风险

端口转发能让外部连接访问内部网络中的某台设备。本文说明有无 VPN 时它如何运作、有哪些用途,以及开放端口可能带来的风险。

阅读约 9 分钟

故障排除

VPN 连接不上?逐步排查方法

VPN 连接不上时的清晰排查顺序:通行证状态、登录信息、Wi-Fi 与移动数据、权限、防火墙、应用冲突和错误提示。

阅读约 8 分钟

VPN 安全

WireGuard 与 OpenVPN 有什么区别

WireGuard 和 OpenVPN 都能建立加密隧道,但设计、复杂度和灵活性不同。本文用通俗的方式比较,并说明该怎样选择。

阅读约 9 分钟