VirtualBox:如何設置網絡,以便主機和來賓都可以訪問互聯網並相互交談
- 將 virtualbox 設置爲使用 2 個適配器:
- 第一個適配器設置爲NAT(將爲您提供互聯網連接)。
- 第二個適配器設置爲僅主機。
- 啓動虛擬機併爲 Ubuntu 中的第二個適配器分配靜態 IP(例如192.168.56.56)。主機 Windows 將使用192.168.56.1作爲內部網絡的 IP(VirtualBox Host-Only Network是 Windows 中網絡連接中的名稱)。這將使您能夠從 Windows 訪問 192.168.56.56 訪問 ubuntu 上的 apache 服務器。此外,Ubuntu 將具有互聯網訪問權限,因爲第一個適配器(設置爲 NAT)將負責這一點。
- 現在,要使連接可用兩種方式(從 ubuntu 來賓訪問 Windows 主機),還需要執行一個步驟。Windows 會自動將 virtualbox 僅主機網絡添加到公共網絡列表中,並且該列表無法更改。這意味着防火牆將阻止正確的訪問。
- 爲了克服這個問題並且不在您的設置中造成任何安全漏洞:
- 轉到控制面板中的 Windows 防火牆部分,
- 單擊高級設置。在彈出的頁面中,
- 單擊入站規則(左列),然後單擊新規則(右列)。選擇自定義規則,將規則設置爲允許所有程序和任何協議。對於範圍,在第一個框(本地 IP 地址)中添加 192.168.56.1,在第二個框(遠程 IP)中添加 192.168.56.56。單擊下一步,選擇允許連接,下一步,檢查所有配置文件,下一步,爲其命名並保存。
就是這樣,現在您有了 2 種方式的通信,可以使用 apache/任何其他可用的服務以及互聯網。最後一步是設置共享。不要使用 virtualbox 中的共享文件夾功能,它有很多 bug,尤其是在 Windows 7(和 64 位)中。相反,使用 samba 共享 - 快速且高效。
請點擊此鏈接瞭解如何設置: https: //wiki.ubuntu.com/MountWindowsSharesPermanently
在這個現代商業世界中,網絡是交互式計算機操作的重要組成部分。很難想象在一個一切都在以越來越快的速度變化的世界裏如何在沒有網絡的情況下在計算機之間交換數據。硬件虛擬化背後的核心思想之一是在幾乎所有也可以使用物理計算機的情況下都可以使用虛擬機。
因此,虛擬機必須能夠使用其虛擬網絡適配器連接到物理和虛擬網絡。VirtualBox 上運行的虛擬機可以連接到不同的網絡。VirtualBox爲虛擬機提供多種網絡模式。這篇博文介紹了 VirtualBox 網絡設置,以幫助您以最佳方式配置 VirtualBox 以滿足您的需求。
虛擬網絡適配器
每個 VirtualBox VM 最多可以使用八個虛擬網絡適配器,每個虛擬網絡適配器又稱爲網絡接口控制器 (NIC)。可以在 VirtualBox GUI(圖形用戶界面)中配置四個虛擬網絡適配器。所有虛擬網絡適配器(最多 8 個)都可以使用VBoxManagemodifyvm命令進行配置。VBoxManage是 VirtualBox 的命令行管理工具,可用於配置所有 VirtualBox 設置,包括 VirtualBox 網絡設置。VirtualBox 網絡適配器設置可以在虛擬機設置中訪問(選擇您的虛擬機,點擊“設置”並轉到虛擬機設置窗口中的“網絡”部分)。
您應該在那裏看到四個適配器選項卡。虛擬機創建後默認啓用一個虛擬網絡適配器。您可以勾選“啓用網絡適配器”複選框來啓用適配器,取消勾選複選框來禁用該適配器(此複選框定義虛擬網絡適配器設備是否連接到虛擬機)。
點擊“高級”以展開高級 VirtualBox 網絡適配器設置。
VirtualBox 中的虛擬網絡適配器類型
虛擬網絡適配器是軟件模擬的物理設備。VirtualBox 可以虛擬化六種虛擬適配器類型。
- AMD PCnet-PCI II (Am79C970A)。該網絡適配器基於AMD芯片,可以在多種情況下使用。對於 Windows 客戶機,此網絡適配器可用於較舊的 Windows 版本(如 Windows 2000),因爲較新的 Windows 版本(如 Windows 7、8 和 10)不包含此適配器的內置驅動程序。最初,Am79C970APCI 設備包含一個單芯片 10 Mbit 控制器,並且集成了 DMA 引擎。該網絡適配器還支持AMD的Magic Packet技術,用於遠程喚醒。
- AMD PCnet-FAST III (Am79C973)。幾乎所有可以在 VirtualBox 上運行的來賓操作系統都支持此虛擬化網絡適配器。GRUB(引導加載程序)可以使用此適配器進行網絡引導。與之前的網絡適配器類似,這款網絡適配器基於 AMD 芯片。
- 英特爾 PRO/1000 MT 臺式機 (82540EM)。該適配器與 Windows Vista 和更新的 Windows 版本完美配合。大多數 Linux 發行版也支持此適配器。
- 英特爾 PRO/1000 T 服務器 (82543GC)。Windows XP 無需安裝額外的驅動程序即可識別該適配器。
- 英特爾 PRO/1000 MT 服務器 (82545EM)。此適配器模型對於從其他平臺導入 OVF 模板非常有用,並且可以簡化導入過程。
- 半虛擬化網絡適配器(virtio-net)是一個特例。來賓操作系統必須爲虛擬化環境提供特殊的軟件接口,而不是大多數操作系統支持的虛擬化網絡硬件。這種方法可以讓您避免網絡硬件模擬的複雜性,從而提高網絡性能。
VirtualBox 支持行業標準 virtIO 網絡驅動程序。VirtIO 網絡驅動程序是 KVM 項目的一部分,並且是開源的。這些驅動程序適用於內核爲 2.6.25 或更高版本的 Linux,以及 Windows(包括 Windows 2000、XP 和 Vista 等舊版本)。
巨型幀支持
VirtualBox 對巨型幀(可以承載大小超過 1,500 字節的數據包的以太網幀)提供有限的支持。如果需要使用巨型幀,請選擇 Intel 虛擬化網絡適配器,並將該適配器配置爲在橋接模式下工作。基於 AMD 的虛擬網絡適配器不支持巨型幀。如果您嘗試爲基於 AMD 的虛擬網絡適配器啓用巨型幀,則輸入和輸出流量的巨型幀將被靜默丟棄。默認情況下禁用巨型幀。
VirtualBox 網絡模式
VirtualBox 提供了一長串網絡模式,這是 VirtualBox 網絡設置最有趣的功能之一。每個虛擬網絡適配器都可以單獨配置爲在不同的網絡模式下運行。例如,您可以爲適配器 1設置NAT模式,爲適配器 2 設置Host-only模式。您可以在“附加到”下拉菜單中選擇網絡模式。
讓我們詳細考慮每種 VirtualBox 網絡模式。
未附上
虛擬機中安裝了虛擬網絡適配器,但網絡連接丟失,就像使用物理網絡適配器時拔掉以太網網線一樣。此模式對於測試很有用。例如,您可以短時間啓用該網絡模式來模擬拔掉電纜。當您通過切換到其他網絡模式來禁用“未連接”模式時,網絡連接將再次可用。還可以檢查DHCP客戶端是否正確獲取IP地址,相應的應用程序在鏈路中斷或丟包後是否可以恢復下載等。
您可以使用任何其他網絡模式,而不是使用“未連接”網絡模式,而無需勾選“已連接電纜”複選框。當虛擬機處於運行狀態時,您可以勾選/取消勾選該複選框(請參見上面的屏幕截圖)。不要忘記單擊“確定”以應用虛擬機網絡配置中的更改。
網絡地址轉換
默認情況下,虛擬網絡適配器啓用此網絡模式。VM 上的來賓操作系統可以使用虛擬 NAT(網絡地址轉換)設備訪問物理局域網 (LAN) 中的主機。外部網絡(包括互聯網)可以從客戶操作系統訪問。當NAT模式用於 VirtualBox 網絡時,無法從主機或網絡中的其他計算機訪問來賓計算機。例如,對於希望使用虛擬機訪問互聯網的用戶來說,這種默認網絡模式就足夠了。
VM 網絡適配器的 IP 地址通過 DHCP 獲取,並且此網絡模式下使用的網絡 IP 地址無法在 GUI 中更改。VirtualBox 有一個內置的 DHCP 服務器和 NAT 引擎。虛擬 NAT 設備使用 VirtualBox 主機的物理網絡適配器作爲外部網絡接口。NAT模式下使用的虛擬DHCP服務器默認地址爲10.0.2.2(也是虛擬機默認網關的IP地址)。網絡掩碼爲 255.255.255.0。
如果將兩個或多個虛擬機的網絡適配器配置爲使用 NAT模式,則每個虛擬機將在私有虛擬 NAT 設備後面的自己的隔離網絡中獲取 10.0.2.15 IP 地址。每個虛擬機的默認網關是 10.0.2.2。在 VirtualBox 中,使用NAT模式時 IP 地址不會改變,如下所示:
要使用 VBoxManage 爲虛擬機啓用 NAT 模式,請執行以下命令:
在哪裏:
- VM_name是您的虛擬機的名稱;
- nic1是虛擬網卡的編號;
- nat是您需要設置的 VirtualBox 網絡模式的名稱。
可以通過單擊“端口轉發”按鈕(如上面的屏幕截圖所示)直接從 VirtualBox VM 網絡設置窗口配置端口轉發。有關在 VirtualBox 網絡設置中配置端口轉發的詳細信息,您可以在下面的“網絡模式”部分之後找到這些信息。
網絡地址轉換
此模式類似於用於配置路由器的NAT模式。如果多個虛擬機使用NAT網絡模式,它們可以通過網絡相互通信。虛擬機可以訪問物理網絡中的其他主機,也可以訪問包括Internet在內的外部網絡。來自外部網絡的任何計算機以及來自主機所連接的物理網絡的計算機都無法訪問配置爲使用 NAT網絡模式的虛擬機(類似於配置路由器以從家庭網絡訪問互聯網)。使用NAT 網絡模式時,您無法從主機訪問訪客計算機(除非您在全局 VirtualBox 網絡設置中配置端口轉發)。內置 VirtualBox NAT 路由器使用 VirtualBox 主機的物理網絡接口控制器作爲外部網絡接口(與 NAT模式的情況相同)。
網絡地址和名稱可以在全局 VirtualBox 首選項(文件 > 首選項)中更改。在“首選項”窗口的左側窗格中,選擇“網絡”以訪問全局 VirtualBox 網絡設置,然後雙擊現有的 NAT 網絡來編輯設置(您還可以通過單擊+或x圖標添加新網絡或刪除現有網絡) 。
在出現的小彈出窗口中,還可以啓用/禁用 DHCP、IPv6 和配置端口轉發。
NatNetwork的默認地址 是10.0.2.0/24。
默認網關 IP 爲 10.0.2。1(xxx1模板用於分配默認網關IP)。例如,如果您在VirtualBox中創建一個新的NAT網絡模式的虛擬網絡,並設置192.168.22.0/24網絡地址,則該網絡中網關的IP地址將爲192.168.22。1.您無法更改NAT 網絡模式下使用的網絡的網關 IP 地址,也不能更改 DHCP 服務器分配的 IP 地址範圍。同樣,DHCP服務器的IP地址默認爲10.0.2.3(使用xxx3模板)。
屏幕截圖中顯示了在 VirtualBox 上運行的 Windows 7 虛擬機的 IP 配置,該虛擬機的虛擬網絡適配器配置爲NAT 網絡模式。
如果您不想在 GUI 中編輯 VirtualBox 網絡設置,可以使用以下命令通過 VBoxManage 添加新的 NAT 網絡:
在哪裏:
- natnet1 是 NAT 網絡的名稱;
- 192.168.22.0/24 是該 NAT 網絡的地址。
如果要配置虛擬機網絡適配器以便在 VBoxManage 中使用 NAT 網絡 模式,請運行以下命令:
在哪裏:
- nic1 是第一個虛擬網絡適配器(網絡接口控制器);
- natnetwork 是 VirtualBox 網絡模式的名稱。
在應用這些設置之前,您可能需要關閉虛擬機。
爲了避免在本文各部分中爲 VM 的虛擬網絡適配器選擇網絡模式時使用 VBoxManage 重複相同的命令,請考慮所有可能的 VirtualBox 網絡模式的名稱:none、 null、nat、natnetwork、bridged、內網、僅主機、通用。
端口轉發是可以從此窗口訪問和配置的又一個選項。端口轉發可用於配置從同一物理網絡的主機和其他主機對虛擬機內來賓操作系統上運行的服務的訪問(請參閱下面的詳細信息)。正如您所看到的, NAT模式和NAT網絡模式的端口轉發設置在 VirtualBox GUI 中的位置不同。NAT模式的端口轉發設置可在VM > 設置 > 網絡中找到,而NAT 網絡模式的端口轉發設置可以在文件 > 首選項 > 網絡中進行配置。這是因爲NAT模式的端口轉發規則對於每個 VM 都是單獨的,而NAT 網絡模式的端口轉發規則對於其適配器連接到相應 NAT 網絡的多個 VM 是通用的。請參閱下面的“端口轉發”部分中有關配置端口轉發的詳細信息。
橋接適配器
該模式用於將虛擬機的虛擬網卡連接到VirtualBox主機的物理網卡所連接的物理網絡。VM 虛擬網絡適配器使用主機網絡接口進行網絡連接。簡而言之,網絡數據包直接從虛擬網絡適配器發送和接收,無需額外路由。VirtualBox 使用特殊的網絡過濾驅動程序實現橋接網絡模式,以過濾來自主機物理網絡適配器的數據。
此網絡模式可用於在必須可從物理局域網完全訪問的虛擬機上運行服務器。在 VirtualBox 中使用橋接網絡模式時,您可以從虛擬機訪問主機、物理網絡的主機和外部網絡,包括互聯網。可以從主機以及連接到物理網絡的其他主機(和虛擬機)訪問虛擬機。
如果主機上有多個物理網絡適配器,則應在 VirtualBox 網絡設置中選擇正確的適配器。在下面的屏幕截圖中,您可以看到兩個物理網絡適配器 - 以太網適配器和 Wi-Fi 適配器。如果您對無線網絡適配器使用橋接模式,則無法在來賓操作系統中使用該 Wi-Fi 適配器的低級功能。例如,您無法選擇連接的Wi-Fi網絡、啓用監控模式等,而是需要連接到主機上的Wi-Fi網絡。如果您必須在 VM 的來賓操作系統中使用 Wi-Fi 適配器的所有功能,請使用 USB Wi-Fi 適配器和 USB 直通功能,如有關在 VirtualBox 上安裝 Kali Linux 的博客文章中所述。
在VirtualBox中,使用橋接模式時,VM虛擬網卡的IP地址可以與宿主機物理網卡的IP地址屬於同一網絡。如果您的物理網絡中有 DHCP 服務器,則虛擬機的虛擬網絡適配器將以橋接模式自動獲取 IP 地址(如果在來賓操作系統的網絡接口設置中設置了自動獲取 IP 地址)。因此,在橋接模式下運行的虛擬網絡適配器的默認網關與主機的默認網關相同。讓我們看一個帶有 IP 地址的簡單示例。
物理網絡地址:10.10.10.0/24
物理網絡默認網關IP地址:10.10.10.1
物理網絡中DHCP服務器的IP地址:10.10.10.1
主機IP配置:IP地址 – 10.10.10.72;網絡掩碼 – 255.255.255.0;默認網關 – 10.10.10.1。
訪客機的IP配置:IP地址 – 10.10.10.91;網絡掩碼 – 255.255.255.0;默認網關 – 10.10.10.1。
有時,您可能會發現物理網絡中有多個網關。您可以使用一臺主機通過一個網關連接到必要的網絡,並使用一臺訪客計算機通過第二個網關連接到其他網絡。您還可以編輯虛擬機上的路由表並添加路由,以便使用兩個網關連接到相應的網絡。正如您所看到的,橋接網絡模式是 VirtualBox 網絡設置中的一個強大選項,有很多用例。
混雜模式。此模式允許網絡適配器傳遞所有接收到的流量,無論流量發送到哪個適配器。在正常模式下,網絡適配器僅接收包含該特定網絡適配器的 MAC 地址作爲標頭中的目標地址的幀。在正常模式下,尋址到與所選適配器的 MAC 地址不同的 MAC 地址(當流量不是廣播時)的幀將被丟棄。混雜模式使物理網絡適配器可以擁有多個 MAC 地址,從而允許所有傳入流量通過主機的物理網絡適配器併到達 VM 的虛擬網絡適配器,該虛擬機具有自己的 MAC 地址(表示爲主機適配器,即使該流量未發送至該特定 VM 的虛擬網絡適配器。
大多數無線網絡適配器不支持混雜模式。橋接到 Wi-Fi 適配器的方式如下:VirtualBox 替換必須傳送到 VM 虛擬網絡適配器的以太網幀標頭中的相應 MAC 地址(必須使用主機 Wi-Fi 適配器的 MAC 地址)對於該流量)。混雜模式對於網絡測試和安全審計很有用。您可以在 VirtualBox 網絡設置中啓用混雜模式並使用嗅探器監視網絡流量。
使用混雜模式有三種選擇。
- 否定。任何不屬於 VM 虛擬網絡適配器的流量都會對 VM 隱藏。該選項是默認設置的。
- 允許虛擬機。除與其他虛擬機之間傳輸的流量外,所有流量都對虛擬機網絡適配器隱藏。
- 允許全部。該模式沒有任何限制。VM 網絡適配器可以查看所有傳入和傳出流量。
混雜模式不僅可以用於橋接網絡模式,還可以用於NAT網絡、內部網絡和Host-Only Adapter模式。
內部網絡
其適配器配置爲在 VirtualBox內部網絡模式下工作的虛擬機連接到隔離的虛擬網絡。連接到該網絡的虛擬機可以相互通信,但無法與 VirtualBox 主機通信,也無法與物理網絡或外部網絡中的任何其他主機通信。連接到內部網絡的虛擬機無法從主機或任何其他設備訪問。VirtualBox內部網絡可用於對真實網絡進行建模。
例如,您可以創建三個虛擬機,每個虛擬機都有一個連接到內部網絡的虛擬網絡適配器(適配器1)。這些網絡適配器的 IP 地址是根據 VirtualBox 內部網絡使用的子網定義的(您應該手動定義子網)。這些VM之一(VM1 )還具有被配置爲在NAT模式下操作的第二虛擬網絡適配器。VM1配置爲路由器(創建路由器的最佳解決方案之一是安裝 Linux 並配置 IPTABLES,但在 VirtualBox 網絡測試中您第一次可以使用更簡單的路由解決方案)。
對於網絡適配器僅連接VirtualBox內部網絡的VM2和VM3,如果在VM2和VM3的網絡設置中將VM1的內部網絡適配器的IP地址設置爲網關,則可以訪問外部網絡。
本例中使用的網絡配置:
虛擬機1。IP地址 – 192.168.23.1(內網模式);10.0.2.15(NAT模式),網關10.0.2.2(內置VirtualBox NAT設備的IP地址)。
虛擬機2。IP地址 – 192.168.23.2(內部網絡),網關 – 192.168.23.1
虛擬機3。IP地址 – 192.168.23.3(內部網絡),網關 – 192.168.23.1
VirtualBox內部網絡子網:192.168.23.0/24
請參閱下圖以更清楚地瞭解。
注意:您還可以部署此類虛擬基礎設施,以便在 IPTABLES 中測試防火牆規則,然後再在實際網絡基礎設施中實施它們,但在連接到VM1的第二個虛擬網絡適配器時,最好使用橋接模式而不是NAT模式。/來自外部網絡。
僅主機適配器
該網絡模式用於主機和訪客之間的通信。VM 可以與連接到僅主機網絡的其他 VM 以及主機進行通信。VirtualBox 主機可以訪問連接到僅主機網絡的所有虛擬機。
VirtualBoxHost-Only虛擬網絡適配器是在主機操作系統中創建的,用於僅主機網絡。您可以通過轉到“文件”>“主機網絡管理器”來編輯此 VirtualBox 網絡的設置。
在我們的示例中,僅主機網絡的默認網絡地址是 192.168.56.0/24,主機上虛擬網絡適配器的 IP 地址是 192.168.56.1。您可以在“適配器”選項卡中手動編輯這些 IP 地址。可以通過勾選相應的複選框來啓用或禁用 DHCP 服務器。在“DHCP 服務器”選項卡中,您可以設置 DHCP 服務器的 IP 地址、網絡掩碼以及爲 DHCP 客戶端分配的 IP 地址範圍。
VM 的虛擬網絡適配器的 IP 配置中沒有網關,因爲僅主機模式不允許您連接到僅主機網絡之外的任何設備。還可以創建多個 VirtualBox 僅主機網絡適配器,以便使用不同的僅主機網絡 - 只需按“創建”按鈕即可。如果不再需要僅主機網絡,只需選擇適配器並點擊刪除即可。
通用驅動程序
此網絡模式允許您共享通用網絡接口。用戶可以選擇要在擴展包中分發或包含在 VirtualBox 中的適當驅動程序。
VirtualBox 通用驅動程序模式有兩種可用的子模式- UDP 隧道和 VDE(虛擬分佈式以太網)網絡。
UDP 隧道。運行在不同主機上的虛擬機可以使用現有的網絡基礎設施進行透明通信。
VDE 網絡。虛擬機可以連接到 Linux 或 FreeBSD 主機上的虛擬分佈式交換機。您需要從源代碼編譯 VirtualBox 才能使用 VDE 網絡,因爲標準 VirtualBox 軟件包不包含此功能。
VirtualBox網絡模式比較
爲了方便起見,我們將 VirtualBox 支持的網絡模式的所有信息總結在這個表中:
轉發端口
端口轉發是攔截髮送到適當 IP 地址和端口的流量以及將該流量重定向到不同 IP 地址和/或端口的過程。可以在計算機和其他路由器設備上使用特殊應用程序來配置端口轉發。端口轉發最流行的用例之一是提供從外部網絡對隱藏在 NAT 後面的特定網絡服務的訪問。配置端口轉發規則後,客戶端可以通過連接到路由器(主機)的外部IP地址和指定端口來從外部訪問相應的服務。
數據包首先被路由器上的應用程序攔截,然後應用程序讀取相應標頭(IP 數據包標頭、TCP 或 UDP 段標頭)的目標 IP 地址和端口號。如果標頭中的目標 IP 地址和/或端口號的組合與端口轉發規則中設置的條件匹配,則路由應用程序將重寫標頭信息(IP 地址和/或端口號)並將數據包/段發送到另一個網絡根據端口轉發規則進行接口。
默認情況下,VirtualBox 主機和 LAN 中的其他主機無法連接到其網絡適配器設置爲在NAT或NAT 網絡模式下運行的 VirtualBox 虛擬機,但 VirtualBox 提供了內置端口轉發功能來啓用此類訪問。
示例 1 – SSH 訪問
現在,我們以連接到運行在 Ubuntu Linux VM 上的 SSH 服務器(通過NAT模式連接到網絡)爲例,考慮配置端口轉發以連接到 VirtualBox VM。您可以在這篇博文中閱讀如何在 VirtualBox 上安裝 Ubuntu 。
輸入數據:
主機IP: 10.10.10.72 (物理網卡)。
Ubuntu虛擬機IP: 10.0.2.15 (NAT模式)
用戶名: user1
1. 在Ubuntu虛擬機上安裝SSH服務器。
apt-get 安裝 openssh-server
2. 編輯SSH 服務器配置文件。
vim /etc/ssh/sshd_config
3. 取消註釋用於啓用密碼身份驗證的字符串。
密碼驗證 是
4. 重新啓動 SSH 守護進程(服務)。
/etc/init.d/ssh 重新啓動
5. 驗證 SSH 服務器是否正常工作,並嘗試從本地主機 (Ubuntu VM) 連接到 SSH 服務器。
ssh 用戶[email protected]
6. 如果一切正常,您可以開始在 VirtualBox 中配置端口轉發。
您還記得嗎,您應該打開 虛擬機設置 並選擇 網絡 部分。選擇配置爲在NAT模式下工作的虛擬網絡適配器 ,展開 高級 設置並點擊 端口轉發 按鈕。單擊 + 圖標在虛擬機的 VirtualBox 網絡設置中添加新的端口轉發規則。
SSH 服務器默認偵聽第 22 個 TCP 端口。讓我們創建一個規則,允許您將端口 8022 上的 VirtualBox 主機的所有連接轉發到 SSH 服務器偵聽的端口 22 上的 Ubuntu VM。首先,您可以創建一條規則,僅允許來自 VirtualBox 主機的連接。
姓名 | 協議 | 主機IP | 主機端口 | 訪客IP | 訪客端口 |
Ubuntu-SSH | 傳輸控制協議 | 127.0.0.1 | 8022 | 10.0.2.15 | 22 |
VirtualBox GUI 中的端口轉發規則窗口視圖如下面的屏幕截圖所示。
在 VirtualBox 主機上打開 SSH 客戶端(例如,如果使用 Windows,則爲 PuTTY)並連接到端口 8022 上的 127.0.0.1。
如果您創建類似的端口轉發規則,其中 VirtualBox 主機的物理網絡適配器的真實 IP 地址爲,則物理網絡中的其他主機將能夠通過端口 8022 連接到 VirtualBox 主機來通過 SSH 訪問 Ubuntu VM定義而不是本地主機 IP 地址 (127.0.0.1)。在此示例中,VirtualBox 主機上的物理網卡的 IP 地址是 10.10.10.72。
姓名 | 協議 | 主機IP | 主機端口 | 訪客IP | 訪客端口 |
Ubuntu-SSH | 傳輸控制協議 | 10.10.10.72 | 8022 | 10.0.2.15 | 22 |
在 VirtualBox 主機或連接到 LAN 的另一臺主機上打開 SSH 客戶端,並通過端口 8022 連接到 VirtualBox 主機 IP。
示例 2 – HTTP 訪問
如果您想在虛擬機上部署 Web 服務器並提供從外部訪問您的網站的權限,您可以添加另一個端口轉發規則。讓我們考慮如何配置端口轉發規則,以便從 VirtualBox 主機和連接到物理局域網 (LAN) 的其他計算機訪問部署在 Ubuntu VM 上的網站。在此示例中,Apache 用作 Web 服務器。
首先,在 VirtualBox 上運行的 Ubuntu VM 上安裝 Apache。
apt-get 安裝 apache2
Ubuntu 中默認禁用ufw防火牆。如果您的 Ubuntu VM 上啓用了防火牆,請確保啓用對 TCP 80 端口的訪問。
安裝 Apache 後,在 Ubuntu 虛擬機上打開 Web 瀏覽器,並在地址欄中輸入http://127.0.0.1訪問默認 Apache 頁面。如果一切正常,您將在 Web 瀏覽器中看到Apache2 Ubuntu 默認頁面。
這意味着現在您可以在 VirtualBox 網絡設置中配置端口轉發規則,以訪問 Ubuntu VM 上託管的網站。轉至虛擬機設置 > 網絡 > [選擇您的適配器] > 端口轉發(與上面的解釋類似),打開端口轉發設置窗口。您可以通過執行以下操作來添加新規則:
姓名 | 協議 | 主機IP | 主機端口 | 訪客IP | 訪客端口 |
Ubuntu-HTTP80 | 傳輸控制協議 | 10.10.10.72 | 8080 | 10.0.2.15 | 80 |
在您的主機或連接到物理網絡的任何其他計算機上打開 Web 瀏覽器,然後輸入 VirtualBox 主機的 IP 地址以及上面創建的端口轉發規則中定義的端口:
http://10.10.10.72:8080
在當前示例中,10.10.10.72是 VirtualBox 主機的 IP 地址,8080是 VirtualBox 主機上偵聽的 TCP 端口。配置端口轉發的積極結果如下面的屏幕截圖所示。
您還可以創建類似的規則來通過 RDP、FTP 和其他協議訪問虛擬機。
爲其虛擬網絡適配器在NAT 網絡模式下工作的虛擬機配置端口轉發的功能類似(請參閱上面的部分,其中解釋了 NAT 網絡模式以查找 NAT 網絡模式的端口轉發設置)。
結論
VirtualBox 是一種功能強大的虛擬化解決方案,非常靈活,並提供廣泛的網絡設置。每個虛擬機最多可以使用八個虛擬網絡適配器,並且每個網絡適配器都可以模擬爲真實 Intel 和 AMD 網絡接口控制器 (NIC) 的適當模型。VirtualBox 網絡適配器設置允許您更改每個虛擬網卡的 MAC 地址、插入或拔出虛擬網線以及選擇網絡模式。設置虛擬網絡適配器的網絡模式是 VirtualBox 網絡設置中最有趣和最重要的部分之一。有六種網絡模式,每種模式可用於不同的用例。可以配置端口轉發以對網絡適配器在 NAT 或 NAT 網絡模式下運行的虛擬機進行外部訪問。