日常工作或實驗中,我們經常需要對虛擬機進行克隆或遷移,遷移之後我們要CRT連接該虛擬機就必須先設置該虛擬機的網卡。遷移一台Linux虛擬機後,你會發現系統下不再有eth0,而變成了eth1,你重啟網絡服務後,會提示找不到設備eth0及eth1的啟動腳本。因此,遷移Linux虛擬機後如何修改網卡相當重要。
一、 遷移後網卡名為什麼改變
1.1. 當你克隆或遷移Linux虛擬機後,使用ifconfig –a查看網卡信息,你會發現只有eth1,沒有eth0了。
很多Linux distribution使用udev動態管理設備文件,並根據設備的信息對其進行持久化命名。udev會在系統引導的過程中識別網卡,將mac地址和網卡名稱對應起來記錄在udev的規則腳本中。而對於新的虛擬機,VMware會自動為虛擬機的網卡生成MAC地址,當你克隆或者重裝虛擬機軟件時,由於你使用的是以前系統虛擬硬盤的信息,而該系統中已經有eth0的信息,對於這個新的網卡,udev會自動將其命名為eth1(累加的原則),所以在你的系統啟動後,你使用ifconfig看到的網卡名為eth1。
二、 如何修改網卡正常獲取網絡
2.1. 查看虛擬機采用的網絡連接模式和該模式分配的IP網段
2.2. 進入/etc/sysconfig/network-scripts該目錄,你會發現有ifcfg-eth0的配置文件,倘若直接修改一個該網段的IP,然後重啟網絡服務,會提示報錯,eth0該網卡並不存在
2.3. 使用ifconfig –a命令查看,只有eth1的網卡信息,這時可以直接將eth0改成eth1,MAC地址改成eth1的MAC地址後,重啟網絡服務eth1即可正常獲取IP
三、 如何將eth1改回原來的eth0
3.1. 先修改eth0配置文件的MAC地址為eth1的MAC地址
3.2. 然後進入/etc/udev/rule.d/的目錄,打開70-persistent-net.rules文件,刪除eth0信息,把eth1改名為eth0
3.3. 重啟
電腦後,使用ifconfig命令查看eth0正確獲取地址,通過CRT也能正常連接