VirtualBox的四種網絡鏈接方式

VirtualBox中有4中網絡鏈接方式:
a. NAT                          網絡地址轉換模式(Network Address Translation)
b. Bridged Adapter        橋接模式
c. Internal                     內部網絡模式
d. Host-only Adapter     主機模式php

VMWare中有三種,其實他跟VMWare 的網絡鏈接方式都是同樣概念,只是比VMWare多了Internal方式。html

要讓本身(或別人)理解深入,方法就是作比較和打比方,比較之間的不一樣和相同,拿熟知的事物打比方。先來一張圖,經過這張圖就很容易看出這4種方式的區別:mysql

 

1、四種模式介紹web

一、NATsql

NAT:Network Address Translation,網絡地址轉換數據庫

NAT模式是最簡單的實現虛擬機上網的方式,你能夠這樣理解:apache

Guest訪問網絡的全部數據都是由主機提供的,Guest並不真實存在於網絡中,主機與網絡中的任何機器都不能查看和訪問到Guest的存在。服務器

Guest能夠訪問主機能訪問到的全部網絡,可是對於主機以及主機網絡上的其餘機器,Guest又是不可見的,甚至主機也訪問不到Guest。網絡

虛擬機與主機的關係:只能單向訪問,虛擬機能夠經過網絡訪問到主機,主機沒法經過網絡訪問到虛擬機。
虛擬機與網絡中其餘主機的關係:只能單向訪問,虛擬機能夠訪問到網絡中其餘主機,其餘主機不能經過網絡訪問到虛擬機。
虛擬機與虛擬機的關係:相互不能訪問,虛擬機與虛擬機各自徹底獨立,相互間沒法經過網絡訪問彼此。less

IP:10.0.2.15
網關:10.0.2.2
DNS:10.0.2.3
一臺虛擬機的多個網卡能夠被設定使用 NAT, 第一個網卡鏈接了到專用網 10.0.2.0,第二個網卡鏈接到專用網絡 10.0.3.0,等等。默認獲得的客戶端ip(IP Address)是10.0.2.15,網關(Gateway)是10.0.2.2,域名服務器(DNS)是10.0.2.3,能夠手動參考這個進行修 改。
NAT方案優缺點:
筆記本已插網線時:虛擬機能夠訪問主機,虛擬機能夠訪問互聯網,在作了端口映射後(最後有說明),主機能夠訪問虛擬機上的服務(如數據庫)。
筆記本沒插網線時:主機的「本地鏈接」有紅叉的,虛擬機能夠訪問主機,虛擬機不能夠訪問互聯網,在作了端口映射後,主機能夠訪問虛擬機上的服務(如數據庫)

二、Bridged Adapter(網橋模式)

網橋模式,你能夠這樣理解:

它是經過主機網卡,架設了一條橋,直接連入到網絡中了。所以,它使得虛擬機能被分配到一個網絡中獨立的IP,全部網絡功能徹底和在網絡中的真實機器同樣。

網橋模式下的虛擬機,你把它認爲是真實計算機就好了。

虛擬機與主機的關係:能夠相互訪問,由於虛擬機在真實網絡段中有獨立IP,主機與虛擬機處於同一網絡段中,彼此能夠經過各自IP相互訪問。
虛擬機於網絡中其餘主機的關係:能夠相互訪問,一樣由於虛擬機在真實網絡段中有獨立IP,虛擬機與全部網絡其餘主機處於同一網絡段中,彼此能夠經過各自IP相互訪問。
虛擬機與虛擬機的關係:能夠相互訪問,緣由同上。

IP:通常是DHCP分配的,與主機的「本地鏈接」的IP 是同一網段的。虛擬機就能與主機互相通訊。
筆記本已插網線時:(若網絡中有DHCP服務器)主機與虛擬機會經過DHCP分別獲得一個IP,這兩個IP在同一網段。 主機與虛擬機能夠ping通,虛擬機能夠上互聯網。
筆記本沒插網線時:主機與虛擬機不能通訊。主機的「本地鏈接」有紅叉,就不能手工指定IP。虛擬機也不能經過DHCP獲得IP地址,手工指定IP後,也沒法與主機通訊,由於主機無IP。
這時主機的VirtualBox Host-Only Network 網卡是有ip的,192.168.56.1。虛擬機就算手工指定了IP 192.168.56.*,也ping不能主機。

 

