【问题标题】:Can not connect to HTTPS on a server via VPN [closed]无法通过 VPN 连接到服务器上的 HTTPS [关闭]
【发布时间】:2018-01-24 07:45:23
【问题描述】:

我在家里有一台服务器,另一台在 VPS 主机上。我试图在它们之间创建 L2TP/IPsec 隧道。隧道工作,一台服务器可以从另一台服务器访问 HTTP 服务(VPS 服务器是客户端,家中的服务器是我正在连接的 VPN 服务器,并运行我试图从 VPS 服务器访问的 HTTP 和 HTTPS 服务)。但是当我尝试通过 HTTPS 连接时,连接不起作用。

当我从通过 L2TP/IPsec 连接到另一台的远程服务器运行此命令时会发生这种情况:openssl s_client -connect SERVER:443

CONNECTED(00000003)

如果我尝试 wget --verbose https://SERVER/

Resolving SERVER (SERVER)... SERVERIP
Connecting to SERVER (SERVER)|SERVERIP|:443... connected.

因此连接已启动,但没有交换数据。我用nmap测试过,端口被检测为打开。

我试图通过我的笔记本电脑连接到这个 VPN,从那里我可以访问 HTTP 和 HTTPS 服务,但是从这个服务器上,我只能使用 HTTP。我已尝试关闭数据包路径上的所有防火墙,但问题仍然存在。

我知道这是一个非常具体的案例,所以如果没有实际解决问题可能是什么,我至少正在寻找如何调试它的指导方针,因为 wget、curl 和 openssl s_clint 没有为我提供任何详细信息,因为它们保持连接建立状态。

更新:我在家庭服务器上的 NAT 上打开了 443 端口,并尝试在没有 VPN 的情况下直接从 VPS 服务器连接到 HTTPS 服务,它工作正常。所以只有当我通过 VPN 访问 HTTPS 时,连接不起作用。

【问题讨论】:

  • 我已经就服务器故障提出了这个问题,但我的问题被搁置了,因为它被当作题外话。请告诉我在哪里问这些问题的正确地方?

标签: ssl https connection vpn


【解决方案1】:

问题在于 L2TP 连接的 MTU 设置。我不得不将 MTU 降低到 1300,因为 HTTPS + IPSec 增加了太多的开销,以至于数据包超过了 1500,这是以太网和 SSL 包在第 3 层设置 DF(不分段)标志的上限,它禁用了包分段。

通常,服务器会发送特殊的 ICMP 消息来通知 VPN 服务器有关此问题,但我的 ICMP 被防火墙阻止,所以没有错误,只是连接无法建立,因为包太大,只是掉了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2016-11-19
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    相关资源
    最近更新 更多