1. 程式人生 > 其它 >3.VMWare中CentOS如何配置固定IP

3.VMWare中CentOS如何配置固定IP

一、前言

這陣子在整K8s,因為之前不太清楚VMWare如何設定固定IP地址,所以每次VMWare中都是自動獲取IP的,這樣就造成了每次只要本地機器重啟,虛擬機器中的網路又變化了,導致K8S服務無法正常的啟動。

這裡需要特別感謝群裡的小夥伴@你釘釘響了@清歡渡手把手的教學,幫助我學習了一波VMware網路知識~,有時間要好好補一補Linux網路知識 ...,言歸正傳,下面開始給VMware設定固定IP了

二、VMware網路模式

我們安裝 VMware Workstations後,進行虛擬機器的網路配置時,一般有四種網路連線方式

在我們安裝好 VMware Workstations後,我們可以開啟網路中心會發現生成 兩個虛擬網絡卡,我們開啟網路和共享中心能夠看到下面的兩個

關於這兩個網絡卡對應的規則,我們可以到VMware的虛擬網路編輯器檢視

可以發現VMnet1網絡卡,對應的是 僅主機模式,VMnet8 對應的是NAT模式

橋接模式(Bridged)

橋接模式,可以這樣進行理解

它是通過主機網絡卡,假設了一條橋,直接連入到網路中了,因此,它使得虛擬機器能被分配到一個網路中獨立的IP,所有網路功能完全和在網路中的真實機器一樣。

橋接模式下的虛擬機器,我們把它認為是真實計算機就行了~

虛擬機器和主機:可以相互訪問,因為虛擬機器在真實網路段中有獨立IP,主機與虛擬機器處於同一網路段中,彼此可以通過各自IP相互訪問

虛擬機器與其它主機:可以相互訪問,同樣因為虛擬機器在真實網路端中有獨立IP,虛擬機器與所有網路其它主機處於同一個網路段中,彼此可以通過各自IP相互訪問

虛擬機器與虛擬機器:同樣可以相互轉換,原因同上

橋接模式下,虛擬機器就像一臺真正的計算機一樣,直接連線到實際網路,與宿主機沒有任何聯絡

NAT模式

NAT:Network Address Translation,網路地址轉換

NAT模式是最簡單的實現虛擬機器上網的方式

Guest訪問網路的所有資料都是主機提供的,Guest並不真實存在與網路中,主機與網路中的任何機器都不能檢視和訪問到Guest的存在

Guest可以訪問主機能訪問的所有網路,但是對於主機以及主機網路的其它機器,Guest又是不可見的,甚至主機也訪問不到Guest

虛擬機器與主機:只能單向訪問,虛擬機器可以通過網路訪問到主機,主機無法通過網路訪問到虛擬機器

虛擬機器與其它主機:只能單向訪問,虛擬機器可以訪問到網路中其它主機,其它主機不能通過網路訪問到虛擬機器

虛擬機器與虛擬機器:相互不能訪問,虛擬機器與虛擬機器各自完全獨立,相互間無法通過網路訪問彼此

NAT模式下,虛擬機器網路連線到宿主機的VMnet8上,此時系統的VMWare NAT Service伺服器就充當了路由器的作用,負責將虛擬機發送到VMnet8的包 進行地址轉換之後,發到實際的網路上,再將實際網路上返回的包進行地址轉換後通過VMnet8傳送到虛擬機器。VMware DHCP Service 負責為虛擬機器提供DHCP服務。

也就是說NAT模式下,虛擬機器網絡卡連線到宿主機的VMnet8的網絡卡,當VMnet8收到虛擬機發送的資料包時,會吧資料包轉發給物理機的網絡卡。相當於物理網絡卡不能直接接觸虛擬機器的資料包,而是接觸VMnet8進行處理,實際上VMnet8是NAT模式,自帶DHCP功能,能夠給虛擬機器分配IP地址。

主機模式(Host-only Adapter)

