通过反向 SSH 隧道转发 VPN

通过反向 SSH 隧道转发 VPN

我有一台服务器,它反向通过 SSH 隧道连接到辅助服务器。辅助服务器充当内部服务器的“桥梁”(我连接的是外部服务器的 IP 地址)。

这对于大多数服务(文件、ssh 等)来说都很好用,但对于 L2TP VPN 则不行。我已经为端口 500 和 4500 建立了隧道。但让我困惑的是“ESP 值 50”,而这显然是 L2TP 所必需的。我该如何为它建立隧道来完成 VPN 数据路径?

或者如果这不是问题,那么是什么原因导致 VPN 无法在反向隧道下连接?

答案1

封装安全协议 (ESP) 是 IP 协议 50。它本身具有协议号,就像 ICMP、TCP 和 UDP 一样,并且可以说是用于加密隧道的正确协议。

然而,尽管 TCP 和 UDP 都有与源和目标关联的 IP 地址和端口号,但 ICMP 和 ESP 没有。端口和地址的组合使得 NAT 和隧道变得实用;没有它们,流量就很难处理。

问题是,当隧道(或 NAT)设备有两个或多个输入 UDP 流要传递到单个端点,并且响应从该端点返回到隧道设备时,源端口号可用于消除这两个流的歧义。使用 ESP,没有端口号可用作消歧器,因此隧道端点很难知道 ESP 响应应通过隧道返回到多个 ESP 源中的哪一个。

IPSec 默认也使用 ESP,不久前它编纂了 NAT 遍历扩展,改用 UDP/4500。我不知道 L2TP 是否有这样的模式,如果没有它,恐怕你将无法做你想做的事情。

我希望我错了,希望有人能找到更好的答案。但在没有答案的情况下,我想我至少应该尝试解释一下 ESP 是什么,以及为什么它是一种令人头痛的隧道技术。

相关内容