首頁 > 軟體

CentOS 6.x修改網絡卡名稱em1、2...為eth0、1...

2020-06-16 17:20:25

最近在部署OpenStack環境時,採用雙網絡卡,安裝完cenos6.6後發現網絡卡名稱為em1,em2,不是以前熟悉的eth0,eth1,由於openstack設定比較麻煩,於是想修改網絡卡名為eth0、1...

檢視網上的一些資料:

--------------------------------------分割線 --------------------------------------

CentOS 6.3 mini安裝後沒有網絡卡和網絡卡變成em1問題解決

採用最小化mini方式安裝CentOS6.3後重新啟動,結果在系統裡面看不到網絡卡;ifconfig也顯示只一個本地迴環lo口,

檢查/etc/sysconfig/network-scripts/下的網絡卡組態檔,結果也沒有找到 ifcfg-eth0這樣的組態檔,但是卻多出了 ifcfg-em1和ifcfg-em2這樣的2個組態檔;難不成Linux也開始像FreeBSD靠攏?網絡卡代號也採用em的形式了?後來在dmesg中看到如下一行資訊:

kernel: udev: renamed network interface eth0 to em1

原來是udev這個裝置管理進程在開機過程中將系統預設的eth0改名為em1了,其實em1對應的就是系統原本的eth0網絡卡;由於我在mini安裝過程中沒有對網路進行設定,所以系統預設沒有將網絡卡啟用導致ifconfig看不到任何網絡卡;只需要在/etc/sysconfig/network-scripts/ifcfg-em1中將引數 ONBOOT=no改為yes,然後service network restart  網絡卡em1就出現了!固定IP的設定也在該組態檔中如下:

  1. DEVICE=em1 
  2. BOOTPROTO=none  
  3. HWADDR=00:26:b9:xx:b1:xx 
  4. NM_CONTROLLED=yes  
  5. ONBOOT=yes                     //設定為yes,在啟動時啟用網絡卡 
  6. TYPE=Ethernet  
  7. UUID="7799bca7-4a68-4619-a685-xxxxxxx2345" 
  8. IPADDR=192.168.2.80  
  9. NETMASK=255.255.255.0  
  10. DNS2=8.8.8.8  
  11. GATEWAY=192.168.2.254  
  12. DNS1=192.168.2.88  
  13. IPV6INIT=no  
  14. USERCTL=no 

修改em1為eth0 方法1: (發現有些伺服器沒有70-persistent-net.rules檔案,這是就無從下手了

總覺得Linux的網絡卡代號變成了em1不習慣,想還原為一直以來熟悉的eth0也是可以的,調整udev的網絡卡命名規則組態檔 /etc/udev/rules.d/70-persistent-net.rules 修改內容如下:

 

  • # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)  
  • SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:b9:80:b1:
  • a5", ATTR{type}=="1", KERNEL=="eth*", NAME="em2"       // 修改為eth1
  •  
  • # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)  
  • SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:b9:80:b1:
  • a4", ATTR{type}=="1", KERNEL=="eth*", NAME="em1"      //修改為eth0

 

我的機器有2張網絡卡,所以這個rule組態檔中指定了將kernel識別出的eth*裝置分別命名為了 em1和em2(em代號是從1開始的,預設沒有em0)這裡我們只需要將em1和em2分別替換成 eth0和eth1即可!

這樣系統就會把網絡卡命名還原為eth0了,但是我們還需要對網絡卡組態檔做相應修改否則網路和IP的設定都不會應用到eth0的網絡卡上;

將/etc/sysconfig/network-scripts/ifcfg-em1檔案改名為 /etc/sysconfig/network-scripts/ifcfg-eth0,

並修改檔案中的 DEVICE=em1為 DEVICE=eth0

如果有多張網絡卡,都要做相應修改,注意網絡卡代號的對應;

重新啟動系統,熟悉的eth0網絡卡回來了,IP設定也生效了!

修改em1為eth0 方法2: (這個方法 不確認biosdevname=0 關閉了dev會產生什麼其他影響

解決問題如下:

1、在grub裡增加biosdevname=0的啟動引數,形如

kernel /vmlinuz-2.6.32-131.21.1.el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_LVM_LV=vg_test/lv_root rd_LVM_LV=vg_test/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latar
cyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet biosdevname=0

2、刪除udev的組態檔rm -f /etc/udev/rules.d/70-persistent-net.rules

3、把網絡卡組態檔改名

mv ifcfg-em1 ifcfg-eth0

4、把網絡卡組態檔內容修正,把em1的全部改成eth0

--------------------------------------分割線 --------------------------------------

可是在/etc/udev/rules.d/下沒有發現70-persistent-net.rules

無法按照上文進行操作

於是自己先備份網絡卡組態檔ifcfg-em1 ifcfg-em2

修改檔名為ifcfg-eth0 ifcfg-eth1

然後在對應的檔案內容修改DEVICE=eth0或eth1 設定onboot=yes

然後重新啟動電腦,登陸後發現還是不行,

不要急,再重新啟動一次就可以了

然後你就可以發現在/etc/udev/rules.d/目錄下有你想看到的檔案了

網絡卡名也修改過來了,也可以上網了。

???文永久更新連結地址http://www.linuxidc.com/Linux/2017-03/141382.htm


IT145.com E-mail:sddin#qq.com