三、Internal(內網模式)

內網模式,顧名思義就是內部網絡模式:

虛擬機與外網徹底斷開,只實現虛擬機於虛擬機之間的內部網絡模式。

虛擬機與主機的關係:不能相互訪問,彼此不屬於同一個網絡,沒法相互訪問。
虛擬機與網絡中其餘主機的關係:不能相互訪問,理由同上。
虛擬機與虛擬機的關係:能夠相互訪問,前提是在設置網絡時,兩臺虛擬機設置同一網絡名稱。如上配置圖中,名稱爲intnet。

IP:VirtualBox的DHCP服務器會爲它分配IP ,通常獲得的是192.168.56.101,由於是從101起分的,也可手工指定192.168.56.*。
筆記本已插網線時:虛擬機能夠與主機的VirtualBox Host-Only Network 網卡通訊
這種方案不受主機本地鏈接(網卡)是否有紅叉的影響。
 

四、Host-only Adapter(主機模式)

主機模式,這是一種比較複雜的模式,須要有比較紮實的網絡基礎知識才能玩轉。能夠說前面幾種模式所實現的功能,在這種模式下,經過虛擬機及網卡的設置均可以被實現。

咱們能夠理解爲Guest在主機中模擬出一張專供虛擬機使用的網卡,全部虛擬機都是鏈接到該網卡上的,咱們能夠經過設置這張網卡來實現上網及其餘不少功能,好比(網卡共享、網卡橋接等)。

虛擬機與主機的關係:默認不能相互訪問,雙方不屬於同一IP段,host-only網卡默認IP段爲192.168.56.X 子網掩碼爲255.255.255.0,後面的虛擬機被分配到的也都是這個網段。經過網卡共享、網卡橋接等,能夠實現虛擬機於主機相互訪問。
虛擬機與網絡主機的關係:默認不能相互訪問,緣由同上,經過設置,能夠實現相互訪問。
虛擬機與虛擬機的關係:默承認以相互訪問,都是同處於一個網段。

虛擬機訪問主機,用的是主機的VirtualBox Host-Only Network網卡的IP:192.168.56.1  ,無論主機「本地鏈接」有無紅叉,永遠通。
主機訪問虛擬機,用是的虛擬機的網卡3的IP: 192.168.56.101  ,無論主機「本地鏈接」有無紅叉,永遠通。
虛擬機訪問互聯網,用的是本身的網卡2, 這時主機要能經過「本地鏈接」有線上網,(無線網卡不行)


補充:

我剛裝上VirtualBox的時候全部的網絡鏈接方式都試過了,但虛擬機和虛擬機之間就是不能相互訪問,Ping都Ping不通,我在想難道VirtualBox的網絡設置有這麼複雜嗎,後來想到是否是Windows XP的防火牆的問題,關閉之,一切就正常了!

 

2、靈活應用(模擬出來一個一臺主機,監控一個局域網上網狀況的網絡環境)

經過對以上幾種網絡模式的瞭解,咱們就能夠靈活運用,模擬組建出咱們所想要的任何一種網絡環境了。

首先我開啓了兩臺虛擬機vhost1與vhost2,固然若是硬件容許,我一樣能夠再增長vhost三、vhost4......
全部的vhost我都設置成internat內網模式,網絡名稱爲intnal, 網關爲192.168.56.100,意思就是經過 192.168.56.100網卡上網
其中有一臺vhost1我設置爲雙網卡,一張爲內網模式(192.168.56.100),一張爲網橋模式 (192.168.1.101)。
兩張網卡設置雙網卡共享上網,虛擬機之間爲局域網,其中有一臺虛擬機vhost1經過與外網相連,全部局域網中的虛擬機又經過vhost1來實現上外網。
這樣vhost1就能夠監控整個虛擬機局域網上網狀況了。

 

3、NAT 設置端口映射

