橋接網路在 Virtualbox 中如何運作?

橋接網路在 Virtualbox 中如何運作?

橋接網路如何運作?

我瀏覽了 VirtualBox 手冊,但沒有發現任何非常技術性的內容(這只是對主題的一般性掩飾)。

  • 它如何為虛擬機器分配不同的IP但使用相同的網路卡?
  • 為什麼這個不同的 IP(我發現ip addr在 Linux 下使用)沒有顯示在路由器的「附加裝置部分」下,但我可以連接埠轉送到它?
  • 為什麼我連接到受密碼保護的 WiFi 網路時不需要輸入密碼?
  • 這是多宿主嗎?

答案1

來自 VirtualBox 手冊第 6 章虛擬網路部分橋接網路:

透過橋接網絡,VirtualBox 使用主機系統上的裝置驅動程式來過濾來自實體網路適配器的資料。因此,該驅動程式被稱為“網路過濾器”驅動程式。這使得 VirtualBox 能夠攔截來自實體網路的資料並將資料注入其中,從而有效地在軟體中建立新的網路介面。當訪客使用這種新的軟體介面時,在主機系統看來,訪客就像使用網路電纜實體連接到該介面:主機可以透過該介面向訪客發送資料並從其接收資料。這表示您可以在訪客和網路的其餘部分之間設定路由或橋接。

來自維基百科橋接(網路):

網橋是一種連接多個網段的網路設備。在 OSI 模型中,橋接作用在前兩層,在網路層之下。

我對這些網路層級的工作沒有個人知識,但從上面看來,VirtualBox 和其他虛擬管理器使用系統驅動程式將套件注入網路並假裝是實體適配器。

由於所有包都發送到所有網絡,因此每個設備僅讀取標有其地址的包(除非嗅探),虛擬驅動程式只是用自己的虛擬驅動程式註入包MAC位址並且回應發送到該 MAC 位址的封包,即使實體上不存在此類適配器。

這是在網路模型的足夠低的層級上完成的,因此主機不會對較高層級上的這些訊息做出反應,因為它們標記有與主機不同的 MAC 位址。

這與駭客使用的技術完全相同欺騙攻擊 使用IP位址欺騙

虛擬MAC位址是由虛擬機器管理器發明的,或可以隨時指定或變更。它可以是任何不與本地網路上其他裝置重複的合法 MAC 位址。

IP 位址由 DHCP 伺服器(通常是路由器)指派給該虛擬適配器,就像指派給任何其他實體裝置一樣。

無需輸入密碼即可連接到受密碼保護的 WiFi 網路的原因更令人費解,但我推測 VirtualBox 驅動程式找到並使用了登入網路時返回給主機的令牌。這也可以解釋為什麼它沒有顯示在路由器的「連接設備部分」下,因為它從未正式連接到網路。轉送仍然有效,因為路由器只是將封包重新傳送到轉送的位址,而 VirtualBox 驅動程式會應答。

最後,這不是多宿主,這是一台運行一個作業系統的計算機,透過多個適配器擁有多個 IP 位址,所有這些位址都是該作業系統已知的。

有關更多信息,請參閱 Wikipedia 文章有關開放系統互連模型,特別是關於 OSI 層。

答案2

橋接網路的工作原理是,無論您使用什麼軟體來虛擬化計算機,都會建立一個供該虛擬機使用的介面。在這種情況下是分享您的主機網路適配器和軟體可作為硬體和虛擬網路適配器之間的介面。

現在我們知道兩者都使用相同的網路適配器,我們可以假設它們的行為方式一致。如果您的主機使用 DHCP 來擷取 IP 位址,那麼您的虛擬機器也能夠執行相同的操作。如果是靜態設定的話,依此類推。

如果您在路由器中尋找 DHCP 租用表,它將顯示這兩個裝置。從路由器的角度來看,它們是兩種不同的設備。根據我的理解,如果您在 LAN 上使用 ARP,您應該將這兩個裝置視為唯一的。任何發送到虛擬機器的封包都不應該到達主機的 IP 堆疊。

相關內容