[TOC]
背景
知乎上最近發現一篇好文 圖解K8S(01):基于Ubuntu 20.04部署1.23版K8S集群,想著之前 K8S 部署一直不成功,那么就照著這篇文章中說的試一試,結果在實驗時遇到了 VMWare 虛擬網卡和虛擬網路的坑,經過仔細研究和查找資料終于大致得到解決,所以就通過這篇文章記錄一下,給自己也是給后來人提個醒,
VMWare 虛擬網路
VMWare 安裝完成之后會安裝兩個虛擬網卡,分別是 vmnet1 和 vmnet8,前者用于 Host-Only 網路模式,后者用于 NAT 網路模式,本文主要關注 vmnet8 的配置,
打開 VMware,通過“編輯”選單下的“虛擬網路編輯器”打開“虛擬網路編輯器”對話框,可以看到 VMnet8 用于 NAT 模式,同時可以設定該網卡的NAT選項和DHCP選項,
根據文章的描述,將VMnet8的子網IP修改為 172.20.20.0,子網掩碼為 255.255.255.0,單擊“NAT設定”,將網關IP改為172.20.20.1,單擊“DHCP設定”,將IP地址池范圍改為 172.20.20.2 到 172.20.20.254,保存設定并安裝 Ubuntu Server 20.04,
安裝 Ubuntu Server 20.04 時遇到的網路問題
安裝Ubuntu Server 20.04 的時候發現,無論設定為DHCP還是設定靜態IP,均無法連接到軟體庫鏡像,一開始以為是DNS問題,將DNS設定為公網DNS 223.5.5.5,無效,后來發現無法Ping通網關 172.20.20.1,通過網路搜索無果,反復確認 /etc/netplan/00-installer-config.yaml 檔案的配置沒有錯誤,由于無法連接外網,因此無法在服務器上安裝任何軟體,
緊接著發現原來安裝的Windows虛擬機也出現了無法上網的現象,說明和Ubuntu系統無關,是虛擬網路的問題,
解決方法和解釋
經過搜索以后,終于發現問題原因了:在宿主機的網路配接器選項里,找到VMware Virtual Ethernet Adapter for VMnet8,檢查IPv4設定,發現它的IP地址為172.20.20.1,剛好和VMWare設定的網關一致,本來一直以為是宿主機本身通過VMnet8網卡充當網關的角色,但其實不是這樣,宿主機的VMnet8網卡只是用于和虛擬機通信,而它們需要通過另一個網關地址來交換資料,因此,如果將網關地址設定為和宿主機VMnet8一樣,那么相當于把網路中的一臺主機當成了網關,自然無法訪問外網,
解決方法也很簡單,把VMWare中VMnet8的網關地址改為 172.20.20.2,DHCP地址池也做相應調整即可,重啟虛擬機后發現網路連接問題解決,
總結
VMware的VMnet8虛擬網卡本身起到了網關的作用,而并非原來理解的宿主機作為網關,因此,如果把網關地址填成了宿主機的地址,就會出現找不到網關的錯誤,也會使得虛擬機無法訪問外網,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415183.html
標籤:Linux
