VirtualBox 可以爲每一個虛擬機分配8個網卡。每一個網卡的連接方式可以選爲下列之一:
- Not attached
- Network Address Translation (NAT)
- Bridged networking
- Host-only networking
- Internal networking
- Generic networking
去掉第一個和最後一個,我們關心的只剩下4個:
(以下假定host在192.168.1.*網段中)
Network Address Translation (NAT)
Host |
192.168.1.3 |
Guest1 |
10.0.2.15 |
Guest2 |
10.0.2.15 |
... |
10.0.2.15 |
NAT是在虛擬機中訪問外部網絡的最簡單的方式,是VirtualBox默認的網絡模式。通常不需要對host和guest進行任何設置。
但由於虛擬機連接到的是VirtualBox內部的私有網絡,使得虛擬機對其他虛擬機、對host以及網絡上的其他計算機都是不可見的。爲了使其某些端口對外部可見,需要使用 port forwarding。
通過VirtualBox界面或命令行,對名爲windowsxp的虛擬機的nat網卡設置一個轉發規則Rule1
VBoxManage modifyvm "windowsxp" --natpf1 "Rule1,tcp,,2222,,22"
格式:
--natpf<1-N> [<name>],tcp|udp,[<hostip>],<hostport>,[<guestip>], <guestport>
Bridged networking
它可以滿足虛擬機中更高級的網絡需求,比如運行servers等。它通過host的網卡,直接連入到host網絡中。因此,虛擬機能被分配到一箇中獨立的IP,所有網絡功能完全和在網絡中的真實機器一樣。
Host |
192.168.1.3 |
Guest1 |
192.168.1.4 |
Guest2 |
192.168.1.5 |
... |
192.168.1.* |
Internal networking
用來創建虛擬機間的網絡,對host以及外部的計算機不可見。
Host |
192.168.1.3 |
Guest1 |
169.254.75.244 |
Guest2 |
169.254.75.245 |
... |
169.254.*.* |
Host-only networking
Host |
192.168.1.3 |
192.168.56.1 |
|
Guest1 |
192.168.56.101 |
Guest2 |
192.168.56.102 |
... |
192.168.56.* |
Host和若干個虛擬機之間的網絡。Host中自動增加一個有點類似於local loopback接口,和Guest位於同一網段。
與外界的網絡絕緣。不能訪問外界網絡,也不能被外部計算機訪問。
其他
由於每個虛擬機都可以設置8個網卡,每個網卡可以選不同的模式,故而可以有各種組合,從而實現各種效果。