Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

CentOS 虛擬機網卡名稱 eth1 改為 eth0 完整修改方法

編輯:Linux 教學

問題背景

克隆虛擬機或遷移磁碟後,原網卡 MAC 位址變更,udev 規則將新網卡命名為 eth1,而腳本/配置多寫死 eth0,導致網路不通。

修正步驟(CentOS 6/7 通用)

1. 修正 udev 規則檔

vim /etc/udev/rules.d/70-persistent-net.rules
  • 找到舊網卡(舊 MAC)那一行,註釋或刪除。
  • 找到新網卡(現有 MAC)那一行,將 NAME="eth1" 改為 NAME="eth0"。
  • 儲存離開。

2. 重命名網卡配置腳本檔

mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0

3. 修改配置檔內容

vim /etc/sysconfig/network-scripts/ifcfg-eth0
  • 將 DEVICE=eth1 改為 DEVICE=eth0。
  • 確認 HWADDR 對應新 MAC(可選,若不寫 HWADDR 則由 udev 綁定)。
  • 檢查 ONBOOT=yes、BOOTPROTO、IPADDR 等參數正確。

4. 重啟網路服務或重啟主機

service network restart
# 或
reboot

驗證

ip addr show eth0
# 或
ifconfig eth0

應顯示 eth0 並擁有正確 IP。

CentOS 7/8 額外說明(Predictable Network Interface Names)

CentOS 7 預設採用 ens33、eno1 等新命名規則。若仍想用 eth0,需:

  1. 修改 GRUB 核心參數:vim /etc/default/grub,在 GRUB_CMDLINE_LINUX 追加 net.ifnames=0 biosdevname=0。
  2. 重建 GRUB 配置:grub2-mkconfig -o /boot/grub2/grub.cfg(BIOS)或 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg(UEFI)。
  3. 按上述步驟建立 ifcfg-eth0、調整 udev 規則。
  4. 重啟。

常見問題

現象原因解決
重啟後仍為 eth1udev 規則未生效或 MAC 不符核對 70-persistent-net.rules MAC 位址,確認 udevadm trigger 或重啟
網路服務啟動失敗ifcfg-eth0 參數錯誤cat /var/log/messages 查看具體錯誤,修正 IP/NETMASK/GATEWAY
雙網卡順序錯亂MAC 對應關係顛倒在 udev 規則中明確指定 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"

總結

核心邏輯:udev 規則決定核心命名 → ifcfg- 套用 IP 設定。只要把這兩處的名稱對齊到 eth0,並確保 MAC 位址對應正確,即可徹底解決克隆/遷移後的網卡命名問題。

Copyright © Windows教程網 All Rights Reserved