你能夠設置一個虛擬機的服務(好比 WEB 服務),經過使用命令行工具 VboxManage 代理。你須要知道虛擬機的服務使用哪一個端口,而後決定在主機上使用哪一個端口(一般但不老是想要使虛擬機和主機使用同一個端口)。在主機上提供一個服務須要 使用一個端口,你能使用在主機上沒有準備用來提供服務的任何端口。一個怎樣設置新的 NAT 例子,在虛擬機上鍊接到一個 ssh 服務器,須要下面的三個命令:
VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol' TCP
VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort' 22
VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort' 2222
說明:VboxManage 是一個命令行程序,請查詢你的 VirtualBox 安裝目錄,'Linux Guest' 是虛擬主機名。guestssh 是一個自定義的名稱,你能夠任意設置,經過上面的三個命令,把虛擬機的 22 端口 轉發到主機的 2222 端口。
又好比,我在虛擬機 debian 上安裝了 apache2 服務器,使用 80 端口,映射到主機的 80 端口。使用下面的命令。
'C:/Program Files/innotek VirtualBox/VBoxManage.exe' setextradata 'debian' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/Protocol' TCP
'C:/Program Files/innotek VirtualBox/VBoxManage.exe' setextradata 'debian' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/GuestPort' 80
'C:/Program Files/innotek VirtualBox/VBoxManage.exe' setextradata 'debian' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/HostPort' 80
注意:要使設置生效,請關掉 VirtualBox 再運行虛擬機,我把 VirtualBox 安裝在 winxp 上,在虛擬機中安裝 debian 4.02r ,虛擬機名是 debian ,並安裝了 apache2 php5 mysql-server ,在主機上用IE瀏覽 http://localhost,成功轉發到虛擬機 debian 的 apache2 web 服務器上。
 
4、圖解

NAT
這種方式下,虛擬機的網卡 鏈接到宿主的 VMnet8 上。此時系統的 VMWare NAT Service 服務就充當了路由器的做用,負責將虛擬機發到 VMnet8 的包進行地址轉換以後發到實際的網絡上,再將實際網絡上返回的包進行地址轉換後經過 VMnet8 發送給虛擬機。VMWare DHCP Service 負責爲虛擬機提供 DHCP 服務。

vmware中的網絡(bridge,nat) - undemon - 對本身的最佳確定就是對本身的不斷否認
Bridged
這種方式下,虛擬機就像一臺真正的計算機同樣,直接鏈接到實際的網絡上,與宿主機沒有任何聯繫。

vmware中的網絡(bridge,nat) - undemon - 對本身的最佳確定就是對本身的不斷否認
Host-only
這種方式下,虛擬機的網卡鏈接到宿主的 VMnet1 上,但系統並不爲虛擬機提供任何路由服務,所以虛擬機只能和宿主機進行通訊,而不能鏈接到實際網絡上。

vmware中的網絡(bridge,nat) - undemon - 對本身的最佳確定就是對本身的不斷否認

 

replicate physical network connection state 選項解釋:

Select if the virtual machine uses a bridged network connection and if you use the virtual machine on a laptop or other mobile device. As you move from one wired or wireless network to another, the IP address is automatically renewed.

單機多網卡或者筆記本和移動設備使用虛擬機時,當在有線網絡和無線網絡切換時,勾選了Replicate physical network connection state,虛擬機網卡的ip地址會自動更新,不須要從新設置。

 
 
5、VirtualBox配置雙網卡,實現內外網絡互訪問
 
環境:
宿主機操做系統            Windows XP sp3
虛擬機軟件                  VirtualBox
虛擬機操做系統            Fedora(Linux)

一、使虛擬電腦Fedora可以上網
原理:
NAT(網絡地址轉換模式)
  使用NAT模式,就是讓虛擬系統藉助NAT(網絡地址轉換)功能,經過宿主機器所在的網絡來訪問公網。也就是說,使用NAT模式能夠實如今虛擬系統裏訪問互聯網。NAT模式下的虛擬系統的TCP/IP配置信息是由VMnet8(NAT)虛擬網絡的DHCP服務器提供的,沒法進行手工修改,所以虛擬系統也就沒法和本局域網中的其餘真實主機進行通信。採用NAT模式最大的優點是虛擬系統接入互聯網很是簡單,你不須要進行任何其餘的配置,只須要宿主機器能訪問互聯網便可。
  若是你想利用VMWare安裝一個新的虛擬系統,在虛擬系統中不用進行任何手工配置就能直接訪問互聯網,建議你採用NAT模式。
 