主機模式:這是一種比較複雜的模式,需要有比較紮實的網路基礎知識才能玩轉。可以說前面幾種模式所實現的功能,在這個模式下,通過虛擬機器及網絡卡的設定都可以被實現。

我們可以理解為Guest在主機中模擬出一張專供虛擬機器使用的網絡卡,所有的虛擬機器都是連線到該網絡卡上的,我們可以通過設定這張網絡卡來實現上網以及其他功能

三、為什麼使用NAT模式

橋接模式的配置很簡單,但是如果網路環境ip資源很缺少,或者對ip管理比較嚴格的時候,那麼橋接模式就不適用了,因為我們通過上面的理解可以知道,橋接模式就是建立一個和宿主機同一級別的網路環境,它是在網路地址中真實存在的ip地址。

如果我們又想讓虛擬機器上網,又不想佔用真實的IP地址,那麼就需要使用NAT模式是最好的選擇,NAT模式藉助虛擬NAT裝置和虛擬DHCP伺服器,使得虛擬機器可以聯網。其網路結構如下圖所示:

在NAT模式下,主機網絡卡直接與虛擬NAT裝置相連,然後虛擬NAT裝置與虛擬DHCP伺服器一起連線在虛擬機器交換機VMnet8上,這樣就實現了虛擬機器聯網。

四、使用NAT模式配置虛擬機器固定IP

找到VMnet8網絡卡

因為NAT模式需要藉助宿主機的Vmnet8網絡卡進行虛擬機器與主機之間的通訊的,因此我們需要首先找到宿主機上的VMnet8網絡卡

然後我們右鍵屬性,找到IPv4協議,然後選擇自動獲取 IP地址

虛擬網路編輯器

在設定好VMnet8網絡卡後,我們到VMware中,點選 編輯 -> 虛擬網路編輯器,然後選擇 還原預設值

在還原後,我們在上面能夠看到有三種模式了,這裡我們主要是 操作 NAT模式

  • 首先選擇NAT模式
  • 然後勾選2中的兩個選項
  • 第三步就是開啟NAT設定

然後設定閘道器IP為: 192.168.13.254 【這裡需要記住這個值,以後會用到】,然後儲存

  • 第四步點選 DHCP設定

這裡能看到我們的起始ip地址 和 結束ip地址,也就是後面我們在設定固定ip地址時,必須在這個範圍內

  • 設定完成後,回到主頁面,點選應用

設定CentOS網路連線方式

我們到我們的建立的CentOS系統,右鍵選擇 設定

然後找到網路介面卡,選擇NAT模式,這樣我們的系統就通過NAT模式連線了

設定網路

然後我們就可以啟動我們的CentOS系統進行網路配置了

# 編輯網路配置檔案
vim /etc/sysconfig/network-scripts/ifcfg-ens33

然後在檔案中,加入如下內容

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1f6d2414-12b7-40ef-8fb1-d2e6db9c739b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.13.130
NETMASK=255.255.255.0
GATEWAY=192.168.13.254
DNS1=223.5.5.5

這裡需要注意的幾個點就是下面幾個引數

#設定靜態模式
BOOTPROTO=static
ONBOOT=yes
#ip地址【DHCP中的範圍內的】
IPADDR=192.168.13.130 
#子網掩碼
NETMASK=255.255.255.0
#閘道器【剛剛我們在NAT設定中配置的】
GATEWAY=192.168.13.254
DNS1=223.5.5.5

配置完成後,我們就重啟網路即可

#重啟網絡卡
service network restart

測試

下面我們通過 ping命令,檢視是否能夠正常訪問網路

ping www.baidu.com

發現能夠成功訪問網路了,這個時候說明我們虛擬機器已經能夠正常聯網~

最後

在說一個我遇到的問題,就是在配置好網路後,重啟電腦,發現之前配置的虛擬機器又不能上網了,後面經過群裡小夥伴的指點,發現是重啟後,VMware的NAT和DHCP服務已經關閉了,所以我們需要手動啟動

重啟後開啟虛擬機器,發現能夠成功聯網了~