虛擬機網絡配置詳解(NAT、橋接、Hostonly)
VirtualBox中有四種網絡連接方式:
- NAT
- Bridged Adapter
- Internal
- Host-only Adapter
VMWare中有三種,其實它跟VMWare的網絡連接方式都是一樣的概念,只是比VMWare多了Internal方式
在介紹四種工作模式之前,先說下虛擬網卡,虛擬機安裝好之後,會自動添加兩張網卡(VMnet1和VMnet8),VMnet1用戶Host-only網絡連接,VMnet8用NAT方式的網絡連接,原先的VMnet0用橋接網絡連接
1.Bridged 橋接模式
1.1 特點
虛擬機和主機是處於同等地位的機器,所以網絡功能也無異於主機。並且和主機處於同一網段。
1.2 原理
橋接模式,使用的是VMnet0虛擬網卡。
vmnet0實際上就是一個虛擬的網橋(2層交換機),這個網橋有若幹個接口,一個端口用於連接你的Host主機,其余端口可以用於連接虛擬機,他們的位置是對等的,誰也不是誰的網關。所以橋接模式下,虛擬機和Host主機是同等地位的主機。
1.3 示例圖
主機A上的兩個虛擬機1和虛擬機2,和主機A、B同處於一個網段,能夠相互通信
橋接模式1.4 配置
虛擬機1的配置:
DEVICE="eth0" BOOTPROTO=“static" #設置靜態ip,動態為dhcp IPADDR="192.168.1.3" GATEWAY="192.168.1.1" HWADDR="08:00:27:C7:1B:22" DNS1="8.8.8.8" NETMASK="255.255.255.0" ONBOOT="yes"
2.Host-only模式
2.1 特點
只能和主機相互通信,不能上網,也不能訪問其他主機,用於建立與外部隔離的網絡環境
2.2 原理
Host-only模式使用的是VMnet1網卡。
這種方式下,虛擬機連接到VMnet1上,但系統並不為其提供任何路由服務,因此虛擬機只能和宿主機進行通信,而不能連接到真正的網絡上。
2.3 示例圖
虛擬機1和2之間可以相互通信,主機A能和虛擬機1和2通信,虛擬機1和2不能和主機通信(需要設置),虛擬機不能和B主機以及外網通信
Hostonly模式2.4 配置
虛擬機1的配置:
DEVICE="eth0"
BOOTPROTO=“static" #設置靜態ip,動態為dhcp
IPADDR="192.168.56.3"
HWADDR="08:00:27:C7:1B:22"
NETMASK="255.255.255.0"
ONBOOT="yes"
3.NAT
3.1 特點
- 主機ping不通虛擬機(包括宿主)
- 同一宿主的虛擬機可以相互ping通
- 宿主能夠聯網,虛擬機也能聯網(其他主機)。宿主沒有聯網,虛擬機也不能聯網
- 虛擬機能夠ping通主機
其他主機不能訪問虛擬機
3.2 原理
網絡地址轉換類似於家庭路由器的方式工作。使用NAT模式,就是讓虛擬系統借助NAT(網路地址轉換)功能,通過宿主機器所在的網絡來訪問公網。
其實就是虛擬機的網卡連接到宿主的VMnet8虛擬機交換機上,VMnet8充當了路由器的作用,負責將虛擬機轉發到VMnet8的包進行地址轉換之後發送到實際的網絡中,再降實際網絡上返回的包進行地址轉換後通過VMnet8發送給虛擬機。
其實相比Host-only模式只不過增加一層路由功能。
註意:
看VirtualBox官方文檔,如果VMnet8網卡地址段是10.0.2.0/8 那麽默認網關是10.0.2.1,而且我這樣配置也對。但是看網上VMVare使用的網關都是10.0.2.2,沒有看VMVare官方文檔,也不清楚,希望知道的同學告知一下。
3.3 示例圖
主機A和虛擬機1和2能相互通信,虛擬機1和2能訪問主機B和外網,主機B不能訪問虛擬機1和2,虛擬機1和2能相互通信
NAT模式3.4 配置
虛擬機1的配置:
DEVICE="eth0"
BOOTPROTO=“static" #設置靜態ip,動態為dhcp
IPADDR="10.0.2.5"
GATEWAY="10.0.2.1"
HWADDR="08:00:27:C7:1B:22"
DNS1="10.0.2.1"
NETMASK="255.255.255.0"
ONBOOT="yes"
4.內部網絡
內部網絡類似於橋接網絡,虛擬機可以直接與外部通信。但是外部僅限於連接到統一主機上的其他虛擬機。
即使在技術上,使用內部網絡可以完成的一切也可以使用橋接網絡,內部網絡有安全優勢。在橋接網絡模式下,所有流量都通過主機系統的物理接口。
默認不分配IP,需要自己手動設置。
參考:
【1】虛擬機網絡拓撲http://wangchunhai.blog.51cto.com/225186/381225/
【2】http://blog.csdn.net/clevercode/article/details/45934233
虛擬機網絡配置詳解(NAT、橋接、Hostonly)