![如何使虛擬機器對網路公開?](https://rvso.com/image/1558696/%E5%A6%82%E4%BD%95%E4%BD%BF%E8%99%9B%E6%93%AC%E6%A9%9F%E5%99%A8%E5%B0%8D%E7%B6%B2%E8%B7%AF%E5%85%AC%E9%96%8B%EF%BC%9F.png)
進一步我對 Askubuntu 的問題https://askubuntu.com/questions/1025100/i-want-to-use-vm-like-a-localhost-serve
如何使該虛擬機器對所有網路都是公共的?
換句話說,如何從手機存取安裝在虛擬機器上的本地伺服器?
答案1
從您最初的問題來看,您似乎正在使用 VirtualBox NAT 適配器作為來賓的適配器之一。
使用此 NAT 適配器,您應該能夠透過 VirtualBox 設定從主機到來賓的連接埠轉送。完成此操作後,任何可以存取您的主機(以及適當的連接埠)的裝置都應該能夠存取您的訪客的服務(在這種情況下,VirtualBox 本質上充當路由器)。
請注意,如果您決定使用橋接適配器,則不需要下面給出的 NAT 連接埠轉送步驟。因此,橋接適配器將有其轉送連接埠按鈕已禁用。
VirtualBox NAT 的連接埠轉發
在 VirualBox Manager 介面中選擇適當的虛擬機器(例如Ubuntu伺服器16.4)。
在下面設定...→網路,使用 NAT 選擇正確的虛擬適配器。
展開先進的設定並按轉送連接埠按鈕(位於電纜已連接複選框)。
前任。 VirtualBox NAT 轉接器設定
在裡面連接埠轉送規則視窗中,建立一個或多個新的轉送規則(使用右側的綠色「加號」圖示)。輸入以下項目:
規則名稱— 這可以是任何你喜歡的。
協定— 根據需要設定訪客服務的協定(TCP 用於 HTTP、SSH 和 FTP)。
主機連接埠— VirtualBox 偵聽(在主機上)以重定向流量的連接埠(即,這是用於與來賓服務互動的「外部」連接埠)。
訪客連接埠— VirtualBox 為您的訪客重新導向流量的連接埠(即您的訪客服務偵聽的「內部」連接埠)。
如前所述,您可以根據需要添加任意數量的規則。按好的等結束了。
前任。 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 伺服器。