1. 程式人生 > >vbox中如何設定兩個虛擬機器之間的通訊

vbox中如何設定兩個虛擬機器之間的通訊



第四種 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 設定埠對映
h
tt
p://huzhangsheng.blog.163.com/blog/static/34787784200802801435931/
你可以設定一個虛擬機器的服務(比如 WEB  服務),通過使用命令列工具 VboxManage 代理。你需要知道虛擬機器的服務使用哪個埠,然後決定在主機上使用哪個埠(通常但不總是想要使虛擬機器和主機使用同一個埠)。在主機上提供一個服務需要使用一個埠,你能使用在主機上沒有準備用來提供服務的任何埠。一個怎樣設定新的 NAT 例子,在虛擬機器上連線到一個 ssh 伺服器,需要下面的三個命令:
VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Conf
ig
/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/Conf
ig
/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 伺服器上