我在 VirtualBox 上安装了一个 Ubuntu 20.04.1 服务器作为 VM,这个 VirtualBox 在我学校的远程服务器上运行并安装GNS3
在这个 VM(Ubuntu 服务器)上。到目前为止,一切都很好。但是当我尝试使用我的本地机器(MacOS Catalina)并TunnelBlick
连接到这个远程服务器时,我得到了错误:TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
.
到目前为止,在阅读了几个答案之后,已经尝试过:
- 从本地 Mac
nc -uvz <remote server IP/also VM IP> 1194
成功! - 检查client.ovpn,正确的远程IP在那里。
- 可以
scp
使用公共 IP 在主机和 VM 之间进行 - 这意味着 VM 的 IP 是正确的并且可以访问。 - 卸载并安装
GNS3
了几次并更新了配置文件。
请帮我解决一下这个。
让我更彻底地回答你的问题。我对 GNS3 一无所知,但我知道 openvpn 和 TunnelBlick,这是 openvpn 的 MacOS 客户端 - 你的问题与网络有关。这个问题缺少重要的东西——我必须做出一些假设,但我希望能让你走上正确的道路来找到原因。
您提到远程服务器位于您的学校内部。我假设您的学校至少有一个防火墙,它拥有保存您用来访问 VM 的学校公共 IP 地址的接口。让我画这个来澄清一下:
同样,我对你们学校的网络基础设施一无所知,所有这些都是假设。但这澄清了我的观点:您学校公共 IP 上的任何连接都必须转换为远程服务器子网 A 内的 IP。这是必须存在于防火墙内的规则。显然,你的VM的SSH端口有这样的规则,否则scp命令将不起作用。但是仅仅因为ssh端口有这样的规则,并不意味着UDP端口1194也有这样的规则。
如果您通过防火墙并到达远程服务器的主机接口,则需要再次进行网络地址转换 - 此 IP 数据包不是用于远程服务器,而是用于 VM - 需要有一个 NAT将传入流量转换为 VM 的 IP 地址的规则。也许你现在有了一个想法,从哪里开始寻找问题的原因。