天天看點

虛拟機網絡連接配接方式和網絡設定

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

繼續閱讀