Centos7以后版本網(wǎng)卡命名規(guī)則

一、設(shè)備命名標(biāo)準(zhǔn)
參考:
官方文檔第8章:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/ch-consistent_network_device_naming#sec-Naming_Schemes_Hierarchy
部分信息參考博文:感謝!
Noway11:https://www.cnblogs.com/zyd112/p/8143464.html
王偉杰:https://www.jianshu.com/p/b66981dbb389

成都創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、嵊泗網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為嵊泗等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Centos7以前版本的Centost系統(tǒng)對網(wǎng)卡命令采用了傳統(tǒng)的命令標(biāo)準(zhǔn),如eth0,eth2,個(gè)人是理解eth標(biāo)識了網(wǎng)卡的鏈路層封裝類型,后面的數(shù)字就是網(wǎng)卡編號了,但這個(gè)編號可不是一成不變的,如果服務(wù)器增加或刪除新硬件就可能會發(fā)生變化,為運(yùn)維工作多少帶來了一些麻煩,為了解決這個(gè)問題Centos7以后版本引入了新的網(wǎng)絡(luò)設(shè)備命名規(guī)范:一致網(wǎng)絡(luò)設(shè)備命名(CONSISTENT NETWORK DEVICE NAMING),Centos7以后支持biosdevname和net.ifnames兩種命名規(guī)范。

1.net.ifnames命名規(guī)范為:設(shè)備類型+設(shè)備位置+端口號

設(shè)備類型:en 代表以太網(wǎng),wl 代表無線局域網(wǎng)(WLAN),ww 代表無線廣域網(wǎng)(WWAN)。
設(shè)備位置:集成設(shè)備的設(shè)備索引編號 ,或擴(kuò)展卡所在總線槽位編號
端口號:板載集成設(shè)備索引編號或擴(kuò)展卡上的物理端口編號

設(shè)備名稱類型

格式說明
eno1 板載設(shè)備索引號
ens33 熱插拔插槽索引號

舉例:

名稱設(shè)備類型說明
eno1 板載網(wǎng)卡 板載1號網(wǎng)卡
enp0s2 pci網(wǎng)卡 PCI擴(kuò)展卡的2號端口
ens33 pci網(wǎng)卡 熱插拔插槽3號PCI-E插槽的3號端口
wlp3s0 PCI無線網(wǎng)卡 第3號PCI擴(kuò)展卡的0號端口

2.biosdevname命名規(guī)范

Centos系統(tǒng)需要安裝biosdevname程序包才可以使用biosdevname命名規(guī)范,biosdevname程序讀取BIOS信息中的type 9(系統(tǒng)插槽)和 type 41(板載設(shè)備擴(kuò)展信息)兩個(gè)字段信息來命名網(wǎng)卡。(要求SMBIOS的版本要高于2.6)

設(shè)備舊名稱新名稱
板載內(nèi)置網(wǎng)卡 eth[0123…] em[1234…] em1
PCI擴(kuò)展卡網(wǎng)絡(luò)接口 eth[0123…] p【槽位號】p【端口號】 p3p4
子接口虛擬功能 eth[0123…] p【槽位號】p【端口號】_【子接口號】 p3p4_1

二、系統(tǒng)默認(rèn)的網(wǎng)卡命名規(guī)則

官方文檔命名規(guī)則描如下:
默認(rèn)情況下,systemd 會使用以下策略,采用支持的命名方案為接口命名:

方案 1:如果固件或 BIOS 信息適用且可用,則使用整合了為板載設(shè)備提供索引號的固件或 BIOS 的名稱(例如:eno1),否則請使用方案 2。(針對的是板載集成網(wǎng)卡命名)

方案 2:如果固件或 BIOS 信息適用且可用,則使用整合了為 PCI 快速熱插拔插槽提供索引號的固件或 BIOS 名稱(例如 ens1),否則請使用方案 3。(針對的是PCI-E擴(kuò)展網(wǎng)卡針命名標(biāo)準(zhǔn))

方案 3:如果硬件連接器物理位置信息可用,則使用整合了該信息的名稱(例如:enp2s0),否則請使用方案 5。

方案 4:默認(rèn)不使用整合接口 MAC 地址的名稱(例如:enx78e7d1ea46da),但用戶可選擇使用此方案。(根據(jù)MAC地址命名網(wǎng)卡)

方案 5:傳統(tǒng)的不可預(yù)測的內(nèi)核命名方案,在其他方法均失敗后使用(例如: eth0)(以上命令信息都無法獲取時(shí)則采用傳統(tǒng)的命令規(guī)則)

這個(gè)策略(如上所述)是默認(rèn)策略。如果該系統(tǒng)已啟用 biosdevname,則會使用該方案。注:啟用 biosdevname 需要添加 biosdevname=1 作為命令行參數(shù)(Dell 系統(tǒng)除外),此時(shí)只要安裝 biosdevname,就會默認(rèn)使用該方案。如果用戶已添加 udev 規(guī)則,該規(guī)則會更高內(nèi)核設(shè)備名稱,則會優(yōu)先使用這些規(guī)則

