虛擬機三種網(wǎng)絡(luò)模式的配置及原理分析

我們首先說一下VMware的幾個虛擬設(shè)備

? VMnet0:用于虛擬橋接網(wǎng)絡(luò)下的虛擬交換機

? VMnet1:用于虛擬Host-Only網(wǎng)絡(luò)下的虛擬交換機

? VMnet8:用于虛擬NAT網(wǎng)絡(luò)下的虛擬交換機

? VMwareNetworkAdepter VMnet1(以下下簡稱Adepter VMnet1):Host用于與Host-Only虛擬網(wǎng)絡(luò)進行通信的虛擬網(wǎng)卡

? VMware Network Adepter VMnet8(以下下簡稱Adepter VMnet8):Host用于與NAT虛擬網(wǎng)絡(luò)進行通信的虛擬網(wǎng)卡

一、NAT模式(最easy的)

? 1、虛擬機通過Vmnet8虛擬交換機鏈接宿主機的Adapter Vmnet8虛擬網(wǎng)卡上,實現(xiàn)與宿主機雙向通信;

? 2、VMnet8提供虛擬NAT服務和虛擬DHCP服務,虛擬NAT設(shè)備與宿主機真實網(wǎng)卡直接相連,實現(xiàn)訪問互聯(lián)網(wǎng);

? 3、此模式下未用到Vmnet1虛擬網(wǎng)卡

二、HOST-ONLY模式(研究一晚上,困)

? 1、虛擬機通過Vmnet1交換機鏈接宿主機Adapter Vmnet1虛擬網(wǎng)卡上,實現(xiàn)宿主機到虛擬機的單項通信(虛擬機此時訪問不了宿主機);

? 2、Vmnet1提供虛擬DHCP服務;

? 3、要想實現(xiàn)虛擬機到宿主機的單項通信和讓虛擬機訪問外網(wǎng),需要做:

? ? ? ? 1、將宿主機真實網(wǎng)卡適配器開啟網(wǎng)絡(luò)共享模式(ICS);

? ? ? ? 2、將Adapter Vmnet1虛擬網(wǎng)卡地址設(shè)置為192.168.x.1(固定格式的,一般無需手動更改,通常第1步設(shè)置完后,該虛擬網(wǎng)卡的地址會自動填 ? ? ? ? ? ? ? ? ??寫,通常會填寫192.168.137.1,但經(jīng)過測試也可自己修改第三位數(shù)字,實際就是虛擬路由。但是,為什么第四位不能設(shè)置成別的數(shù) 字? 怎 ? ? ? ? ? ? ? ? 么強制改都不行,很奇妙。)

? ? ? ? 3、將Vmnet1虛擬交換機的IP端子網(wǎng)設(shè)為192.168.x.0,此時可以關(guān)閉DHCP功能,因為,虛擬機要配置靜態(tài)ip,不關(guān)閉也無所謂;

? ? ? ? 4、將虛擬機的網(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服務,大功告成;那么問題來了:樓主在反復測試的時候發(fā)現(xiàn)當把 Adapter Vmnet1虛擬網(wǎng)卡地址設(shè)置為192.168.1.1時 ? ? ? ? ? ? ? ? ? ? ?(即與宿主機真實路由地址相同時)會發(fā)生奇怪的現(xiàn)象就是,虛擬機可以訪問網(wǎng)絡(luò)但是不能訪問宿主機,很詭異,不懂其中原理。

三、Bridged模式(再加一上午)

? 1、純手動配置ip

? 2、將虛擬機ip設(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服務,就可實現(xiàn)宿主機與虛擬機的雙向通信,宿主機可訪問互聯(lián)網(wǎng);

四、最后問題,如何讓虛擬機提供互聯(lián)網(wǎng)服務?即,使任何互聯(lián)網(wǎng)上的主機可以訪問局域網(wǎng)內(nèi)的虛擬機

? 1、設(shè)置自己的路由器,將轉(zhuǎn)發(fā)地址和端口映射到虛擬機的ip和端口上即可

? 2、上述方法沒有經(jīng)過驗證,不知道三種網(wǎng)絡(luò)模式是否都支持

五、總結(jié)原理,其實經(jīng)過一番折騰后不難發(fā)現(xiàn):

? 1、NAT模式和Host-Only模式在局域網(wǎng)內(nèi)互聯(lián)的方式是相同的:

? ? ?NAT的鏈路:宿主機 <----->Adapter Vmnet8虛擬網(wǎng)卡 <----->Vmnet8虛擬交換機<----->虛擬機虛擬網(wǎng)卡(ens33)<----->虛擬機

? ? ?Host-Only的鏈路:宿主機<----->Adapter Vmnet1虛擬網(wǎng)卡 <----->Vmnet1虛擬交換機<----->虛擬機虛擬網(wǎng)卡(ens33)<----->虛擬機

2、在連接互聯(lián)網(wǎng)方面,NAT模式通過虛擬的NAT服務實現(xiàn)上網(wǎng),Host-Only模式通過宿主機的真實網(wǎng)卡的網(wǎng)絡(luò)共享上網(wǎng)

? ? ? NAT的鏈路:互聯(lián)網(wǎng)<----->物理路由器<----->NAT虛擬服務<----->VMnet8虛擬交換機<----->虛擬機虛擬網(wǎng)卡(ens33)<----->虛擬機

? ? ? Host-Only的鏈路:互聯(lián)網(wǎng)<----->物理路由器<----->Adapter Vmnet1虛擬網(wǎng)卡共享宿主機真實網(wǎng)卡的網(wǎng)絡(luò)<----->VMnet1虛擬交換機<-----> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 虛擬機虛擬網(wǎng)卡(ens33)<----->虛擬機

3、至于Bridged模式實際可理解為與宿主機同一局域網(wǎng)內(nèi)的設(shè)備

? ? ? 類似于把宿主機虛擬為一個交換機,所有橋接設(shè)置的虛擬機通過VMnet0虛擬交換機連接到這個交換機的一個接口上,宿主機也同樣插在這個 ? ? ? ? 交換機當中。

? ? ? 鏈路:物理路由器<----->VMnet0虛擬交換機與宿主機真實網(wǎng)卡橋接<----->虛擬機虛擬網(wǎng)卡(ens33)<----->虛擬機


(以上屬于個人分析,有待考證,如有錯誤,還望指正)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容