VPN Passthrough(VPN穿透)是你可以在路由器上启用的一项功能。它允许连接的设备在不受路由器NAT设置(网络地址转换)影响的情况下建立出站的VPN连接。这使得VPN流量可以绕过路由器对旧VPN协议(如PPTP、L2TP和IPsec)可能施加的限制。
我们遇到过许多用户在配置路由器以便与VPN连接无缝工作时遇到困难,尤其是在使用较旧的协议时。最常见的问题之一是由于所选协议与路由器的NAT设置不兼容,无法建立稳定的VPN隧道。
为了帮助用户克服这些连接问题,我们创建了这份关于VPN Passthrough的综合指南。这份指南将解释什么是VPN Passthrough,它如何工作,以及为什么它是必要的。这样,你可以确定是否需要启用此功能,并了解具体如何操作。
什么是VPN Passthrough?
VPN Passthrough是一项路由器功能,它允许本地网络中的设备通过路由器的防火墙传输加密的VPN数据包,而不会被屏蔽或丢弃。需要注意的是,VPN Passthrough并不建立VPN连接,它只是促进VPN流量通过路由器的无障碍流动。
如果没有启用VPN Passthrough,由于与NAT的冲突,一些较旧的VPN协议可能无法正常工作。路由器使用NAT允许本地网络中的多个设备共享一个公共IP地址。NAT类型还决定了你的本地网络从网络访问的难易程度。较旧的VPN协议如L2TP、PPTP和IPsec与NAT不兼容。如果在没有启用VPN Passthrough的情况下使用这些协议,路由器可能会丢弃VPN数据包或完全屏蔽VPN连接。
VPN Passthrough本质上是将VPN流量通过路由器,允许其绕过NAT过程。例如,如果启用了IPSec Passthrough,IPsec流量将内部传递给应用层网关,由其处理流量重定向。较新的VPN协议如OpenVPN、IKEv2和WireGuard与NAT兼容,因此它们不需要VPN Passthrough才能正常工作。
了解VPN Passthrough的工作原理后,你可以确定在你的特定VPN设置中是否需要启用此功能。
VPN Passthrough如何工作?
VPN Passthrough促进VPN流量通过路由器的NAT过程顺利传输。当你的VPN软件尝试与远程VPN服务器连接时,它使用VPN协议封装其连接请求,这些请求随后通过路由器的NAT。NAT通过透明地将内部网络上使用的私有IP地址转换为需要用于网络通信的公共IP地址,允许单个公共IP地址在多个设备之间共享。它充当中介,将私有IP地址映射到公共IP地址,反之亦然。
然而,使用较旧的VPN协议如PPTP、LT2P和IPsec时会出现问题,因为这些协议加密和重新打包数据包的方式没有为NAT提供足够的信息来将它们发送到预定的接收者。一个公共地址可能与多个私有IP相关联,因此NAT无法知道将数据转发到哪个接收者。
VPN Passthrough解决了兼容性问题,允许加密的VPN流量绕过NAT过程,确保VPN数据包无干扰地传输到预定接收者,从而实现无缝的VPN连接,同时保留NAT对本地网络的好处。
VPN Passthrough的类型
VPN Passthrough通过路由器转发VPN流量,绕过NAT过程。不同VPN协议的VPN Passthrough实现方式有所不同,但总体原理是通过在VPN数据通道中加入额外的标识字段,如Call ID或Session ID,来修改VPN数据通道。路由器然后使用这些标识符和目标IP地址将数据通道流量与对应的控制通道连接相关联,允许其正确地将VPN数据包转发到服务器。
PPTP Passthrough
PPTP Passthrough通过修改PPTP协议的工作方式允许VPN流量通过NAT路由器或防火墙:
- PPTP使用TCP控制通道(端口1723)建立和管理隧道,并使用GRE数据通道传输加密的数据包。
- GRE缺乏端口号,这与NAT的端口转换需求冲突。
- Passthrough在GRE头部添加一个Call ID字段,作为端口号的替代。
- 当PPTP客户端发起VPN连接时,它通过端口1723上的TCP控制通道发送请求,路由器通过标准NAT规则允许该请求通过。
- PPTP服务器响应,将唯一的Call ID插入到GRE数据通道数据包中。
- 路由器检查GRE数据包,使用Call ID和目标IP将其与控制通道关联。
- 路由器转换客户端的私有IP/端口,并将GRE数据转发给VPN服务器,建立PPTP VPN隧道。
IPsec Passthrough
IPsec Passthrough使用NAT-T(NAT-Traversal)技术工作:
- IPsec通过在IP层验证/加密数据包来确保IP通信,但由于在数据流中嵌入IP地址,与NAT冲突。
- NAT-T将IPsec数据包封装在NAT可以处理的UDP数据包中。
- NAT-T检测到IPsec客户端通过UDP端口4500发送的IKE(网络密钥交换)数据包。
- NAT路由器检测到此UDP流量,并将客户端的私有IP/端口转换为公共IP/端口。
- IPsec服务器响应的IKE数据包通过UDP发送,NAT将其路由回客户端。
- IKE协商后,IPsec数据(ESP数据包)也封装在使用端口4500的UDP数据包中。
- NAT转换UDP/IP头部,但保留IPsec有效负载不变,使VPN流量通过路由器。
L2TP Passthrough
L2TP Passthrough的工作方式类似于PPTP,因为L2TP源自PPTP和L2F:
- 与PPTP类似,L2TP使用TCP控制通道(端口1701)进行隧道管理,并使用UDP数据通道传输加密的数据包。
- UDP数据通道缺乏端口号,这与NAT的转换要求冲突。
- L2TP Passthrough在L2TP over UDP头部添加一个Session ID字段,该Session ID充当NAT可以用来进行转换的端口号替代。
- 当L2TP客户端发起VPN连接时,它通过端口1701上的TCP控制通道发送请求。路由器通过标准NAT规则允许此流量通过。
- L2TP服务器响应,插入唯一的Session ID到UDP数据通道数据包的L2TP头部。
- 路由器检查UDP数据包,并基于Session ID和目标IP地址将其与对应的TCP控制通道连接关联。
- 路由器将L2TP客户端的私有IP/端口转换为公共IP/端口,并将UDP数据包转发给VPN服务器,从而建立L2TP VPN隧道。
VPN Passthrough和VPN客户端是同一回事吗?
VPN Passthrough和VPN客户端是完全不同的东西。VPN客户端是安装在设备上的软件 VPN软件,允许你配置VPN的连接设置。通过VPN客户端,你可以选择服务器、调整设置并启用连接。
VPN Passthrough是路由器上的一项功能,它允许VPN客户端使用旧协议连接到服务器。你可以在路由器的设置中启用它。
VPN Passthrough和VPN路由器有什么区别?
VPN路由器是安装了VPN软件的路由器。它可以加密本地网络上所有设备的流量,同时保护它们。
你可以购买预装有VPN软件的VPN路由器,或者使用兼容的路由器刷入自定义固件,如OpenWrt或FreshTomato。VPN路由器支持现代VPN协议,如OpenVPN和WireGuard,提供高级功能。
VPN路由器充当VPN客户端,在自身与VPN服务器之间建立隧道。这使得不支持原生VPN的设备(如游戏机、智能电视、物联网设备)可以安全连接。
相反,VPN Passthrough是普通路由器上的一项功能,它通过修改协议头部使VPN流量可以绕过NAT。在这种情况下,VPN客户端运行在你的设备上,而不是路由器上。
是否应该启用VPN Passthrough?
优点 | 缺点 |
---|---|
允许使用旧VPN协议连接VPN,当连接可能被NAT屏蔽时。 | 削弱本地网络的安全性。 |
没有技术经验的情况下,设置可能会复杂。 | |
仅对已经不安全的过时协议有必要。 | |
需要在路由器 |
上启用端口转发。 |
系统在不启用VPN Passthrough的情况下总是更安全。VPN Passthrough会在本地防火墙中打开原本无法访问的端口——开放的端口越少,你的安全性就越高。
此外,它需要在路由器上启用端口转发,这也带来了安全风险。例如,PPTP Passthrough使用TCP端口1723。如果你经常连接和断开VPN,该端口可能会比必要的时间更长时间保持开放,暴露你的网络于攻击之中。
然而,如果你确实需要启用此功能,我们建议使用Private Internet Access,因为它是一个值得信赖的VPN服务,并且与许多其他VPN不同,PIA允许所有用户使用端口转发。
VPN Passthrough还依赖于很少更新的过时协议和技术。它们更可能存在安全漏洞,不像现代协议那样安全。
这些过时的VPN协议可能会被黑客攻击,只有在绝对必要时才应使用。如果VPN Passthrough没有被积极使用,应该立即禁用。
此功能最常用于专业或商业环境中与远程访问VPN一起使用。如果公司的VPN使用旧协议如IPsec或PPTP,你需要设置VPN Passthrough才能成功连接到办公VPN。
何时使用VPN Passthrough:
当你需要建立不支持现代VPN协议的VPN连接时,应使用VPN Passthrough。如果你在依赖过时技术的专业环境中,并且不涉及敏感信息,你可以使用VPN Passthrough。
何时不使用VPN Passthrough:
使用消费者VPN服务、在路由器上安装VPN或使用现代协议连接到VPN时,不需要启用VPN Passthrough。如果你可以使用支持最新协议的现代硬件,那么应优先选择这些协议而不是VPN Passthrough。
如何在路由器上启用或禁用VPN Passthrough
如果必须在路由器上启用VPN Passthrough,请按以下步骤操作:
1. 找到路由器的IP地址
你可以在设备的网络设置中找到路由器的IP地址,通常列为“默认网关”或“路由器”。
在以下示例中,路由器的地址是 192.168.1.1
:
在设备的网络设置中找到路由器的IP。(This article is created by how and best.com)
2. 访问路由器设置
打开一个浏览器并输入路由器的IP地址。输入默认登录凭据(通常用户名为admin,密码为password),这些信息通常写在路由器背面。
示例登录界面。
3. 找到VPN Passthrough部分
VPN Passthrough设置通常位于“安全”或“防火墙”选项下。如果找不到,请参阅路由器手册,因为某些路由器可能不支持此功能。
我们在Linksys的安全菜单中找到了VPN Passthrough功能。
4. 配置VPN设置
启用你的VPN所使用的协议并应用设置。常见协议和端口:
- IPSec Passthrough:UDP端口500和4500(IKE和NAT-T)
- PPTP Passthrough:TCP端口1723
- L2TP Passthrough:UDP端口500、4500和1701
Linksys协议设置菜单。
5. 重启路由器
拔掉路由器电源10秒钟,然后重新插上以应用新的VPN Passthrough设置。
常见问题解答
VPN Passthrough对游戏有影响吗?
不会,VPN Passthrough不会直接影响游戏性能。它只是在需要时帮助建立VPN连接。游戏时的高延迟和慢速性能可能是由于连接到远程的VPN服务器节点所致。
什么是NAT Passthrough?
NAT Passthrough是VPN Passthrough的另一种说法。较旧的VPN协议缺乏NAT正确路由数据包所需的信息,导致连接被屏蔽。VPN Passthrough允许这些协议绕过NAT,因此被称为“NAT Passthrough”。
什么是IP Passthrough模式?
大多数ISP提供的路由器结合了调制解调器、路由器和无线接入点的功能。IP Passthrough模式禁用路由器和无线功能,允许你在网络上使用单独的路由器设备。仅在计划使用不同的路由器时启用。
禁用VPN Passthrough会发生什么?
在路由器上禁用VPN Passthrough将屏蔽使用IPsec、PPTP和L2TP协议建立VPN连接。一些路由器防火墙端口将被屏蔽,提升网络安全性。然而,你仍然可以使用不需要Passthrough的现代VPN服务。