VMware 克隆 Linux 虛擬機後,常發生網卡裝置名稱漂移 (如 eth0 變 eth2),導致 ifconfig 找不到 eth0、靜態 IP 配置失效。根因:克隆產生新 MAC 位址,udev 規則 (70-persistent-net.rules) 記錄舊 MAC 對應 eth0,新介面獲新編號。解決核心:同步修改 udev 規則與網卡配置檔案的 MAC 位址與裝置名稱對應。
# ifconfig
eth2: ... # 原本應為 eth0
# ifconfig eth0
eth0: error fetching interface information: Device not found
00:0C:29:AB:C5:2C)/etc/udev/rules.d/70-persistent-net.rules 仍記錄舊 MAC 對應 eth0eth2/etc/sysconfig/network-scripts/ifcfg-eth0 仍設定舊 MAC 或無 MAC,啟動失敗ifconfig -a
# 記錄實際存在的介面名稱 (如 eth2) 及其 MAC 位址 (如 00:0C:29:AB:C5:2C)
vi /etc/udev/rules.d/70-persistent-net.rules
# 找到類似行:
# PCI device 0x1022:0x2000 (vmxnet)
# SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:AB:C5:2C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# 修改為:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:AB:C5:2C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# 註解掉舊的 eth0 規則行 (若存在)
# SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="OLD_MAC", ..., NAME="eth0"
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 關鍵欄位:
DEVICE=eth0
HWADDR=00:0C:29:AB:C5:2C # 必須與 udev 規則、實際 MAC 完全一致
IPADDR=192.168.0.102 # 靜態 IP
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ONBOOT=yes
BOOTPROTO=static
vi /etc/sysconfig/network
HOSTNAME=cloned-host
service network restart
# 輸出應顯示:
# Bringing up interface eth0: Active connection state: activating ... state: activated
reboot
ifconfig
# eth0 應正常顯示,含正確 IP、MAC、RX/TX 封包統計

ens33, enp0s3 等 (非 ethX)/etc/sysconfig/network-scripts/ifcfg-ens33/etc/udev/rules.d/70-persistent-net.rulesnmcli / ip link set dev ens33 name eth0 重命名 (需配合 udev 規則)核心邏輯:實際 MAC = udev 規則 MAC = ifcfg-eth0 HWADDR = 目標裝置名稱 (eth0)。三者嚴格一致,網路服務即可正常啟動指定介面。