VirtualBox 網路設定:完整指南

在當今的商業世界中,網路是互動式電腦運作的關鍵組成部分。在這個萬物變遷速度日益加快的世界裡,很難想像若沒有網路,電腦之間該如何交換資料。 硬體虛擬化的核心理念之一,在於幾乎所有使用情境,皆可透過虛擬機器來實現。

因此,虛擬機器必須能夠透過其虛擬網路介面卡,連接實體與虛擬網路。在 VirtualBox 上運行的虛擬機器可連接至不同的網路。VirtualBox 為虛擬機器提供了多種網路模式。本文將介紹 VirtualBox 的設定,協助您以最適合自身需求的方式配置 VirtualBox。

NAKIVO 適用於 Linux 系統的備份解決方案

NAKIVO 適用於 Linux 系統的備份解決方案

為 Linux 伺服器和工作站提供快速且高效的備份服務。具備防勒索軟體防護、多種備份目標、靈活的還原選項,以及更多功能!

虛擬網路介面卡

每個 VirtualBox 虛擬機器最多可使用八個虛擬網路適配器,每個適配器又稱為網路介面控制器(NIC)。在 VirtualBox 圖形使用者介面(GUI)中,最多可設定四個虛擬網路適配器。所有虛擬網路適配器(最多 8 個)皆可透過 VBoxManage modifyvm 指令。 VBoxManage 這是一款 VirtualBox 的命令列管理工具,可用於設定所有 VirtualBox 設定,包括 VirtualBox 的網路設定。您可以在虛擬機器設定中存取 VirtualBox 網路介面卡的設定(選取您的虛擬機器,按下 Settings 並前往 Network (虛擬機器設定視窗中的該區段)。

VirtualBox Network Settings for Adapter 1

在那裡您應該會看到四個網卡標籤。建立虛擬機器後,預設會啟用一個虛擬網路介面卡。您可以勾選 Enable Network Adapter 勾選此核取方塊以啟用網卡,取消勾選則停用(此核取方塊決定虛擬網路介面卡裝置是否連接到虛擬機器)。

點擊 Advanced 以展開 VirtualBox 的進階網路介面卡設定。

VirtualBox 中的虛擬網路介面卡類型

虛擬網路介面卡是一種透過軟體模擬的實體裝置。VirtualBox 支援六種虛擬介面卡類型。

  • AMD PCnet-PCI II (Am79C970A). 此網路介面卡採用 AMD 晶片,適用於多種情境。至於 Windows 虛擬機器,此網路介面卡可用於較舊的 Windows 版本(例如 Windows 2000),因為較新的 Windows 版本(如 Windows 7、8 和 10)並未內建此介面卡的驅動程式。最初,該 Am79C970A 該 PCI 裝置內建單晶片 10 Mbit 控制器,並整合了 DMA 引擎。此網路卡亦支援 AMD 的 Magic Packet 技術,可實現遠端喚醒功能。
  • AMD PCnet-FAST III (Am79C973). 此虛擬化網路介面卡幾乎受到所有可在 VirtualBox 上運行的來賓作業系統支援。GRUB(開機載入器)可使用此介面卡進行網路開機。與前一個網路介面卡類似,此介面卡同樣基於 AMD 晶片。
  • Intel Pro/1000 MT 桌上型電腦 (82540EM). 此網卡可完美相容於 Windows Vista 及更新版本的 Windows 系統。大多數的 Linux 發行版亦支援此網卡。
  • Intel Pro/1000 T 伺服器網卡 (82543GC). Windows XP 無需安裝額外驅動程式即可識別此網卡。
  • Intel Pro/1000 MT 伺服器 (82545EM). 此轉接器模型有助於從其他平台匯入 OVF 範本,並能簡化匯入流程。
  • 半虛擬化網路介面卡 (virtio-net) 這是一種特殊情況。與其像大多數作業系統那樣對網路硬體進行虛擬化,客體作業系統必須為虛擬化環境提供特殊的軟體介面。這種做法能讓您避免網路硬體模擬的複雜性,從而提升網路效能。

VirtualBox 支援業界標準的 virtIO 網路驅動程式。virtIO 網路驅動程式是 KVM 專案的一部分,且為開源軟體。這些驅動程式適用於內核版本 2.6.25 或更新版的 Linux 系統,以及包含 Windows 2000、XP 和 Vista 等舊版系統在內的 Windows 系統。

Jumbo 框架支援

VirtualBox 對 jumbo 幀(可傳輸大於 1,500 位元組封包的乙太網路幀)。若您需要使用 jumbo 幀,選擇 Intel 虛擬化網路介面卡,並將該介面卡設定為橋接模式。基於 AMD 的虛擬網路介面卡不支援 jumbo 框架。如果您嘗試啟用 jumbo AMD 架構虛擬網路介面的幀, jumbo 輸入和輸出的流量中的封包將會被靜默丟棄。 Jumbo 預設情況下,框架功能已停用。

VirtualBox 網路模式

VirtualBox 提供了眾多網路模式,這是 VirtualBox 網路設定中最引人注目的特點之一。每個虛擬網路介面卡均可獨立設定為不同的網路模式。例如,您可以設定 NAT 適配器 1 的模式以及 Host-only 適配器的模式 2。您可以在 Attached to 下拉式選單。

VirtualBox network settings – selecting a network mode for the virtual network adapter

讓我們詳細探討 VirtualBox 的每種網路模式。

未附加

虛擬網路介面卡已安裝在虛擬機器中,但網路連線卻已中斷,這就像在使用實體網路介面卡時拔除乙太網路線一樣。此模式對於測試相當有用。例如,您可以短暫啟用此網路模式,以模擬拔除網路線的情況。當您停用 Not Attached 若切換至另一種網路模式,網路連線便會恢復正常。您亦可檢查 DHCP 客戶端是否能正確取得 IP 位址、相關應用程式在連線中斷或發生封包遺失後能否繼續下載等。

與其使用 Not Attached 網路模式,若未勾選此選項,即可使用任何其他網路模式 Cable Connected 核取方塊。當虛擬機器處於執行狀態時,您可以勾選或取消勾選此核取方塊(請參閱上方的螢幕截圖)。別忘了按下 OK 以套用虛擬機器網路設定的變更。

NAT

此網路模式預設已啟用於虛擬網路介面卡。虛擬機器上的來賓作業系統可透過虛擬 NAT(網路位址轉換)裝置存取實體區域網路(LAN)中的主機。來賓作業系統可存取外部網路,包括網際網路。當 NAT 此模式用於 VirtualBox 的網路設定。對於僅需透過虛擬機器(VM)連上網的用戶而言,此預設網路模式已足夠。

虛擬機器的網路介面卡會透過 DHCP 取得 IP 位址,且在此網路模式下,無法透過圖形使用者介面(GUI)變更網路的 IP 位址。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 如您所見,以下是使用該模式的示例:

VirtualBox network modes – how the NAT mode works

為了能夠 NAT 若要使用 VBoxManage 為虛擬機器設定模式,請執行以下命令:
VBoxManage modifyvm VM_name --nic1 nat
地點:

  • VM_name 是您的虛擬機器名稱;
  • nic1 是虛擬網路介面的編號;
  • nat 這是您需要設定的 VirtualBox 網路模式名稱。

您可以直接在 VirtualBox 虛擬機器網路設定視窗中,點擊 Port forwarding 按鈕(如上圖所示)。關於在 VirtualBox 網路設定中設定端口轉發的詳細資訊,您可以在下方 Network Modes 章節。

NAT 網路

此模式類似於 NAT 用於設定路由器的模式。如果您使用 NAT Network 在多虛擬機器模式下,它們可透過網路相互通訊。這些虛擬機器既能存取實體網路中的其他主機,也能存取外部網路(包括網際網路)。來自外部網路的任何機器,以及主機所連接之實體網路中的機器,均無法存取已設定為使用該 NAT Network 模式(類似於您在家庭網路中設定路由器以連上網際網路的情況)。當使用 NAT Network 模式(除非您正在 VirtualBox 的全域網路設定中設定端口轉發)。VirtualBox 內建的 NAT 路由器會將 VirtualBox 主機的實體網路介面控制器用作外部網路介面(如同 NAT 模式)。

VirtualBox network settings – the NAT Network mode

可在 VirtualBox 的全域偏好設定中變更網路位址和名稱(File > Preferences). 在的左側窗格中 Preferences 視窗,選取 Network 若要存取 VirtualBox 的全域網路設定,請雙擊現有的 NAT 網路以編輯設定(您也可以透過點擊 +x 圖示)。

Global VirtualBox network settings – editing the settings of the NAT Network

在隨後出現的小型彈出視窗中,您也可以啟用或停用 DHCP、IPv6,並設定端口轉發。

VirtualBox network settings – configuring the NAT Network

的預設地址為 NatNetwork 是 10.0.2.0/24。

預設閘道 IP 為 10.0.2.1 (該 x.x.x.1 範本用於指派預設閘道 IP)。例如,若您為 NAT Network 在 VirtualBox 中設定此模式並設定 192.168.22.0/24 網路位址,此網路中的閘道 IP 位址將為 192.168.22.1. 您無法變更在 NAT Network 模式,並變更 DHCP 伺服器所發放的 IP 位址範圍。同樣地,DHCP 伺服器的預設 IP 位址為 10.0.2.3(該 x.x.x.3 (使用此範本)。

在 VirtualBox 上執行的 Windows 7 虛擬機器,其虛擬網路介面卡已設定在 NAT Network 螢幕截圖中顯示了該模式。

A Windows 7 VM is configured to work in the NAT Network mode

如果您不想透過圖形化介面編輯 VirtualBox 的網路設定,可以使用 VBoxManage 透過以下指令新增一個新的 NAT 網路:
VBoxManage natnetwork add --netname natnet1 --network "192.168.22.0/24" --enable
地點:

  • natnet1 是 NAT 網路的名稱;
  • 192.168.22.0/24 是該 NAT 網路的位址。

若您想設定虛擬機器網路介面卡,以便使用 NAT Network 若要使用 VBoxManage 進入此模式,請執行以下指令:
VBoxManage modifyvm VM_name --nic1 natnetwork
地點:

  • nic1 是第一個虛擬網路介面卡(網路介面控制器);
  • natnetwork 是 VirtualBox 網路模式的名稱。

在套用這些設定之前,您可能需要先關閉虛擬機器。

為了避免在本文各節中為虛擬機器的虛擬網路介面卡選擇網路模式時,必須反覆使用 VBoxManage 執行相同的指令,請先記住所有 VirtualBox 網路模式的名稱: none, null, nat, natnetwork, bridged, intnet, hostonly, generic.

Port forwarding 這是另一個可從此視窗存取並設定的選項。透過端口轉發,可設定從主機以及同一物理網路中的其他主機存取虛擬機器內客體作業系統上執行的服務(詳情請見下文)。如您所見,端口轉發設定的位置為 NAT 模式和 NAT Network VirtualBox 圖形使用者介面中的模式有所不同。針對該設定的 port forwarding 設定 NAT 模式可在 VM > Settings > Network 至於該裝置的端口轉發設定 NAT Network 模式可在 File > Preferences > Network. 這是因為針對該 NAT 此模式對每台虛擬機器皆為獨立設定,而針對該虛擬機器的 NAT Network 此模式適用於多個虛擬機器,其網卡皆連接到相應的 NAT 網路。有關設定端口轉發的詳細資訊,請參閱下文的 Port Forwarding 章節。

橋接轉接器

此模式用於將虛擬機器的虛擬網路介面卡連接到 VirtualBox 主機電腦的實體網路介面卡所連接的實體網路。虛擬機器的虛擬網路介面卡會利用主機的網路介面進行網路連線。簡而言之,網路封包會直接從虛擬網路介面卡發送及接收,無需額外的路由處理。VirtualBox 會使用一個特殊的網路過濾驅動程式來 bridged 網路模式,以便過濾來自主機實體網路介面卡的資料。

此網路模式可用於在虛擬機器上執行必須能從實體區域網路完全存取的伺服器。當使用 bridged 在 VirtualBox 的網路模式下,您可以從虛擬機器存取主機、實體網路中的其他主機以及外部網路(包括網際網路)。主機以及連接到實體網路的其他主機(和虛擬機器)均可存取該虛擬機器。

若主機上有多個實體網路介面卡,您應在 VirtualBox 的網路設定中選取正確的介面卡。 在下方的螢幕截圖中,您可以看到兩個實體網路介面卡——乙太網路介面卡和 Wi-Fi 介面卡。若您將無線網路介面卡設定為橋接模式,則無法在客體作業系統中使用該 Wi-Fi 介面卡的低階特點。例如,您無法選擇要連線的 Wi-Fi 網路、啟用監控模式等。相反地,您需要在主機上連線至該 Wi-Fi 網路。 若您必須在虛擬機的客體作業系統中使用 Wi-Fi 網卡的所有特點,請參照相關部落格文章所述,使用 USB Wi-Fi 網卡並啟用 USB 直通功能: 在 VirtualBox 上安裝 Kali Linux.

VirtualBox network settings – selecting an adapter for the Bridged network mode

在 VirtualBox 中,當虛擬機的虛擬網路介面卡的 IP 位址與主機的實體網路介面卡的 IP 位址位於同一網路時, bridged 模式。若您的實體網路中存在 DHCP 伺服器,虛擬機器的虛擬網路介面卡將在 bridged 模式(若在客體作業系統的網路介面設定中已啟用自動取得 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 network settings – bridged networking

有時,您可能會發現實體網路中存在多個閘道。您可以讓主機透過其中一個閘道連線至必要的網路,並讓虛擬機器透過第二個閘道連線至其他網路。您也可以編輯虛擬機器的路由表,並新增路由規則,以便透過兩個閘道分別連線至相應的網路。如您所見,橋接網路模式是 VirtualBox 網路設定中一個功能強大的選項,具有眾多使用情境。

Promiscuous mode. 此模式允許網路介面卡傳送所有接收到的流量,無論該流量是寄送給哪個介面卡。在正常模式下,網路介面卡僅會接收那些在標頭中將該特定網路介面卡的 MAC 位址設為目的地址的幀。當流量非廣播時,若幀的 MAC 位址與所選介面卡的 MAC 位址不同,這些幀在正常模式下將會被丟棄。該 promiscuous mode 這使得實體網路介面卡能夠擁有多個 MAC 位址,讓所有傳入的流量都能通過主機的實體網路介面卡,並抵達虛擬機器(VM)的虛擬網路介面卡——該虛擬網路介面卡擁有自己的 MAC 位址,且該位址會顯示在主機的介面卡上,即使該流量並非發送給該特定虛擬機器的虛擬網路介面卡。

大多數無線網路介面卡不支援混雜模式。與 Wi-Fi 介面卡建立橋接的方式如下:VirtualBox 會將必須傳送至虛擬機器虛擬網路介面卡的乙太網路幀標頭中的 MAC 位址進行替換(該流量必須使用主機 Wi-Fi 介面卡的 MAC 位址)。 混雜模式對於網路測試和安全稽核非常有用。您可以在 VirtualBox 的網路設定中啟用混雜模式,並使用嗅探器監控網路流量。

使用混雜模式有三種選項: promiscuous mode.

  • Deny. 任何非針對虛擬機器虛擬網路介面的流量,都會對虛擬機器隱藏。此選項預設為啟用狀態。
  • Allow VMs. 除了與其他虛擬機器之間傳輸的流量外,虛擬機器的網路介面卡將無法偵測到任何流量。
  • Allow All. 此模式下沒有任何限制。虛擬機器網路介面卡可以檢視所有進出流量。

Promiscuous 此模式不僅可用於 Bridged 網路模式,同時也適用於 NAT Network, Internal Network 以及 Host-Only Adapter 模式。

內部網路

虛擬機的網卡已設定為在 VirtualBox 中運作 Internal Network 此模式下的虛擬機器會連接到一個隔離的虛擬網路。連接到此網路的虛擬機器可以相互通訊,但無法與 VirtualBox 主機、實體網路中的其他主機,或外部網路中的主機進行通訊。連接到內部網路的虛擬機器無法從主機或任何其他裝置存取。VirtualBox internal network 可用於建模真實網路。

例如,您可以建立三個虛擬機器,每個虛擬機器都配備一個連接至內部網路的虛擬網路介面卡(介面卡 1)。這些網路介面卡的 IP 位址是根據 VirtualBox 內部網路所使用的子網進行定義的(您應手動定義該子網)。其中一個虛擬機器(VM1) 還配備了第二個虛擬網路介面卡,其設定為在 NAT 模式。該 VM1 已設定為路由器(建立路由器的最佳解決方案之一是安裝 Linux 並進行設定 IPTABLES,但在 VirtualBox 網路測試的情境下,您現在首次可以使用更簡單的路由解決方案)。

A VM2 以及 VM3 若其網路介面卡僅連接到 VirtualBox 內部網路,則該裝置仍可存取外部網路,前提是其內部網路介面卡的 IP 位址為 VM1 已於的網路設定中設定為閘道器 VM2 以及 VM3.

本範例中使用的網路設定:

VM1. IP 位址 – 192.168.23.1 (internal network 模式); 10.0.2.15 (NAT 模式),閘道 10.0.2.2(VirtualBox 內建 NAT 裝置的 IP 位址)。

VM2. IP 位址 – 192.168.23.2(內部網路),閘道 – 192.168.23.1

VM3. IP 位址 – 192.168.23.3(內部網路),閘道 – 192.168.23.1

VirtualBox 內部網路子網:192.168.23.0/24

詳情請參閱下圖。

VirtualBox network settings – using the Internal network mode in a combination with the NAT mode

: 您也可以部署此類虛擬基礎架構,用於測試防火牆規則 IPTABLES 在將其部署到實際網路基礎架構之前,但建議使用 bridged 模式,而不是 NAT 的第二個虛擬網路介面的模式 VM1 在連線至外部網路或從外部網路連線時。

僅主機適配器

此網路模式用於主機與虛擬機器之間的通訊。虛擬機器可與連接到該網路的其他虛擬機器進行通訊 host-only 網路,以及與主機電腦。VirtualBox 主機電腦可以存取所有連接到該 host-only 網路。

VirtualBox network settings – VMs use the host-only network

VirtualBox Host-Only 在主機作業系統中建立虛擬網路介面卡,供於 host-only 網路。您可以透過前往更改此 VirtualBox 網路的設定 File > Host Network Manager.

VirtualBox network settings - configuring the Host-Only network

在我們的情況下,該的預設網路位址為 host-only 網路位址為 192.168.56.0/24,而主機上虛擬網路介面的 IP 位址為 192.168.56.1。您可以在 Adapter 分頁。您可以透過勾選相應的核取方塊來啟用或停用 DHCP 伺服器。在 DHCP Server 在"設定"分頁中,您可以設定 DHCP 伺服器的 IP 位址、子網遮罩,以及要發放給 DHCP 客戶端的 IP 位址範圍。

VirtualBox network settings – configuring a DHCP server for a Host-Only network

虛擬機的虛擬網路介面卡在 IP 設定中沒有閘道,因為 Host-Only 此模式不允許您連線至任何位於 host-only 網路。此外,也可以建立多個 VirtualBox host-only 網路介面卡,以便使用不同的 host-only 網路——只需按下 Create 按鈕。如果不再需要僅限主機的網路,只需選取該網卡並按下 Remove.

通用驅動程式

此網路模式可讓您共用通用網路介面。使用者可選擇將適當的驅動程式分發至擴充套件中,或包含在 VirtualBox 內。

VirtualBox 提供兩種子模式 Generic Driver 模式 – UDP Tunnel 以及 VDE (Virtual Distributed Ethernet) Networking.

UDP Tunnel. 運行於不同主機上的虛擬機器,可透過現有的網路基礎架構進行透明通訊。

VDE Networking. 虛擬機器可連接到 Linux 或 FreeBSD 主機上的虛擬分散式交換器。由於標準的 VirtualBox 套件未包含此特點,您需要從原始碼編譯 VirtualBox 才能使用 VDE 網路特點。

VirtualBox 網路模式比較

為了更方便起見,我們將 VirtualBox 所支援的所有網路模式資訊整理於下表中:

VirtualBox network settings – Comparison oVirtualBox Network Modes

端口轉發

端口轉發是一種攔截發送至特定 IP 位址和端口的流量,並將該流量重新導向至另一個 IP 位址和/或端口的過程。使用者可透過電腦或其他路由器裝置上的專用應用程式來設定端口轉發。端口轉發最常見的使用情境之一,是讓外部網路能夠存取隱藏在 NAT 後方的特定網路服務。 配置完端口轉發規則後,客戶端可透過連線至路由器(主機)的外部 IP 位址及指定埠號,從外部存取相應服務。

封包首先會被路由器上的應用程式攔截,接著該應用程式會讀取相關標頭(IP 封包標頭、TCP 或 UDP 分段標頭)中的目的 IP 位址與埠號。 若標頭中的目的 IP 位址和/或連接埠號碼組合符合端口轉發規則中設定的條件,路由應用程式便會重寫標頭資訊(IP 位址和/或連接埠號碼),並根據端口轉發規則將封包/分段傳送至另一個網路介面。

預設情況下,連線至網路介面卡設定為在 NATNAT Network 雖然無法從 VirtualBox 主機或區域網路中的其他主機直接存取,但 VirtualBox 提供了內建的端口轉發特點,可實現此類存取。

範例 1 – SSH 存取

現在,讓我們以連線至運行於 Ubuntu Linux 虛擬機器上的 SSH 伺服器為例,來探討如何設定端口轉發,以便連線至 VirtualBox 虛擬機器。該虛擬機器是透過 NAT 模式。您可以在 這篇部落格文章.

輸入資料:

主機 IP: 10.10.10.72 (實體網路卡)。

Ubuntu 虛擬機器 IP: 10.0.2.15 (NAT 模式)

使用者名稱: user1

1. 在 Ubuntu 虛擬機器上安裝 SSH 伺服器。

apt-get install openssh-server

2. 編輯 SSH 伺服器設定檔。

vim /etc/ssh/sshd_config

3. 取消註解該字串,以啟用密碼驗證。

PasswordAuthentication yes

4. 重新啟動 SSH 守護程序(服務)。

/etc/init.d/ssh restart

5. 確認 SSH 伺服器是否正常運作,並嘗試從 localhost(Ubuntu 虛擬機器)連線至 SSH 伺服器。

ssh user1@127.0.0.1

6. 如果一切正常,您就可以開始在 VirtualBox 中設定端口轉發了。

如您所知,您應該開啟 VM settings 並選取 Network 區段。請選擇已設定為在 NAT 模式,展開 Advanced settings 並點擊 Port Forwarding 按鈕。點擊 + 在虛擬機器(VM)的 VirtualBox 網路設定中,點擊圖示以新增一則新的端口轉發規則。

VirtualBox network settings – configuring port forwarding for the NAT mode

SSH 伺服器預設會監聽第 22 號 TCP 埠。讓我們建立一條規則,將 VirtualBox 主機上 8022 埠的所有連線,轉發至由 SSH 伺服器監聽的 Ubuntu 虛擬機器 22 號埠。首先,您可以建立一條規則,僅允許來自 VirtualBox 主機的連線。

姓名 議程 主機 IP 主機埠 訪客 IP 訪客埠
Ubuntu-SSH TCP 127.0.0.1 8022 10.0.2.15 22

下圖顯示了 VirtualBox 圖形使用者介面中的"端口轉發規則"視窗畫面。

VirtualBox network settings – the SSH port forwarding rule is created

開啟一個 SSH 客戶端(例如, PuTTY (若您使用 Windows)在 VirtualBox 主機上,並透過 8022 號埠連線至 127.0.0.1。

若您建立類似的端口轉發規則,並將 VirtualBox 主機實體網路介面的真實 IP 位址(而非 localhost IP 位址 127.0.0.1)代入其中,則實體網路中的其他主機即可透過 SSH 連線至 VirtualBox 主機的 8022 端口,進而存取 Ubuntu 虛擬機器。 在此範例中,VirtualBox 主機上實體網路介面卡的 IP 位址為 10.10.10.72。

姓名 議程 主機 IP 主機埠 訪客 IP 訪客埠
Ubuntu-SSH TCP 10.10.10.72 8022 10.0.2.15 22

在您的 VirtualBox 主機上,或連接到您區域網路 (LAN) 的另一台主機上,開啟 SSH 客戶端,並連線至 VirtualBox 主機的 IP 位址,埠號為 8022。

範例 2 – HTTP 存取

若您想在虛擬機器上部署網頁伺服器,並讓外部使用者能存取您的網站,您可以新增另一條端口轉發規則。讓我們來探討如何設定這條端口轉發規則,以便從 VirtualBox 主機以及連接到實體區域網路(LAN)的其他電腦,存取部署在 Ubuntu 虛擬機器上的網站。本範例中使用 Apache 作為網頁伺服器。

首先,請在 VirtualBox 上運行的 Ubuntu 虛擬機器中安裝 Apache。

apt-get install apache2

ufw Ubuntu 預設情況下已停用防火牆。若您的 Ubuntu 虛擬機器已啟用防火牆,請確認已允許存取 TCP 80 埠。

安裝 Apache 後,請在您的 Ubuntu 虛擬機器上開啟網頁瀏覽器,並輸入以下網址以存取 Apache 的預設頁面: http://127.0.0.1 在網址列中。如果一切正常,您將會看到 Apache2 Ubuntu default page 在您的網頁瀏覽器中。

這表示您現在可以在 VirtualBox 的網路設定中設定一個端口轉發規則,以便存取您在 Ubuntu 虛擬機器上託管的網站。開啟 Port Forwarding 前往以下位置開啟設定視窗 VM settings > Network > [select your adapter] > Port Forwarding (如上所述)。您可以透過以下步驟新增一則規則:

姓名 議程 主機 IP 主機埠 訪客 IP 訪客埠
Ubuntu-HTTP80 TCP 10.10.10.72 8080 10.0.2.15 80

在主機電腦上,或任何連接到您實體網路的其他電腦上開啟網頁瀏覽器,並輸入您的 VirtualBox 主機電腦的 IP 位址以及上述建立的端口轉發規則中所定義的端口號:

http://10.10.10.72:8080

在這個例子中, 10.10.10.72 是 VirtualBox 主機的 IP 位址,而 8080 是 VirtualBox 主機上正在監聽的 TCP 埠。下圖顯示了成功設定埠轉發的結果。

VirtualBox network settings – the HTTP port forwarding rule has been created successfully

您也可以針對透過 RDP、FTP 及其他通訊協定存取虛擬機器,建立類似的規則。

為虛擬網路介面卡運作於 NAT Network mode 的功能性類似(請參閱上文所述的 NAT Network 本文說明如何查找該裝置的端口轉發設定的位置 NAT Network 模式)。

結論

VirtualBox 是一款功能強大且靈活的虛擬化解決方案,提供豐富的網路設定選項。每台虛擬機器最多可使用八個虛擬網路介面卡,且每個網路介面卡皆可模擬為相應型號的真實 Intel 或 AMD 網路介面控制器 (NIC)。 透過 VirtualBox 的網路介面卡設定,您可以變更每個虛擬 NIC 的 MAC 位址、插拔虛擬網路線,以及選擇網路模式。設定虛擬網路介面卡的網路模式,是 VirtualBox 網路設定中最有趣且重要的環節之一。共有六種網路模式,每種模式皆可應用於不同的使用情境。若要讓網路介面卡運作於特定模式的虛擬機器能接受外部存取,可配置埠轉發功能 NATNAT Network 模式。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read