VirtualBox虛擬機網絡環境解析和搭建-NAT、橋接、Host-Only、Internal、端口映射



   最近用虛擬機偶爾遇到無法上網的情況,搞好了有時又會出現網絡故障令人煩躁,這是我從網上找的一個博客內容,寫的還不錯,希望能幫到大家。

本文以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給虛擬機。






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


特點:

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

2、虛擬機之間可以ping通

3、虛擬機可以ping通主機

4、主機可以ping通虛擬機

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

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


應用場景:

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


配置方法:

連接方式 選擇 橋接網卡

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

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

高級-混雜模式 拒絕

高級-接入網線 √

(虛擬機ip自動獲取)


ip樣式:

ip 與本機ip在同一網段內

網關 與本機網關相同


原理:

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

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

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

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

消失咯)







三、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模式(內網模式)


特點:

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,數據包傳遞不經過主機所在網絡,因此安全性高,防止外部抓包~






五、NAT模式+端口映射


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

命令如下:

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

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/Protocol" TCP

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/GuestPort" 80

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/HostPort" 8000




本文轉載自:http://blog.csdn.net/yxc135/article/details/8458939



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章