原文地址:http://liblog.littleyuan.com/archives/9
在說到VMware的網(wǎng)絡(luò)模型之前,先說一下VMware的幾個(gè)虛擬設(shè)備:
VMnet0:這是VMware用于虛擬橋接網(wǎng)絡(luò)下的虛擬交換機(jī);
VMnet1:這是VMware用于虛擬Host-Only網(wǎng)絡(luò)下的虛擬交換機(jī);
VMnet8:這是VMware用于虛擬NAT網(wǎng)絡(luò)下的虛擬交換機(jī);
VMware Network Adapter VMnet1:這是Host用于與Host-Only虛擬網(wǎng)絡(luò)進(jìn)行通信的虛擬網(wǎng)卡;
VMware Network Adapter VMnet8:這是Host用于與NAT虛擬網(wǎng)絡(luò)進(jìn)行通信的虛擬網(wǎng)卡;
一、橋接網(wǎng)絡(luò):
在橋接模式下,VMware虛擬出來(lái)的操作系統(tǒng)就像是局域網(wǎng)中的一獨(dú)立的主機(jī),它可以訪問網(wǎng)內(nèi)任何一臺(tái)機(jī)器。不過你需要多于一個(gè)的IP地址,并且需要手工 為虛擬系統(tǒng)配置IP地址、子網(wǎng)掩碼,而且還要和宿主機(jī)器處于同一網(wǎng)段,這樣虛擬系統(tǒng)才能和宿主機(jī)器進(jìn)行通信。 如果你想利用VMware在局域網(wǎng)內(nèi)新建一個(gè)虛擬服務(wù)器,為局域網(wǎng)用戶提供網(wǎng)絡(luò)服務(wù),就應(yīng)該選擇橋接模式。
可將虛擬機(jī)模擬接入主機(jī)所在的局域網(wǎng)。
二、nat網(wǎng)絡(luò):
在NAT網(wǎng)絡(luò)中,會(huì)使用到VMnet8虛擬交換機(jī),Host上的VMware Network Adapter VMnet8虛擬網(wǎng)卡被連接到VMnet8交換機(jī)上,來(lái)與Guest進(jìn)行通信,但是VMware Network Adapter VMnet8虛擬網(wǎng)卡僅僅是用于和VMnet8網(wǎng)段通信用的,它并不為VMnet8網(wǎng)段提供路由功能,處于虛擬NAT網(wǎng)絡(luò)下的Guest是使用虛擬的 NAT服務(wù)器連接的Internet的。
這時(shí)候,你的Guest和Host就可以實(shí)現(xiàn)互訪了,并且如果你的Host此時(shí)已經(jīng)連接到了Internet,那么你的Guest 也就可以連上Internet了。那么VMware Network Adapter VMnet8虛擬網(wǎng)卡在這里扮演了一個(gè)什么角色呢?它僅僅是為Host和NAT虛擬網(wǎng)絡(luò)下的Guest通信提供一個(gè)接口,所以,即便Disable掉這塊 虛擬網(wǎng)卡,Guest仍然是可以上網(wǎng)的,只是Host無(wú)法再訪問VMnet8網(wǎng)段而已。
這種方式的時(shí)候,主機(jī)需要開啟vmdhcp和vmnat服務(wù)。
使用NAT模式,就是讓虛擬系統(tǒng)借助NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)功能,通過宿主機(jī)器所在的網(wǎng)絡(luò)來(lái)訪問公網(wǎng)。也就是說,使用NAT模式可以實(shí)現(xiàn)在虛擬系統(tǒng)里訪問 互聯(lián)網(wǎng)。NAT模式下的虛擬系統(tǒng)的TCP/IP配置信息是由VMnet8(NAT)虛擬網(wǎng)絡(luò)的DHCP服務(wù)器提供的,無(wú)法進(jìn)行手工修改,因此虛擬系統(tǒng)也就 無(wú)法和本局域網(wǎng)中的其他真實(shí)主機(jī)進(jìn)行通訊。采用NAT模式最大的優(yōu)勢(shì)是虛擬系統(tǒng)接入互聯(lián)網(wǎng)非常簡(jiǎn)單,你不需要進(jìn)行任何其他的配置,只需要宿主機(jī)器能訪問互 聯(lián)網(wǎng)即可。 如果你想利用VMware安裝一個(gè)新的虛擬系統(tǒng),在虛擬系統(tǒng)中不用進(jìn)行任何手工配置就能直接訪問互聯(lián)網(wǎng),建議你采用NAT模式。
三、host-only
在某些特殊的網(wǎng)絡(luò)調(diào)試環(huán)境中,要求將真實(shí)環(huán)境和虛擬環(huán)境隔離開,這時(shí)你就可采用Host-only模式。在Host-only模式中,所有的虛擬系統(tǒng)是可 以相互通信的,但虛擬系統(tǒng)和真實(shí)的網(wǎng)絡(luò)是被隔離開的??梢岳肳indows XP里面自帶的Internet連接共享(實(shí)際上是一個(gè)簡(jiǎn)單的路由NAT)來(lái)讓虛擬機(jī) 通過主機(jī)真實(shí)的網(wǎng)卡進(jìn)行外網(wǎng)的訪問。虛擬系統(tǒng)的TCP/IP配置信息(如IP地址、網(wǎng)關(guān)地址、DNS服務(wù)器等),都是由VMnet1(Host- only)虛擬網(wǎng)絡(luò)的DHCP服務(wù)器來(lái)動(dòng)態(tài)分配的。 如果你想利用VMware創(chuàng)建一個(gè)與網(wǎng)內(nèi)其他機(jī)器相隔離的虛擬系統(tǒng),進(jìn)行某些特殊的網(wǎng)絡(luò)調(diào)試工作,可以選擇Host-only模式。
在Host-Only網(wǎng)絡(luò)中,Host- Only網(wǎng)絡(luò)被用來(lái)設(shè)計(jì)成一個(gè)與外界隔絕的網(wǎng)絡(luò),其實(shí)Host-Only網(wǎng)絡(luò)和NAT網(wǎng)絡(luò)非常相似,唯一不同的地方就是在Host-Only網(wǎng)絡(luò)中,沒有 用到NAT服務(wù),沒有服務(wù)器為VMnet1做路由,它當(dāng)然就沒有辦法訪問Internet啦,可是如果我的Host要和Guest通信呢?怎么辦?對(duì)了! 當(dāng)然就要用到VMware Network Adapter VMnet1這塊虛擬網(wǎng)卡了。
可以看到,在Host-Only網(wǎng)絡(luò) 下,Guest的Default Gateway被設(shè)置為NULL,這是由于沒有使用虛擬NAT服務(wù)器的緣故,但是,即便使用route add命令加上某個(gè)地址做它的路由,它仍然不能訪問Internet(實(shí)際上也沒有地址可加)。這樣,我的Guest雖然沒有辦法訪問Internet, 但是仍然可以和我的Host進(jìn)行通信:
實(shí)施上,如果我們足夠BT,也可以在Host上來(lái)為VMware Network Adapter VMnet1虛擬網(wǎng)卡來(lái)做路由,比如,我們可以用Windows 2000的RRAS來(lái)做,這樣的話,處于Host-Only網(wǎng)絡(luò)下的Guest就又可以上網(wǎng)了,他們只需要使用route add命令把自己的Default Gateway改成VMware Network Adapter VMnet1網(wǎng)卡即可,不過這樣不推薦,也沒有必要
如果僅僅想讓虛擬機(jī)訪問互聯(lián)網(wǎng),nat方式是最簡(jiǎn)單的,基本上不需要做什么操作,就能自動(dòng)連接上。這也是默認(rèn)的設(shè)置參數(shù)。
作為開發(fā)人員,我們通常需要主機(jī),虛擬機(jī),開發(fā)板 具有獨(dú)立的地址,能互相訪問。那么我們可以使用下面兩種網(wǎng)絡(luò)配置方式,
bridge and host-only。
橋接是最簡(jiǎn)單的方式,一般是你有一個(gè)網(wǎng)關(guān),你的windows主機(jī)和你VMWare里的各種unix/linux系統(tǒng),都通過這個(gè)網(wǎng)關(guān)來(lái)通訊.
而主機(jī)方式,是在沒有網(wǎng)絡(luò)的情況下, windows主機(jī)操作系統(tǒng)能與VMWare虛擬機(jī)上的客戶操作系統(tǒng)正常通訊。我們從VMWare的Virtual Network Edit里可以看出,vnet0是用來(lái)實(shí)現(xiàn)橋接模式的,vnet1是用來(lái)實(shí)現(xiàn)主機(jī)模式的。主機(jī)和客戶機(jī)是直接通過vnet1通訊的。
在主機(jī)方式下,windows主機(jī)操作系統(tǒng)不需要配置什么了,我們打開cmd.exe,輸入ipconfig,就知道VMnet1的ip地址是什么了,因 為這個(gè)ip就是VMWare虛擬機(jī)上的客戶操作系統(tǒng)的網(wǎng)關(guān)ip地址。我的VMWare虛擬機(jī)上一般裝的是redhat,因?yàn)閘inux系列里redhat 是最常見的,公司用的有suse, slaceware,unix使用solaris,freeBSD。那么我們?cè)诳蛻舨僮飨到y(tǒng)上配置網(wǎng)絡(luò),主要注意的是,網(wǎng)關(guān)的IP就是你在windows 主機(jī)操作系統(tǒng)里用ipconfig命令查看到的VMnet1的ip地址。
例如:我在windowsXP主機(jī)下用ipconfig看到VMnet1的IP地址是192.168.159.1,那我在redhat里就把網(wǎng)關(guān)IP配置 為192.168.159.1,把redhat的IP配置為192.168.159.2。我們從windowsXP主機(jī)cmd.exe里ping 192.168.159.2,如果redhat啟動(dòng)sshd服務(wù)器, 我們可以telnet 192.168.159.2 22,若連接成功則一切安裝OK,說明我們從windowsXP主機(jī)連接redhat系統(tǒng)沒有問題了。反之,我們?cè)趺磸膔edhat系統(tǒng)連接 windowsXP主機(jī), 從redhat系統(tǒng)角度來(lái)看,VMnet1的IP地址就是windowsXP主機(jī)的地址,在redhat系統(tǒng)里ping 192.168.159.1, 再telnet 192.168.159.1 139, 若連接成功則一切安裝OK,說明我們從redhat系統(tǒng)連接windowsXP主機(jī)沒有問題了。
想學(xué)習(xí)unix/linux上c/c++開發(fā)或者其它,一個(gè)好方法就是在windows系統(tǒng)上裝VMWare,然后在WMWare里安裝各種unix /linux系統(tǒng),通過crt、winscp等shell工具來(lái)連接unix/linux系統(tǒng)進(jìn)行操作, 這樣既不會(huì)因?yàn)闆]有windows系統(tǒng)而做其它事不方便,又能在一臺(tái)pc機(jī)器上安裝各種unix/linux系統(tǒng)。
聯(lián)系客服