VirtualBox中的網絡連接方式詳解


如果出現主機無法ping通虛擬機的情況,請首先確認虛擬機防火牆已關閉。

 

一、NAT模式

特點:

1、如果主機可以上網,虛擬機可以上網

2、虛擬機之間不能ping通

3、虛擬機可以ping通主機(此時ping虛擬機的網關,即是ping主機)

4、主機不能ping通虛擬機

 

應用場景:

虛擬機只要求可以上網,無其它特殊要求,滿足最一般需求

 

配置方法:

連接方式 選擇 網絡地址轉換(NAT)

高級-控制芯片 選擇 PCnet-FAST III

高級-混雜模式 拒絕

高級-接入網線 √

(虛擬機ip自動獲取)

 

ip樣式:

ip 10.0.2.15

網關 10.0.2.2

注意此處的網關在不同虛擬機中可能是同一個值,但是這歸屬於不同的NAT Engine,因此實際上各個虛擬機用的不是同一個網關

 

原理:

虛擬機的請求傳遞給NAT Engine,由它來利用主機進行對外的網絡訪問,返回的數據包再由NAT Engine給虛擬機。

 

 

NAT是VirtualBox為新建虛擬機默認設置的網卡環境。VirtualBox虛擬出一個路由器,為虛擬機中的網卡分配參數:

      IP地址 10.0.2.15

      子網掩碼 255.255.255.0

      廣播地址 10.0.2.255

      默認網關 10.0.2.2

      DNS服務器與主機中的相同

      DHCP服務器 10.0.2.2

  其中10.0.2.2分配給主機,也就是用主機作網關,利用主機的網絡訪問inertnet。虛擬機通過10.0.2.2能訪問主機中搭建的網絡服務,但是主機不能訪問虛擬機中搭建的網絡服務(需要用端口轉接才能訪問)。同時,使用NAT網絡環境的各個虛擬機之間也不能相互訪問,因為它們的IP地址都是10.0.2.15!即使設置在NAT網絡環境中的網卡為手動指定地址!

圖1  NAT網絡環境

 

二、Bridged Adapter模式(橋接模式)

特點:

1、如果主機可以上網,虛擬機可以上網

2、虛擬機之間可以ping通

3、虛擬機可以ping通主機

4、主機可以ping通虛擬機

以上各點基於一個前提:主機可以上網

5、如果主機不可以上網,所有1-4特點均無

 

應用場景:

虛擬機要求可以上網,且虛擬機完全模擬一台實體機

 

配置方法:

連接方式 選擇 橋接網卡

界面名稱 選擇 (如果你的筆記本有無線網卡和有線網卡,需要根據現在的上網方式對應選擇)

高級-控制芯片 選擇 PCnet-FAST III

高級-混雜模式 拒絕

高級-接入網線 √

(虛擬機ip自動獲取)

 

ip樣式:

ip 與本機ip在同一網段內

網關 與本機網關相同

 

原理:

通過主機網卡,架設一條橋,直接連入到網絡中。它使得虛擬機能被分配到一個網絡中獨立的IP,所有網絡功能完全和

在網絡中的真實機器一樣。

(虛擬機是通過主機所在網絡中的DHCP服務得到ip地址的,所以按理來說,兩者是完全獨立的,但事實卻是虛擬機是沒

有獨立硬件的,它還是要依靠主機的網卡,因此,主機要斷開網絡,虛擬機也就沒法拿到ip了,所以呵呵~~所有特點全

消失咯)

 

 Bridged networking網絡環境中的虛擬網卡與主機中的網卡屬於同一個等級,就像真實存在的網卡接入了你主機所在的網絡中一樣。在這種網絡環境中虛擬網卡獲得的參數由主機所在的網絡環境分配,虛擬機與主機之間是否能夠通過網絡相互訪問也由主機所在的網絡環境決定,當然,同時設置了Bridged networking網絡環境的虛擬機之間網絡互訪也由主機所在的網絡環境決定。

                                                   圖2  Bridged網絡環境

 

三、Host-only Adapter模式

特點:

 

1、虛擬機不可以上網

2、虛擬機之間可以ping通

3、虛擬機可以ping通主機(注意虛擬機與主機通信是通過主機的名為VirtualBox Host-Only Network的網卡,因此ip

是該網卡ip 192.168.56.1,而不是你現在正在上網所用的ip)

4、主機可以ping通虛擬機

 

應用場景:

在主機無法上網的情況下(主機可以上網的情況下可以用host-only,也可以用橋接),需要搭建一個模擬局域網,所有機器可以互訪

 

 

配置方法:

連接方式 選擇 僅主機(Host-Only)適配器

界面名稱 選擇 VirtualBox Host-Only Ethernet Adapter

