Linux系統一向將以太網設備命名爲ethX。通常第一個接口被命名爲eth0,若是你僅有一個網絡端口,這樣毫無問題,但若是出現戴爾PowerEdge服務器的狀況,四個以太網端口該怎麼辦?它們被命名爲 eth0、eth一、eth二、eth3,分別對應機箱背面的標籤 一、二、三、4。某些時候確實如此。除了從 0 開始,而不是從 1 開始致使的明顯命名混亂外,還可能出現其餘混亂狀況,如每一個端口在每次啓用時可能沒法得到相同的名稱,此外它們的命名順序多是任意的。若是將網卡添加到PCI插槽,狀況還會更糟,主板上的端口和新添加卡上的端口命名可能相互混雜。
Biosdevname這是 Dell 開發的工具,旨在爲網絡設備的命名理清思路(而且保持一致性)。Biosdevname 是一款udev幫助程序,可根據系統BIOS提供的信息對網絡接口進行重命名。
新的命名規則以下:
em[1-N]表示主板(嵌入式)NIC(# 對應機箱標籤)
pci<slot>#<port> 表示PCI插槽中的卡,端口 1 至 N
NPAR & SR-IOV設備增長後綴 _<vf>,從0至N,取決於各端口可用的分區或虛擬功能的數量。
其餘Linux命名規則,如 .<vlan> 和 :<alias> 後綴,保持不變且仍然適用。
由此,Linux 網絡接口名稱與外部可見的網絡端口(RJ-45 機架)之間創建了明確的對照。 html
在一些新的Linux發行版中已經默認啓動該參數了,若是你不想使用emX表示法,也能夠回退到ethX表示法的。參照如下步驟: ios
1 修改grub中的內核引導參數,添加biosdevname=0 ubuntu
2 修改網卡配置表示,centos系在/etc/sysconfig/network-scripts/ifcfg-ethX,debian系在/etc/network/interfaces中,emX修改成eth(X-1) centos
3 清空udev中的net規則 服務器
4 reboot機器,以後就會看到老的網卡命名方法 網絡
biosdevname命令的使用方法參考以下: 工具
http://manpages.ubuntu.com/manpages/quantal/en/man1/biosdevname.1.html
spa