步驟:
在VirtualBox中設置網絡鏈接,啓用NAT鏈接模式。
 

 
啓動Fedora,發現網絡成功鏈接上了,運行FireFox,能夠成功登錄Fedora網頁。 


 
這裏咱們查看一下Fedora的IP和Windows的網絡配置,而且互相ping。
 

 
Fedora能夠ping到Windows

 
可是Windows不能ping到Fedora
這個也好理解,由於NAT的網絡鏈接模式就是虛擬機經過宿主機的網絡來訪問互聯網,那麼虛擬機固然知道宿主機的網絡地址。可是反過來,Windows就不清楚到達10.0.2.15地址要如何通過路由了。
在這裏要注意一下,Fedora的IP地址10.0.2.5是經過DHCP自動分配的。
 
 
二、使虛擬電腦Fedora可以與宿主機互聯
這一部分的目標就是實現Windows可以ping通Fedora。
 
原理:
bridged(橋接模式)
  在這種模式下,VirtualBox虛擬出來的操做系統就像是局域網中的一臺獨立的主機,它能夠訪問網內任何一臺機器。在橋接模式下,你須要手工爲虛擬系統配置IP地址、子網掩碼,並且還要和宿主機器處於同一網段,這樣虛擬系統才能和宿主機器進行通訊。同時,因爲這個虛擬系統是局域網中的一個獨立的主機系統,那麼就能夠手工配置它的TCP/IP配置信息,以實現經過局域網的網關或路由器訪問互聯網。
 
使用橋接模式的虛擬系統和宿主機器的關係,就像鏈接在同一個Hub上的兩臺電腦。想讓它們相互通信,你就須要爲虛擬系統配置IP地址和子網掩碼,不然就沒法通訊。
若是你想利用VirtualBox在局域網內新建一個虛擬服務器,爲局域網用戶提供網絡服務,就應該選擇橋接模式。
 
步驟:
在VirtualBox中設置網絡鏈接,開啓Bridge Adapter鏈接模式

 
啓動Fedora,發現多了一個未配置的網卡eht1
 

 
爲該網卡添加一個網絡配置,手動輸入IP地址、子網掩碼和網關(與宿主機要在同一網段)


 
設置好後查看網絡信息,並ping宿主機(這個在上一部分就實現了)
 

 
宿主機ping虛擬機

 
成功ping通
 
三、補充:第三種鏈接方式
在這裏必須提一點,就是若是172.16.35.237這個IP地址已經被其餘計算機使用怎麼辦,爲了解決這種IP地址衝突的狀況,咱們來進一步瞭解host-only鏈接模式。
 
原理:
host-only(主機模式)
      在某些特殊的網絡調試環境中,要求將真實環境和虛擬環境隔離開,這時你就可採用host-only模式。在host-only模式中,全部的虛擬系統是能夠相互通訊的,但虛擬系統和真實的網絡是被隔離開的。  
 
提示:
在host-only模式下,虛擬系統和宿主機器系統是能夠相互通訊的,至關於這兩臺機器經過雙絞線互連。
在host-only模式下,虛擬系統的TCP/IP配置信息(如IP地址、網關地址、DNS服務器等),都是由VMnet1(host-only)虛擬網絡的DHCP服務器來動態分配的。
若是你想利用VirtualBox建立一個與網內其餘機器相隔離的虛擬系統,進行某些特殊的網絡調試工做,能夠選擇host-only模式。
 
步驟:
在VirtualBox中設置網絡鏈接,啓用host-only鏈接模式。
 

 
啓動Fedora,發現多了一個已配置的網卡eht2

 
由於eth1和eth2的IP地址都是172.16.35.237,在Windows端ping的時候是不會成功的。它搞不清楚是哪一個了。

 
如今爲該網卡添加一個網絡配置,設置在和VirtualBox的網關192.168.56.1保持一致的網段。


 
弄好後的網絡配置信息爲:
 
設置好後,能夠在Windows端ping地址172.16.35.237又成功了。再ping新的IP地址也成功了。
 
 
小提示:
在Fedora窗口界面進行網絡配置的添加或刪除時,可能系統並無及時更新網絡配置信息,能夠在終端使用命令/etc/rc.d/init.d/network restart來重啓網絡鏈接。
 
 

轉載:http://penpenguanguan.com/997.html        http://blog.csdn.net/wyzxk888/article/details/5992443        http://www.2cto.com/os/201205/133370.html

相關文章
相關標籤/搜索