天天看點

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的存在。

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

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

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

筆記本已插網線時: 虛拟機可以通路主機,虛拟機可以通路網際網路,在做了端口映射後(最後有說明),主機可以通路虛拟機上的服務(如資料庫)。。

筆記本沒插網線時: 主機的“本地連接配接”有紅叉的,虛拟機可以通路主機,虛拟機不可以通路網際網路,在做了端口映射後,主機可以通路虛拟機上的服務(如資料庫)。

第二種 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      

繼續閱讀