高級-控制芯片 選擇 PCnet-FAST III

高級-混雜模式 拒絕

高級-接入網線 √

(虛擬機ip自動獲取,也可以自己進行配置,網關配置為主機中虛擬網卡的地址【默認為192.168.56.1】,ip配置為與虛擬網卡地址同網段地址)

 

 

ip樣式:

ip 與本機VirtualBox Host-Only Network的網卡ip在同一網段內(默認192.168.56.*)

網關 本機VirtualBox Host-Only Network的網卡ip(默認192.168.56.1)

 

原理:

通過VirtualBox Host-Only Network網卡進行通信,虛擬機以此ip作為網關,因此模擬了一個本機與各個虛擬機的局域網,如名稱所指,

應該是無法上網的(但是有人說可以通過對VirtualBox Host-Only Network網卡進行橋接等操作使虛擬機可以上網,但如此就不如直接

采用橋接來的容易了,而且,呵呵,我沒試成功,有的人也說不可以,因為主機不提供路由服務,我也不好亂說到底行不行,你自己試吧~~)

 

 

Internal networking網絡環境為設置了Internal networking網路環境的各個虛擬網卡提供了一個與主機隔絕的虛擬局域網。在Internal networking中的網卡不能自動獲得任何參數,除非手動設置或者在Internal networking網絡環境中的另一台虛擬機中架設DHCP服務器。在Internal networking中,各個設置為Internal networking網絡環境的虛擬機之間可以任意訪問(虛擬機防火牆允許條件下),但不能訪問主機的網絡服務甚至internet。

                                       圖3  Internal網絡環境

 

四、Internal模式(內網模式)

 

特點:

 

1、虛擬機不可以上網

2、虛擬機之間可以ping通

3、虛擬機不能ping通主機

4、主機不能ping通虛擬機

 

應用場景:

讓各台虛擬機處於隔離的局域網內,只讓它們相互通信,與外界(包括主機)隔絕

 

 

配置方法:

連接方式 選擇 內部網絡

界面名稱 選擇 intnet(可以重新命名,所有放在同一局域網內的虛擬機此名稱相同)

高級-控制芯片 選擇 PCnet-FAST III

高級-混雜模式 拒絕

高級-接入網線 √

(虛擬機ip:對於XP自動獲取ip即可,但對於linux,必須手動配置ip和子網掩碼,手動配置時需保證各個虛擬機ip在同一網段)

 

ip樣式:

ip 169.254.147.9

子網掩碼 255.255.0.0

默認網關 無

 

原理:

各個虛擬機利用VirtualBox內置的DHCP服務器得到ip,數據包傳遞不經過主機所在網絡,因此安全性高,防止外部抓包~

 

默認情況下Host-only networking網絡環境利用VirtualBox虛擬出的DHCP服務器,為在Host-only networking中的虛擬網卡分配參數:

      IP地址 192.168.56.101 --- 254

      子網掩碼 255.255.255.0

      廣播地址 192.168.56.255

      默認網關 無

      DNS服務器 無

      DHCP服務器 192.168.56.100

  其中192.168.56.1分配給主機,主機能ping通各個Host-only networking下的虛擬機,但虛擬機不能ping通主機。在Host-only networking網絡環境中,主機網卡與各個Host-only networking虛擬網卡構成一個局域網,主機能訪問各個虛擬機(虛擬機防火牆允許條件下),各個虛擬機之間也能相互訪問,但各個虛擬機都不能訪問internet。

圖4  Host-only網絡環境

 

圖5  VirtualBox網絡環境綜合應用

 

五、NAT模式+端口映射

將虛擬機某端口映射到主機某端口,可以使主機和外部機器訪問虛擬機提供的服務哦~~

命令如下:

(在命令行模式下,先到VirtualBox的安裝目錄下面,否則找不到命令)

 

vboxmanage setextradata "VBoxInternal/Devices/pcnet/0/LUN#0/Config//Protocol" TCP

vboxmanage setextradata "VBoxInternal/Devices/pcnet/0/LUN#0/Config//GuestPort" 80

vboxmanage setextradata "VBoxInternal/Devices/pcnet/0/LUN#0/Config//HostPort" 8000
 

NAT網絡環境下主機訪問虛擬機端口轉接:

cd  %VBOX_INSTALL_PATH%

將主機8080端口的tcp連接轉接到指定虛擬機的8000端口

VboxManagemodifyvm"VMname"—natpf1"linkName,tcp,,8080,,8000"

[參]:VirtualBox® User Manual Version 3.2.10 Edition

--------------------- 本文來自 勉旃 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/yushupan/article/details/78404395?utm_source=copy 

 

轉自:http://blog.csdn.net/niqinwen/article/details/11761487

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM