VMWare復制CentOS虛擬機後無法聯網的問題解決方案
1. 現象描述
原來使用一個 CentOS 虛擬機,這裡叫 CentOS_1。網絡配置如下:VMWare軟件設置 NAT 模式,虛擬機配置 DHCP 自動獲取 IP ,開機啟動網絡。可以正常聯網
現在要重新配置一個虛擬機,環境同 CentOS_1。因此我直接從硬盤復制瞭一份 CentOS_1 的文件,並用 VMWare 打開虛擬機,將復制的虛擬機更名為 CentOS_2
由於是最小安裝,因此使用ifup / ifdown / ip addr
指令操作網卡,通過直接修改網卡配置文件配置網絡
網絡配置文件地址/etc/sysconfig/network-scripts
網絡文件名稱ifcfg-網絡名稱
如:網絡名稱為ens33
,則對應的配置文件名為ifcfg-ens33
相關指令
# 設對應的網絡名為 ens33 # 1. 啟動網絡 ifup ens33 # 2. 關閉網絡 ifdown ens33 # 3. 重啟網絡 = 先 ifdown 再 ifup # 查看網絡的 ip 地址 ip addr
CentOS_2 的網絡配置與 CentOS_1 的完全相同:VMWare軟件設置 NAT 模式,虛擬機配置 DHCP 自動獲取 IP ,開機啟動網絡
但在使用指令ifup
啟動網卡時出現瞭問題:等待瞭很久之後,提示連接超時
2. 問題解決
1. 重新配置 VMWare 軟件的 NAT 配置 – 無效
檢查 VMWare 虛擬機的 NAT 和 網絡配置:
NAT 配置 CentOS 對應的 VMnet 勾選 NAT 模式(如果新建虛擬機時選擇 NAT 模式,那默認值就是 NAT 模式不用修改)勾選“將主機虛擬適配器連接到此網絡”勾選“使用本地 DHCP 將 IP 地址分配給虛擬機”,啟用 VMWare 的 DHCP 功能,保證虛擬機能自動獲取到 IP 地址NAT設置 –> 網關 = 子網 IP 中最後一位 = 2 的地址
2. 重啟 VMWare 軟件的 NAT 和 DHCP 服務 – 無效
打開任務管理器,找到“服務(Services)”選項卡,選中以下兩個服務,右鍵點擊“重啟(Restart)”,即服務的重啟
- VMnetFHCP = VMWare 的 DHCP 服務
- VMWare NAT Service = VMWare 的 NAT 服務
3. 重啟虛擬機 CentOS_2 – 發現問題
點擊“關機”後,再點擊“開機”。
開機時提示“ens33 的 MAC 地址已經被使用”,類似以下提示
發現問題:直接復制虛擬機文件生成的虛擬機 CentOS_2 與原虛擬機 CentOS_1 之間的 mac 地址相同,導致兩臺虛擬機不能同時獲取到 ip 地址 (DHCP 協議通過 MAC 地址區分不同設備)
4. 為 CentOS_2 虛擬機配置不同於 CetOS_1 的 MAC 地址 – 解決問題
關閉虛擬機電源
虛擬機 –> 設置 –>
硬件 –> 網絡適配器 –> 高級 –> MAC 地址,點擊“生成” –> 確定並保存
註意:隻有關機狀態下才能修改 MAC 地址
重啟虛擬機
使用ifdown/ifup
指令重啟網卡,使用ip addr
指令查看是否獲取到瞭 ip 地址
5. 總結
本次網絡連接不上的問題是因為:直接復制虛擬機文件,會導致兩個虛擬機中的網卡 MAC 地址相同,導致兩個虛擬機無法同時獲取到 IP 地址(DHCP 根據 MAC 地址識別不同的設備)
推薦閱讀:
- VMware配置VMnet8網絡的方法步驟
- Vmware虛擬機設置固定IP地址的方法( 圖文教程)
- 教你如何在Mac上安裝VMware Fusion和CentOS-7
- 使用VMware虛擬機安裝Linux(CentOS7鏡像)
- linux手工配置ip地址詳細步驟