天天看點

VirtualBox虛拟機網絡設定

virtualbox是一款sun出品的非常優秀的虛拟機程式,版本也非常齊全,你可以在官網上找到适合各種作業系統平台的版本。

這裡我先給大家大緻講解下vbox的網絡配置及應用。

virtualbox的提供了四種網絡Access模式,它們分别是:

1、nat    網絡位址轉換模式(nat,network address translation)

2、bridged adapter    橋接模式

3、internal    内部網絡模式

4、host-only adapter  主機模式

下面我們分别對這四種網絡模式進行分析解釋:

第一種 nat模式

解釋:

nat模式是最簡單的實作虛拟機上網的方式,你可以這樣了解:vhost通路網絡的所有資料都是由主機提供的,vhost并不真實存在于網絡中,主機與網絡中的任何機器都不能檢視和通路到vhost的存在。

虛拟機與主機關系:

隻能單向通路,虛拟機可以通過網絡通路到主機,主機無法通過網絡通路到虛拟機。

虛拟機與網絡中其他主機的關系:

隻能單向通路,虛拟機可以通路到網絡中其他主機,其他主機不能通過網絡通路到虛拟機。

虛拟機與虛拟機之間的關系:

互相不能通路,虛拟機與虛拟機各自完全獨立,互相間無法通過網絡通路彼此。

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模式

主機模式,這是一種比較複雜的模式,需要有比較紮實的網絡基礎知識才能玩轉。可以說前面幾種模式所實作的功能,在這種模式下,通過虛拟機及網卡的設定都可以被實作。

我們可以了解為vbox在主機中模拟出一張專供虛拟機使用的網卡,所有虛拟機都是連接配接到該網卡上的,我們可以通過設定這張網卡來實作上網及其他很多功能,比如(網卡共享、網卡橋接等)。

虛拟機與主機關系

預設不能互相通路,雙方不屬于同一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, 這時主機要能通過“本地連接配接”有線上網,(無線網卡不行)

通過對以上幾種網絡模式的了解,我們就可以靈活運用,模拟組建出我們所想要的任何一種網絡環境了。

比如我想模拟出來一個一台主機,監控一個區域網路上網情況的網絡環境。

首先我開啟了兩台虛拟機vhost1與vhost2,當然如果硬體允許,我同樣可以再增加vhost3、vhost4…

所有的vhost我都設定成internat内網模式,網絡名稱為intnal,網關為192.168.56.100,意思就是通過 192.168.56.100網卡上網。其中有一台vhost1我設定為雙網卡,一張為内網模式(192.168.56.100),一張為網橋模式 (192.168.1.101)。兩張網卡設定雙網卡共享上網

虛拟機之間為區域網路,其中有一台虛拟機vhost1通過與外網相連,所有區域網路中的虛拟機又通過vhost1來實作上外網。這樣vhost1就可以監控整個虛拟機區域網路上網情況了。

nat 設定端口映射

http://huzhangsheng.blog.163.com/blog/static/34787784200802801435931/

你可以設定一個虛拟機的服務(比如 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 伺服器上