linux 虛擬機複製網卡不能啓動或使用

不少時候,咱們在使用虛擬機的時候,都會安裝一個虛擬機做爲model,之後須要搭建測試環境都會經過複製model來實現,這樣方便又快速、而後在複製出來的新系統網卡查查不可以直接使用,這是由於網卡的mac地址是惟一的,複製的新系統,會生成新的mac地址,而ifcfg-eth0配置文件裏面的mac地址仍是原來的,因此就須要經過人工修改爲新的mac地址。linux

克隆linux系統後,克隆版沒法啓動網卡,提示錯誤:網絡

device eth0 does not seem to be present,delaying initialization ide

   緣由分析: Linux使用udev動態管理設備文件。VMware會自動生成虛擬機的mac地址。這樣,因爲克隆出的Linux已經記錄了原Linux的網卡mac地址對應於網卡eth0,在克隆出的Linux中因爲mac地址發生改變,udev會自動將該mac對應於網卡eth1,以此類推。而其實kernel僅僅只識別到一張網卡,跟網卡名相關的網絡配置也未發生任何變化。測試

解決方案:ip

udev將mac與網卡名稱的對應關係保存在/etc/udev/rules.d/70-persistent-net.rules中虛擬機


記錄下新的網卡MAC地址和NAME。it

cat /etc/udev/rules.d/70-persistent-net.rulesio


# PCI device 0x8086:0x100f (e1000)   ------複製前的address  註釋掉class

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5f:88:bd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"配置

 

# PCI device 0x8086:0x100f (e1000)   -----複印後生成的新address ,將NAME="eth1" 修改成 NAME="eth0"  ,將ATTR{address}=="00:0c:29:b6:87:56" 值複製在 ifcfg-eth0上

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:b6:87:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

 

 

vi /etc/sysconfig/network-scripts/ifcfg-eth0 

DEVICE=eth1                    #修改成新的eth1 。

HWADDR=00:0C:29:b6:87:56       #用新的MAC替換  00:0c:29:b6:87:56 

TYPE=Ethernet

UUID=fa6bcd84-01ab-4b2d-9dd6-8d4a3a1961ac

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.1.56            #修改IP(若是原虛擬機不一樣時運行,能夠不修改)

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

重啓網卡便可:

相關文章
相關標籤/搜索