萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

CentOS 6 修改網卡名稱三大法:udev 規則、setup 工具、biosdevname 內核參數

CentOS 6 使用 udev 管理裝置命名,預設依據 MAC 位址產生持久化規則 /etc/udev/rules.d/70-persistent-net.rules。修改網卡名稱需同步更新 udev 規則、網卡配置檔、GRUB 參數,避免重開機後名稱漂移。

udev 規則檔案

方法一:直接編輯 udev 規則(推薦、精準)

  1. 查看現有規則:

    # cat /etc/udev/rules.d/70-persistent-net.rules
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:78:e8:2e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:04:19:6c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    
  2. 修改 NAME 欄位為期望名稱(如 eth0、eth1),確保 MAC 對應正確。
  3. 測試規則:

    # udevadm test /sys/class/net/eth0
    

    觀察 NAME 輸出是否符合預期。

  4. 重載 udev 或重啟:

    # start_udev
    # 或 reboot
    

方法二:使用 setup / system-config-network-tui(圖形化)

  1. 執行 setup → Network configuration → Device configuration → Add → 選 Ethernet → 填入 eth1、IP、Netmask。
  2. 若 /etc/sysconfig/network-scripts/ifcfg-eth1 未生成,檢查 /etc/sysconfig/networking/devices/ 並複製:

    # cp /etc/sysconfig/networking/devices/* /etc/sysconfig/network-scripts/
    # system-config-network-tui
    
  3. 重啟網路服務:service network restart。

方法三:禁用 biosdevname + 重建 udev 規則(適用 em1/p1p1 等新命名)

  1. 編輯 GRUB:

    # vi /boot/grub/grub.conf
    kernel /vmlinuz-... ro root=... rhgb quiet biosdevname=0
    
  2. 刪除舊規則:

    # rm -f /etc/udev/rules.d/70-persistent-net.rules
    
  3. 重命名配置檔:

    # cd /etc/sysconfig/network-scripts/
    # mv ifcfg-em1 ifcfg-eth0
    # perl -pi -e 's/em1/eth0/g' ifcfg-eth0
    
  4. 重啟:reboot。

驗證與後續

# ip link show
# cat /etc/udev/rules.d/70-persistent-net.rules
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  • 確認 NAME、DEVICE、HWADDR 三者一致。
  • 更新 /etc/hosts、防火牆規則、監控代理配置中的介面名稱。
  • 若使用 NetworkManager,需同步修改 /etc/NetworkManager/system-connections/ 下連線檔案。

避坑指南

  • 修改 udev 規則後必須 start_udev 或重啟,單純 service network restart 不會重新套用命名規則。
  • 雙網卡交換 MAC 位址會導致名稱互換,務必核對 ATTR{address}。
  • CentOS 7+ 改用 systemd-link/udev NAME_POLICY(kernel database onboard slot path),命名邏輯不同,參考 man systemd.link。

三種方法覆蓋從底層規則到高層工具,依習慣與環境選擇,核心原則:MAC 綁定名稱、配置檔同步、驗證生效。

copyright © 萬盛學電腦網 all rights reserved