無法訪問在 VirtualBox 和遠端機器上執行的 Ubuntu Server
我在 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 地址的介面。讓我畫這個來澄清一下:
FW remote server virtual machine | | | Pub. IP->|<--- priv. Subnet A ---> | <-- priv. Subnet B --> | | | |
同樣,我對你們學校的網路基礎設施一無所知,所有這些都是假設。但這澄清了我的觀點:您學校公共 IP 上的任何連接都必須轉換為遠端伺服器子網 A 內的 IP。這是必須存在於防火牆內的規則。顯然,你的VM的SSH埠有這樣的規則,否則scp命令將不起作用。但是僅僅因為ssh埠有這樣的規則,並不意味著UDP埠1194也有這樣的規則。
如果您通過防火牆並到達遠端伺服器的主機介面,則需要再次進行網路地址轉換 - 此 IP 數據包不是用於遠端伺服器,而是用於 VM - 需要有一個 NAT將傳入流量轉換為 VM 的 IP 地址的規則。也許你現在有了一個想法,從哪裡開始尋找問題的原因。