如何使虛擬機器對網路公開?

如何使虛擬機器對網路公開?

進一步我對 Askubuntu 的問題https://askubuntu.com/questions/1025100/i-want-to-use-vm-like-a-localhost-serve

如何使該虛擬機器對所有網路都是公共的?

換句話說,如何從手機存取安裝在虛擬機器上的本地伺服器?

答案1

從您最初的問題來看,您似乎正在使用 VirtualBox NAT 適配器作為來賓的適配器之一。

使用此 NAT 適配器,您應該能夠透過 VirtualBox 設定從主機到來賓的連接埠轉送。完成此操作後,任何可以存取您的主機(以及適當的連接埠)的裝置都應該能夠存取您的訪客的服務(在這種情況下,VirtualBox 本質上充當路由器)。


請注意,如果您決定使用橋接適配器,則不需要下面給出的 NAT 連接埠轉送步驟。因此,橋接適配器將有其轉送連接埠按鈕已禁用。


VirtualBox NAT 的連接埠轉發

  1. 在 VirualBox Manager 介面中選擇適當的虛擬機器(例如Ubuntu伺服器16.4)。

  2. 在下面設定...網路,使用 NAT 選擇正確的虛擬適配器。

  3. 展開先進的設定並按轉送連接埠按鈕(位於電纜已連接複選框)。

    前任。 VirtualBox NAT 轉接器設定

    VirtualBox NAT 轉接器設定 - 螢幕截圖

  4. 在裡面連接埠轉送規則視窗中,建立一個或多個新的轉送規則(使用右側的綠色「加號」圖示)。輸入以下項目:

    • 規則名稱— 這可以是任何你喜歡的。

    • 協定— 根據需要設定訪客服務的協定(TCP 用於 HTTP、SSH 和 FTP)。

    • 主機連接埠— VirtualBox 偵聽(在主機上)以重定向流量的連接埠(即,這是用於與來賓服務互動的「外部」連接埠)。

    • 訪客連接埠— VirtualBox 為您的訪客重新導向流量的連接埠(即您的訪客服務偵聽的「內部」連接埠)。

  5. 如前所述,您可以根據需要添加任意數量的規則。按好的等結束了。

    前任。 VirtualBox NAT 的連接埠轉送規則

    VirtualBox NAT 的連接埠轉送規則 - 螢幕截圖

正確設定此連接埠轉送後,除非出現任何其他問題,您的訪客的服務應該可以透過主機IP:主機連接埠。然後,您可以根據需要(重新)定向網路上的裝置來存取此 IP/連接埠組合。

例如,如何從手機存取作為虛擬機器安裝的本機伺服器?

如果您的手機與主機位於同一本地 WiFi 網路(例如1.2.3.4),給出上面的示例規則,您可以訪問例如1.2.3.4:8080在您手機的瀏覽器上。

對於遠端存取(即從手機的行動網路),您需要透過路由器進行額外的連接埠轉發,以將來自本地網路外部的請求轉發到例如1.2.3.4:8080(然後將其轉發給您的客人)。

注意事項

如果您在連接到訪客的服務時遇到問題:

  • 您可能需要設定本機防火牆(在主機、訪客或網路上的其他位置)。

  • 可能需要 VirtualBox 外部的附加連接埠轉送(例如,用於 LAN 外部的存取)。

  • 您可能需要在 VirtualBox 中轉送其他連接埠或設定 Guest 的伺服器軟體(特別是 FTP 可能是這種情況的候選者)。

如果您希望名稱解析起作用(例如www.yoursite.com),您還需要一個正確配置的 DNS 伺服器。

相關內容