三、設(shè)備重命名策略

關(guān)于設(shè)備重命名官方的文檔做了如下闡述:
1./usr/lib/udev/rules.d/60-net.rules 文件中的規(guī)則會讓 udev 幫助工具 /lib/udev/rename_device 查看所有 /etc/sysconfig/network-scripts/ifcfg-suffix 文件。如果發(fā)現(xiàn)包含 HWADDR 條目的 ifcfg 文件與某個(gè)接口的 MAC 地址匹配,它會將該接口重命名為 ifcfg 文件中由 DEVICE 指令給出的名稱。

2./usr/lib/udev/rules.d/71-biosdevname.rules 中的規(guī)則讓 biosdevname 根據(jù)其命名策略重命名該接口,即在上一步中沒有重命名該接口、已安裝 biosdevname、且在 boot 命令行中將 biosdevname=0 作為內(nèi)核命令給出。

3./lib/udev/rules.d/75-net-description.rules 中的規(guī)則讓 udev 通過檢查網(wǎng)絡(luò)接口設(shè)備,填寫內(nèi)部 udev 設(shè)備屬性值 ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。注:有些設(shè)備屬性可能處于未定義狀態(tài)。

4./usr/lib/udev/rules.d/80-net-name-slot.rules 中的規(guī)則讓 udev 重命名該接口,優(yōu)先順序如下:ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。并提供如下信息:沒有在步驟 1 或 2 中重命名該接口,同時(shí)未給出內(nèi)核參數(shù) net.ifnames=0。如果一個(gè)參數(shù)未設(shè)定,則會按列表的順序設(shè)定下一個(gè)。如果沒有設(shè)定任何參數(shù),則不會重命名該接口。

從官方的闡述來看1,3,4都與系統(tǒng)systemd udev命名規(guī)則有關(guān),2與biosdevname有關(guān),個(gè)人理解四個(gè)文件的用途如下:

1./usr/lib/udev/rules.d/60-net.rules (rename_device程序基于自定義配置文件命名)

如果在目錄/etc/sysconfig/network-scripts/中有以ifcfg-開頭的文件,并且其中包含了指定網(wǎng)卡的MAC,則以ifcfg文件中的DEVICE字段給寫的名稱命名。
2./usr/lib/udev/rules.d/71-biosdevname.rules(biosdevname基于BIOS信息自動命名)

如果ifcfg開頭的文件中找不到對應(yīng)的配置,則看系統(tǒng)是否安裝了biosdevname程序包,并且系統(tǒng)未設(shè)備參數(shù)biosdevname=0,則按biosdevname命名標(biāo)準(zhǔn)為網(wǎng)卡命名。

3./lib/udev/rules.d/75-net-description.rules(systemd-udev基于systemd-udev基于網(wǎng)卡信息命名)
如果1,2兩條規(guī)則都沒有命中則查看網(wǎng)卡信息,基于網(wǎng)卡信息指定的字段命名。
4./usr/lib/udev/rules.d/80-net-name-slot.rules(systemd-udev基于systemd-udev基于BIOS信息命名)
網(wǎng)卡信息都沒有指定的字段,則按BIOS獲取的板載槽位信息命名。

總結(jié):自定義配置的優(yōu)先級、其次是biosdevname、最后是systemd-udev自動配置

四、恢復(fù)網(wǎng)卡傳統(tǒng)命名標(biāo)準(zhǔn)

從以上命名策略與命名規(guī)則來看,響應(yīng)網(wǎng)卡命名的應(yīng)該就是受biosdevname、net.ifnames兩個(gè)參數(shù)影響,官方也給出兩個(gè)參數(shù)的默認(rèn)值:iosdevname=0是系統(tǒng)默認(rèn)值(dell服務(wù)器默認(rèn)是1),net.ifnames=1是系統(tǒng)默認(rèn)值
如果想恢復(fù)以前的傳統(tǒng)命名規(guī)范則只需要在grub文件中將兩個(gè)參數(shù)設(shè)置為0即可,具體操作過程如下:

1.編輯/etc/sysconfig/grub文件,在GRUB_CMDLINE_LINUX字段最后添加net.ifnames=0 biosdevname=0

2.重新生成配置文件grub配置文件,執(zhí)行如下命名

grub2-mkconfig -o /boot/grub2/grub.cfg

3.手動編輯/etc/sysconfig/network-scripts/目錄下的ifcf-開頭的文件,注意:HWADDR字段要與待命名的網(wǎng)卡MAC地址對應(yīng),或者UUID字段與網(wǎng)卡的UUID對應(yīng)也可以。

4、重啟系統(tǒng)。

本文名稱:Centos7以后版本網(wǎng)卡命名規(guī)則
文章URL:http://muchs.cn/article36/ppppsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站收錄用戶體驗(yàn)、營銷型網(wǎng)站建設(shè)網(wǎng)站策劃、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)