2021-05-12 14:32:11
CentOS 6.x修改網絡卡名稱em1、2...為eth0、1...
最近在部署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的設定也在該組態檔中如下:
- DEVICE=em1
- BOOTPROTO=none
- HWADDR=00:26:b9:xx:b1:xx
- NM_CONTROLLED=yes
- ONBOOT=yes //設定為yes,在啟動時啟用網絡卡
- TYPE=Ethernet
- UUID="7799bca7-4a68-4619-a685-xxxxxxx2345"
- IPADDR=192.168.2.80
- NETMASK=255.255.255.0
- DNS2=8.8.8.8
- GATEWAY=192.168.2.254
- DNS1=192.168.2.88
- IPV6INIT=no
- 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
相關文章