1. 程式人生 > >VirtualBox中的網路連線方式詳解

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