Linux虛擬網(wǎng)絡(luò)模式及NAT模式連接互聯(lián)網(wǎng)配置

一、調(diào)試環(huán)境

筆記本電腦(無線網(wǎng)卡連接互聯(lián)網(wǎng))+WIN10(筆記本操作系統(tǒng))+VMware Workstation 16 Player(虛擬環(huán)境)+RedHat7(虛擬機(jī)操作系統(tǒng))


二、基礎(chǔ)理論

VMware有四種網(wǎng)絡(luò)模式實(shí)現(xiàn)虛擬機(jī)聯(lián)網(wǎng):橋接模式、NAT模式、僅主機(jī)模式、自定義網(wǎng)絡(luò)連接模式。

在虛擬化平臺中【PLAYER】->【管理】->【虛擬機(jī)設(shè)置】->【網(wǎng)絡(luò)適配器】查看如下圖:

????????在VMware中,虛擬機(jī)的網(wǎng)絡(luò)連接主要是由VMware創(chuàng)建的虛擬交換機(jī)(也叫做虛擬網(wǎng)絡(luò))負(fù)責(zé)實(shí)現(xiàn),VMware可以根據(jù)需要?jiǎng)?chuàng)建多個(gè)虛擬網(wǎng)絡(luò)。當(dāng)我們安裝VMware時(shí),VMware會(huì)自動(dòng)為3種網(wǎng)絡(luò)連接模式各自創(chuàng)建1個(gè)虛擬機(jī)網(wǎng)絡(luò)(可想象為三個(gè)虛擬交換機(jī)):VMnet0(橋接模式)、VMnet8(NAT模式)、VMnet1(僅主機(jī)模式)。此外,我們也可以根據(jù)需要自行創(chuàng)建更多的虛擬網(wǎng)絡(luò)。所以在完成VMware安裝后主機(jī)操作系統(tǒng)中會(huì)自動(dòng)出現(xiàn)相關(guān)網(wǎng)絡(luò)適配器,如下圖所示:

? ? ? ?為什么在主機(jī)上沒有VMware Network Adapter VMnet0虛擬網(wǎng)卡呢?

1、橋接模式

? ? ? ?VMware橋接模式,也就是將虛擬機(jī)視為局域網(wǎng)中一臺新的、獨(dú)立的計(jì)算機(jī)。因此,虛擬機(jī)也會(huì)占用局域網(wǎng)中的一個(gè)IP地址,并且可以和其他終端進(jìn)行相互訪問。

? ? ? 由于橋接模式下,主機(jī)直接使用連接外部網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器連接虛擬網(wǎng)絡(luò),故解釋為什么安裝后不自動(dòng)創(chuàng)建VMware Network Adapter VMnet0虛擬網(wǎng)卡的問題。

2、NAT模式

? ? ? ?NAT,是Network Address Translation的縮寫,意即網(wǎng)絡(luò)地址轉(zhuǎn)換。使用NAT模式網(wǎng)絡(luò)連接時(shí),VMware會(huì)在主機(jī)上建立單獨(dú)的專用網(wǎng)絡(luò),用以實(shí)現(xiàn)虛擬機(jī)與主機(jī)及虛擬機(jī)與外部網(wǎng)絡(luò)之間的通信。換言之,所有虛擬機(jī)的發(fā)送和接收的網(wǎng)絡(luò)數(shù)據(jù)包均需經(jīng)虛擬NAT設(shè)備進(jìn)一步封裝和解封裝,發(fā)送數(shù)據(jù)包時(shí)的封裝將虛擬機(jī)發(fā)來的數(shù)據(jù)包穿上主機(jī)網(wǎng)卡IP的外衣后送去路由器進(jìn)行傳送,接收數(shù)據(jù)時(shí)的解封裝將路由器發(fā)回的數(shù)據(jù)包穿著的主機(jī)網(wǎng)卡IP的外衣脫去露出真實(shí)的虛擬機(jī)網(wǎng)卡IP。

? ? ? ?在NAT模式中,主機(jī)網(wǎng)卡直接與虛擬NAT設(shè)備相連,然后虛擬NAT設(shè)備與虛擬DHCP服務(wù)器一起連接在虛擬交換機(jī)VMnet8上,這樣就實(shí)現(xiàn)了虛擬機(jī)聯(lián)網(wǎng)。那么為什么需要虛擬網(wǎng)卡VMware Network Adapter VMnet8呢?原來我們的VMware Network Adapter VMnet8虛擬網(wǎng)卡主要是為了實(shí)現(xiàn)主機(jī)與虛擬機(jī)之間的通信,也就是說下線VMware Network Adapter VMnet8網(wǎng)卡后并不影響虛擬機(jī)訪問外部網(wǎng)絡(luò)只是虛擬機(jī)和主機(jī)之間無法實(shí)現(xiàn)通信。

3、僅主機(jī)模式

? ? ? ?僅主機(jī)模式,是一種比NAT模式更加封閉的的網(wǎng)絡(luò)連接模式,它將創(chuàng)建完全包含在主機(jī)中的專用網(wǎng)絡(luò)。Host-Only模式其實(shí)就是NAT模式去除了虛擬NAT設(shè)備,然后使用VMware Network Adapter VMnet1虛擬網(wǎng)卡連接VMnet1虛擬交換機(jī)來與虛擬機(jī)通信的,Host-Only模式將虛擬機(jī)與外網(wǎng)隔開,使得虛擬機(jī)成為一個(gè)獨(dú)立的系統(tǒng),只與主機(jī)相互通訊。但也可以通過網(wǎng)絡(luò)共享的方式實(shí)現(xiàn)虛擬機(jī)與外部網(wǎng)絡(luò)的連接。

