無法存取 VirtualBox 和遠端電腦上執行的 Ubuntu Server

無法存取 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)

到目前為止,在閱讀了幾個答案後,已經嘗試過:

  1. 從本地 Macnc -uvz <remote server IP/also VM IP> 1194成功!
  2. 檢查client.ovpn,有正確的遠端IP。
  3. 可以scp在主機和虛擬機器之間使用公共 IP 進行操作 - 這意味著虛擬機器的 IP 是正確的並且可以存取。
  4. 卸載並安裝了GNS3多次並更新了設定檔。

請在這件事上給我幫助。

答案1

讓我更徹底地回答你的問題。我對 GNS3 一無所知,但我知道 openvpn 和 TunnelBlick,這是 openvpn 的 MacOS 客戶端 - 你的問題與網路相關。這個問題遺漏了重要的事情 - 我必須做出一些假設,但我希望讓您走上正確的道路來找到原因。

您提到遠端伺服器位於您的學校內部。我假設您的學校至少有一個防火牆,該防火牆擁有保存您用來存取虛擬機器的學校公共 IP 位址的介面。為了澄清起見,讓我畫一下:

        FW                     remote server                virtual machine
         |                         |                           |
Pub. IP->|<--- priv. Subnet A ---> |    <-- priv. Subnet B --> |
         |                         |                           |

再說一遍,我對你們學校的網路基礎設施一無所知,所有這些都是假設。但這澄清了我的觀點:學校公共 IP 上傳入的任何連線都必須轉換為遠端伺服器的子網路 A 內的 IP。這是防火牆內必須存在的規則。顯然,你的VM的SSH埠有這樣的規則,否則scp指令將無法運作。但僅僅因為 ssh 連接埠有這樣的規則,並不代表 UDP 連接埠 1194 也存在這樣的規則。

如果您通過防火牆並到達遠端伺服器的主機接口,則需要再次進行網路位址轉換 - 該 IP 封包不是用於遠端伺服器的,而是用於虛擬機器的 - 需要有一個 NAT將傳入流量轉換為虛擬機IP 位址的規則。也許您現在知道從哪裡開始尋找問題的原因。

相關內容