VPN over VPN 不支持 HTTPS 甚至一些裸 HTTP

VPN over VPN 不支持 HTTPS 甚至一些裸 HTTP

我有以下机器需要处理:

  • LOCAL_NAT:已连接到互联网的机器
  • LOCAL_WORK:与LOCAL_1联网并通过NAT访问互联网的机器
  • REMOTE_VPN:可通过互联网访问的 IPsec VPN 服务器
  • REMOTE_WORK:远程网络上的服务器

以下设置有效:我在 LOCAL_WORK 上运行一个连接到 REMOTE_VPN 的 VPN 客户端,然后我就可以访问 REMOTE_WORK。

当我在我的设置中添加第五台机器时,这不起作用:

  • VPS:正在运行另一个 VPN 服务器的 VPS(我尝试过 IPsec 和 Wireguard)

我在 LOCAL_NAT 上运行 VPN 客户端,可以通过 VPS 从 LOCAL_NAT 和 LOCAL_WORK(包括 REMOTE_VPN)访问互联网。我可以在 LOCAL_WORK 上运行第二个 VPN 客户端并连接到 REMOTE_VPN。但是,我无法从 LOCAL_WORK 正确连接到 REMOTE_WORK。DNS 解析正确,因此看起来我正在使用远程网络的 VPN 服务器,我可以成功 ping REMOTE_WORK,我可以 curl REMOTE_WORK 上的 HTTP 资源,但不能 curl HTTPS 资源。我也无法获取通过 HTTP 获取的页面包含的任何内容,例如 CSS 或 JS 文件:

C:\Users\superuser>curl -vvv --ssl-no-revoke https://REMOTE_WORK
*   Trying ***.***.***.***:443...
* Connected to REMOTE_WORK (***.***.***.***) port 443 (#0)
* schannel: disabled automatic use of client certificate
* ALPN: offers http/1.1
* schannel: failed to receive handshake, SSL/TLS connection failed
* Closing connection 0
curl: (35) schannel: failed to receive handshake, SSL/TLS connection failed

C:\Users\superuser>curl -vvvvv "http://REMOTE_WORK:8000"
*   Trying ***.***.***.***:8000...
* Connected to REMOTE_WORK (***.***.***.***) port 8000 (#0)
> GET / HTTP/1.1
> Host: REMOTE_WORK:8000
> User-Agent: curl/7.83.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 02 Oct 2022 16:29:38 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 640
< Last-Modified: Thu, 26 May 2022 14:07:40 GMT
< Connection: keep-alive
< ETag: "628f89ac-280"
< Accept-Ranges: bytes
<
<!doctype html>
<html lang="en">
...
<script src="runtime.bf022b3bbd1bd4e95ec8.js" defer></script>
...
</html>
* Connection #0 to host REMOTE_WORK left intact

C:\Users\superuser>curl -vvvvv "http://REMOTE_WORK:8000/runtime.bf022b3bbd1bd4e95ec8.js"
*   Trying ***.***.***.***:8000...
* Connected to REMOTE_WORK (***.***.***.***) port 8000 (#0)
> GET /runtime.bf022b3bbd1bd4e95ec8.js HTTP/1.1
> Host: REMOTE_WORK:8000
> User-Agent: curl/7.83.1
> Accept: */*
>
curl: (56) Recv failure: Connection was reset

发生了什么事?我该如何进一步诊断这个问题?

相关内容