CentOS7修改網絡卡名由ens33改成eth0
阿新 • • 發佈:2018-12-25
為什麼要改網絡卡名
可能有些人會覺得這個操作沒有實際的意義,但是真實的情況是我們在做一些操作的時候,往往需要進行批量處理,如果說每臺主機的網絡卡名都是一樣的,這就給我們提供了很大的便利,我們可以進行批處理操作。
Linux 作業系統的網絡卡裝置的傳統命名方式是 eth0、eth1、eth2等,而 CentOS7 提供了不同的命名規則,預設是基於韌體、拓撲、位置資訊來分配。這樣做的優點是命名全自動的、可預知的,缺點是比 eth0、wlan0 更難讀,比如 ens33 。
一、命名規則策略
- 規則1:
- 對於板載裝置命名合併韌體或 BIOS 提供的索引號,如果來自韌體或 BIOS 的資訊可讀就命名,比如eno1,這種命名是比較常見的,否則使用規則2。
- 規則2:
- 命名合併韌體或 BIOS 提供的 PCI-E 熱插拔口索引號,比如 ens1,如果資訊可讀就使用,否則使用規則3。
- 規則3:
- 命名合併硬體介面的物理位置,比如 enp2s0,可用就命名,失敗直接到方案5。
- 規則4:
- 命名合併介面的 MAC 地址,比如 enx78e7d1ea46da,預設不使用,除非使用者選擇使用此方案。
- 規則5:
- 使用傳統的方案,如果所有的方案都失敗,使用類似 eth0 這樣的樣式。
二、網絡卡名稱字元含義
1、前2個字元的含義
en 乙太網 Ethernet wl 無線區域網 WLAN ww 無線廣域網 WWAN
2、第3個字元根據裝置型別選擇
o<index> on-board device index number s<slot> hotplug slot index number 熱插槽索引號 x<MAC> MAC address p<bus>s<slot> PCI geographical location p<bus>s<slot> USB port number chain
三、修改網絡卡名稱樣式為ethx
如果不習慣使用新的命名規則,可以恢復使用傳統的方式命名,編輯 grub 檔案,增加兩個變數,再使用 grub2-mkconfig 重新生成 grub 配置檔案即可。
1、備份/etc/sysconfig/grub檔案
cp /etc/sysconfig/grub /etc/sysconfig/grub.bak
2、編輯/etc/sysconfig/grub配置檔案
vim /etc/sysconfig/grub # 其實是/etc/default/grub的軟連線
# 在GRUB_CMDLINE_LINUX後的雙引號內新增,具體內容如下(紅色加粗):
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0 rhgb quiet"
3、重新生成 grub 配置檔案
grub2-mkconfig -o /boot/grub2/grub.cfg
4、修改網絡卡配置檔案
- 備份網絡卡配置檔案和更改網絡卡檔案為eth0
cp /etc/sysconfifg/network-scripts/ifcfg-ens33 /etc/sysconfifg/network-scripts/ifcfg-ens33.bak
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
- 原來網絡卡配置檔名稱為 ifcfg-ens33,這裡需要修改為 ethx 的格式,並適當調整網絡卡配置檔案
# 修改ifcfg-eth0檔案如下內容(其它內容不變)
NAME=eth0
DEVICE=eth0
[[email protected] ~]# reboot # 重啟系統即可