我們首先說(shuō)一下VMware的幾個(gè)虛擬設(shè)備
? VMnet0:用于虛擬橋接網(wǎng)絡(luò)下的虛擬交換機(jī)
? VMnet1:用于虛擬Host-Only網(wǎng)絡(luò)下的虛擬交換機(jī)
? VMnet8:用于虛擬NAT網(wǎng)絡(luò)下的虛擬交換機(jī)
? VMwareNetworkAdepter VMnet1(以下下簡(jiǎn)稱Adepter VMnet1):Host用于與Host-Only虛擬網(wǎng)絡(luò)進(jìn)行通信的虛擬網(wǎng)卡
? VMware Network Adepter VMnet8(以下下簡(jiǎn)稱Adepter VMnet8):Host用于與NAT虛擬網(wǎng)絡(luò)進(jìn)行通信的虛擬網(wǎng)卡
一、NAT模式(最easy的)
? 1、虛擬機(jī)通過(guò)Vmnet8虛擬交換機(jī)鏈接宿主機(jī)的Adapter Vmnet8虛擬網(wǎng)卡上,實(shí)現(xiàn)與宿主機(jī)雙向通信;
? 2、VMnet8提供虛擬NAT服務(wù)和虛擬DHCP服務(wù),虛擬NAT設(shè)備與宿主機(jī)真實(shí)網(wǎng)卡直接相連,實(shí)現(xiàn)訪問(wèn)互聯(lián)網(wǎng);
? 3、此模式下未用到Vmnet1虛擬網(wǎng)卡
二、HOST-ONLY模式(研究一晚上,困)
? 1、虛擬機(jī)通過(guò)Vmnet1交換機(jī)鏈接宿主機(jī)Adapter Vmnet1虛擬網(wǎng)卡上,實(shí)現(xiàn)宿主機(jī)到虛擬機(jī)的單項(xiàng)通信(虛擬機(jī)此時(shí)訪問(wèn)不了宿主機(jī));
? 2、Vmnet1提供虛擬DHCP服務(wù);
? 3、要想實(shí)現(xiàn)虛擬機(jī)到宿主機(jī)的單項(xiàng)通信和讓虛擬機(jī)訪問(wèn)外網(wǎng),需要做:
? ? ? ? 1、將宿主機(jī)真實(shí)網(wǎng)卡適配器開啟網(wǎng)絡(luò)共享模式(ICS);
? ? ? ? 2、將Adapter Vmnet1虛擬網(wǎng)卡地址設(shè)置為192.168.x.1(固定格式的,一般無(wú)需手動(dòng)更改,通常第1步設(shè)置完后,該虛擬網(wǎng)卡的地址會(huì)自動(dòng)填 ? ? ? ? ? ? ? ? ??寫,通常會(huì)填寫192.168.137.1,但經(jīng)過(guò)測(cè)試也可自己修改第三位數(shù)字,實(shí)際就是虛擬路由。但是,為什么第四位不能設(shè)置成別的數(shù) 字? 怎 ? ? ? ? ? ? ? ? 么強(qiáng)制改都不行,很奇妙。)
? ? ? ? 3、將Vmnet1虛擬交換機(jī)的IP端子網(wǎng)設(shè)為192.168.x.0,此時(shí)可以關(guān)閉DHCP功能,因?yàn)椋摂M機(jī)要配置靜態(tài)ip,不關(guān)閉也無(wú)所謂;
? ? ? ? 4、將虛擬機(jī)的網(wǎng)卡地址改為靜態(tài)的,(我的網(wǎng)卡名叫ens33),具體配置如下:
? ? ? ? ? ? ? ?TYPE="Ethernet"
? ? ? ? ? ? ? ?BOOTPROTO=static
? ? ? ? ? ? ? ?DEFROUTE="yes"
? ? ? ? ? ? ? ?PEERDNS="yes"
? ? ? ? ? ? ? ?PEERROUTES="yes"
? ? ? ? ? ? ? ? IPV4_FAILURE_FATAL="no"
? ? ? ? ? ? ? ? IPV6INIT="yes"
? ? ? ? ? ? ? ? IPV6_AUTOCONF="yes"
? ? ? ? ? ? ? ? IPV6_DEFROUTE="yes"
? ? ? ? ? ? ? ? IPV6_PEERDNS="yes"
? ? ? ? ? ? ? ? IPV6_PEERROUTES="yes"
? ? ? ? ? ? ? ? IPV6_FAILURE_FATAL="no"
? ? ? ? ? ? ? ? IPV6_ADDR_GEN_MODE="stable-privacy"
? ? ? ? ? ? ? ? NAME="ens33"
? ? ? ? ? ? ? ? UUID="c7d8063c-0dc0-4e94-b229-568f0421e678"
? ? ? ? ? ? ? ? DEVICE="ens33"
? ? ? ? ? ? ? ? ?ONBOOT="yes"
? ? ? ? ? ? ? ? ?IPADDR="192.168.137.128"
? ? ? ? ? ? ? ? ?NETMASK=255.255.255.0
? ? ? ? ? ? ? ? ?GATEWAY=192.168.137.1
? ? ? ? ? ? ? ? ?DNS1=8.8.8.8
? ? ? ? ? ? ? ? ?DNS2=144.144.144.144
? ? ? ? ? 5、重啟下network服務(wù),大功告成;那么問(wèn)題來(lái)了:樓主在反復(fù)測(cè)試的時(shí)候發(fā)現(xiàn)當(dāng)把 Adapter Vmnet1虛擬網(wǎng)卡地址設(shè)置為192.168.1.1時(shí) ? ? ? ? ? ? ? ? ? ? ?(即與宿主機(jī)真實(shí)路由地址相同時(shí))會(huì)發(fā)生奇怪的現(xiàn)象就是,虛擬機(jī)可以訪問(wèn)網(wǎng)絡(luò)但是不能訪問(wèn)宿主機(jī),很詭異,不懂其中原理。
三、Bridged模式(再加一上午)
? 1、純手動(dòng)配置ip
? 2、將虛擬機(jī)ip設(shè)置成與宿主機(jī)真實(shí)網(wǎng)卡ip同一網(wǎng)段,并且相同網(wǎng)段和dns網(wǎng)址,具體配置如下:
? ? TYPE="Ethernet"
? ? BOOTPROTO=static
? ? DEFROUTE="yes"
? ? PEERDNS="yes"
? ? PEERROUTES="yes"
? ? IPV4_FAILURE_FATAL="no"
? ? IPV6INIT="yes"
? ? IPV6_AUTOCONF="yes"
? ? IPV6_DEFROUTE="yes"
? ? IPV6_PEERDNS="yes"
? ? IPV6_PEERROUTES="yes"
? ? IPV6_FAILURE_FATAL="no"
? ? IPV6_ADDR_GEN_MODE="stable-privacy"
? ? NAME="ens33"
? ? UUID="c7d8063c-0dc0-4e94-b229-568f0421e678"
? ? DEVICE="ens33"
? ? ONBOOT="yes"
? ? IPADDR="192.168.1.128"
? ? NETMASK=255.255.255.0
? ? GATEWAY=192.168.1.1
? ? DNS1=192.168.1.1
? 3、重啟下network服務(wù),就可實(shí)現(xiàn)宿主機(jī)與虛擬機(jī)的雙向通信,宿主機(jī)可訪問(wèn)互聯(lián)網(wǎng);
四、最后問(wèn)題,如何讓虛擬機(jī)提供互聯(lián)網(wǎng)服務(wù)?即,使任何互聯(lián)網(wǎng)上的主機(jī)可以訪問(wèn)局域網(wǎng)內(nèi)的虛擬機(jī)
? 1、設(shè)置自己的路由器,將轉(zhuǎn)發(fā)地址和端口映射到虛擬機(jī)的ip和端口上即可
? 2、上述方法沒(méi)有經(jīng)過(guò)驗(yàn)證,不知道三種網(wǎng)絡(luò)模式是否都支持
五、總結(jié)原理,其實(shí)經(jīng)過(guò)一番折騰后不難發(fā)現(xiàn):
? 1、NAT模式和Host-Only模式在局域網(wǎng)內(nèi)互聯(lián)的方式是相同的:
? ? ?NAT的鏈路:宿主機(jī) <----->Adapter Vmnet8虛擬網(wǎng)卡 <----->Vmnet8虛擬交換機(jī)<----->虛擬機(jī)虛擬網(wǎng)卡(ens33)<----->虛擬機(jī)
? ? ?Host-Only的鏈路:宿主機(jī)<----->Adapter Vmnet1虛擬網(wǎng)卡 <----->Vmnet1虛擬交換機(jī)<----->虛擬機(jī)虛擬網(wǎng)卡(ens33)<----->虛擬機(jī)
2、在連接互聯(lián)網(wǎng)方面,NAT模式通過(guò)虛擬的NAT服務(wù)實(shí)現(xiàn)上網(wǎng),Host-Only模式通過(guò)宿主機(jī)的真實(shí)網(wǎng)卡的網(wǎng)絡(luò)共享上網(wǎng)
? ? ? NAT的鏈路:互聯(lián)網(wǎng)<----->物理路由器<----->NAT虛擬服務(wù)<----->VMnet8虛擬交換機(jī)<----->虛擬機(jī)虛擬網(wǎng)卡(ens33)<----->虛擬機(jī)
? ? ? Host-Only的鏈路:互聯(lián)網(wǎng)<----->物理路由器<----->Adapter Vmnet1虛擬網(wǎng)卡共享宿主機(jī)真實(shí)網(wǎng)卡的網(wǎng)絡(luò)<----->VMnet1虛擬交換機(jī)<-----> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 虛擬機(jī)虛擬網(wǎng)卡(ens33)<----->虛擬機(jī)
3、至于Bridged模式實(shí)際可理解為與宿主機(jī)同一局域網(wǎng)內(nèi)的設(shè)備
? ? ? 類似于把宿主機(jī)虛擬為一個(gè)交換機(jī),所有橋接設(shè)置的虛擬機(jī)通過(guò)VMnet0虛擬交換機(jī)連接到這個(gè)交換機(jī)的一個(gè)接口上,宿主機(jī)也同樣插在這個(gè) ? ? ? ? 交換機(jī)當(dāng)中。
? ? ? 鏈路:物理路由器<----->VMnet0虛擬交換機(jī)與宿主機(jī)真實(shí)網(wǎng)卡橋接<----->虛擬機(jī)虛擬網(wǎng)卡(ens33)<----->虛擬機(jī)
(以上屬于個(gè)人分析,有待考證,如有錯(cuò)誤,還望指正)