以上網(wǎng)絡(luò)模式圖片引自:https://blog.csdn.net/weixin_41632560/article/details/92792391?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0.no_search_link&spm=1001.2101.3001.4242.1

以下形象比喻引用自:https://blog.csdn.net/sores/article/details/89249771

(1)橋接模式的虛擬機(jī),就像一個(gè)在路由器"民政局"那里"上過戶口"的成年人,有自己單獨(dú)的居住地址,雖然和主機(jī)住在同一個(gè)大院里,但好歹是有戶口的人,可以大搖大擺地直接和外面通信。

(2)NAT模式的虛擬機(jī),純粹就是一個(gè)沒上過戶口的黑戶,路由器"民政局"根本不知道有這么個(gè)人,自然也不會(huì)主動(dòng)和它通信。即使虛擬機(jī)偶爾要向外面發(fā)送點(diǎn)的信件,都得交給主機(jī)以主機(jī)的名義轉(zhuǎn)發(fā)出去,主機(jī)還專門請了一位叫做NAT的老大爺來專門負(fù)責(zé)這些虛擬機(jī)的發(fā)信、收信事宜。

(3)僅主機(jī)模式的虛擬機(jī),純粹是一個(gè)徹徹底底的黑奴,不僅沒有戶口、路由器"民政局"不知道這么號人,還被主機(jī)關(guān)在小黑屋里,連信件也不準(zhǔn)往外發(fā)。


三、NAT模式網(wǎng)絡(luò)配置(使用dhcp自動(dòng)分配模式,也可配置為手動(dòng)模式)

1、主機(jī)虛擬網(wǎng)卡配置(如不需要主機(jī)與虛擬機(jī)通信,可不配)

? ? ?在主機(jī)系統(tǒng)(此環(huán)境中的WIN10)中配置VMware Network Adapter VMnet8虛擬網(wǎng)卡的TCP/IPv4 IP和DNS全部為自動(dòng),如下圖所示:

2、配置虛擬化環(huán)境

在虛擬化平臺中【PLAYER】->【管理】->【虛擬機(jī)設(shè)置】->【網(wǎng)絡(luò)適配器】設(shè)置為【NAT模式】查看如下圖:

3、配置RedHat虛擬機(jī)

1)使用ifconfig -a指令查看系統(tǒng)當(dāng)前啟用的網(wǎng)卡名稱,如下圖中紅色框部分:

注意:由于在linux系統(tǒng)最小化安裝包安裝過程中未安裝網(wǎng)絡(luò)工具,導(dǎo)致執(zhí)行ifconfig -a?時(shí)提示“command not found”,可自行參照https://www.lxlinux.net/1799.html安裝

2)確認(rèn)網(wǎng)卡配置

? ? ?使用vim編輯/etc/sysconfig/network-scripts/ifcfg-eno166777736,此處文件名對應(yīng)ifconfig中網(wǎng)卡名稱

? ? ? 執(zhí)行#vim?/etc/sysconfig/network-scripts/ifcfg-eno166777736

3)重啟網(wǎng)絡(luò)服務(wù)

#service?restart?network


四、網(wǎng)絡(luò)測試

1、確認(rèn)虛擬機(jī)IP

同樣使用ifconfig -a指令查看,此處為192.168.43.128

2、確認(rèn)主機(jī)VMware Network Adapter VMnet8虛擬網(wǎng)卡IP,此處為192.168.43.1

3、在虛擬機(jī)中ping主機(jī)虛擬網(wǎng)卡IP

? ? ? 如下圖,說明虛擬機(jī)與主機(jī)虛擬網(wǎng)卡通信正常,同時(shí)證明虛擬機(jī)網(wǎng)卡運(yùn)行正常且網(wǎng)絡(luò)配置已生效;

4、在虛擬機(jī)中ping www.baidu.com測試虛擬機(jī)與外部網(wǎng)絡(luò)的聯(lián)通性(此處為本人踩坑處,望引起大家關(guān)注)

? ? ? ?由于始終如下圖所示,多次嘗試重啟網(wǎng)卡,重啟網(wǎng)絡(luò)服務(wù),均提示ping?百度100%丟包,懷疑以上網(wǎng)絡(luò)配置存在問題,參照網(wǎng)絡(luò)上指引多次調(diào)整配置均無法解決該問題,通過下述不懈嘗試最終找到問題原因。

5、嘗試ping主機(jī)無線網(wǎng)卡ip?

? ? ? 此例中為192.168.1.100正常,證明虛擬機(jī)網(wǎng)卡經(jīng)虛擬網(wǎng)絡(luò)及NAT服務(wù)器訪問主機(jī)無線網(wǎng)卡正常

6、嘗試ping路由器LAN口IP192.168.1.1及WAN口IP192.168.10.228均正常,證明虛擬機(jī)數(shù)據(jù)包可正常傳送至路由器WAN口



7、確認(rèn)筆記本電腦訪問百度網(wǎng)頁正常情況下使用筆記本cmd ping www.baidu.com,同樣無法ping通,推測并非虛擬機(jī)訪問外部網(wǎng)絡(luò)問題,而是該網(wǎng)絡(luò)環(huán)境限制了icmp包的傳遞

8、使用主機(jī)和虛擬機(jī)telnet www.baidu.com 80測試聯(lián)通性,均顯示成功建立連接,從而驗(yàn)證7)條中推測,并確認(rèn)虛擬機(jī)網(wǎng)絡(luò)配置成功。



經(jīng)驗(yàn):測試外網(wǎng)的網(wǎng)絡(luò)聯(lián)通性道路千萬條,切忌僅僅通過嘗試ping百度來確認(rèn)網(wǎng)絡(luò)狀態(tài)?。?!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容