Linux 网卡命名规范笔记

命名规范

biosdevname net.ifnames 是一对 Linux 内核参数,它们共同影响网卡的命名方式

biosdevname 指向网卡的 BIOS 设备名称

net.ifnames 指定网卡在系统中的名称

网卡命名规范配置查看

bash 复制代码
grep 'biosdevname' /etc/sysconfig/grub
biosdevname=0 net.ifnames=1  # 表示关闭biosdevname,启用net.ifnames
或
dmesg | grep ifname

# 变更以及生效 (慎重,重启可能会因为网卡配置不对断网)
vi /etc/sysconfig/grub
# 修改命名方式 例如:网卡名 "eth0"
biosdevname=0 net.ifnames=0
grub2-mkconfig -o /boot/grub2/grub.cfg 

例如:
    biosdevname=0, net.ifnames=1 网卡名 "enp5s2"
    biosdevname=1, net.ifnames=0 网卡名 "em1"
    biosdevname=0, net.ifnames=0 网卡名 "eth0"

注意:操作grub文件要谨慎

biosdevname

参数指定内核是否应该使用 BIOS 分配的名称来命名网络接口

缺点:这个命名方式的网卡顺序是由识别顺序决定的,所以可能会出现网卡对不上的情况

bash 复制代码
eth0
eth1 
em1 板载网卡
p3p4 pci网卡

net.ifnames

参数指定内核是否应该使用用户定义的名称来命名网络接口,更可靠

bash 复制代码
一些常见的命名:
	en 代表以太网
	wl 代表无线局域网(WLAN)
	ww 代表无线广域网(WWANs)
	
	o<on-board_index_number>	                                主板自带板载网卡
	s<hot_plug_slot_index_number>[f<function>][d<device_id>]	主板自带板载PCI-E网卡
	x<MAC>	                                                    MAC 地址
	p<bus>s<slot>[f<function>][d<device_id>]	                PCI-E独立网卡
	[P<domain_number>]p<bus>s<slot>[f<function>][u<usb_port>][...][c<config>][i<interface>]	USB网卡
	
示例:
    eno1 板载1号网卡
    enp0s2 以太网0号PCI扩展卡的2号端口
    ens33 由主板 BIOS 内置的 PCI-E 接口的网卡
    wlp3s0 无线第3号PCI扩展卡的0号端口

系统默认命名顺序

默认情况下,systemd 会使用以下策略,采用支持的命名方案为接口命名:

bash 复制代码
Scheme 1(方案 1): 如果从BIOS中能够取到可用的板载网卡的索引号,则使用这个索引号命名,例如: eno1,如不能则尝试Scheme 2
Scheme 2(方案 2): 如果从BIOS中能够取到可以用的网卡所在的PCI-E热插拔插槽的索引号,则使用这个索引号命名,例如: ens1,如不能则尝试Scheme 3
Scheme 3(方案 3): 如果能拿到设备所连接的物理位置信息,则使用这个信息命名,例如:enp2s0,如不能则尝试Scheme 5
Scheme 4(方案 4): 使用网卡的MAC地址来命名,这个方法一般不使用。enx78e7d1ea46da
Scheme 5(方案 5):传统的kernel命名方法,例如: eth0,这种命名方法的结果不可预知的,即可能第二块网卡对应eth0,第一块网卡对应eth1。

网卡配置文件对网卡名的影响

DEVICE 字段指定网卡的设备名称。设备名称是一个唯一标识符,它用于在内核中识别网卡。
NAME 字段指定网卡的逻辑名称。逻辑名称是一个用户友好的名称,它可以用于在应用程序中识别网卡。
在网卡配置文件中,DEVICE 字段的优先级高于 NAME 字段。这意味着,如果 DEVICE 和 NAME 字段同时指定,则 DEVICE 字段的值将用于识别网卡。MAC 字段的优先级低于 DEVICE 和 NAME 字段。

如果网卡漂移问题是由网卡驱动或系统配置引起的,那么在网卡配置文件中添加MAC + DEVICE可以解决问题。

但是,如果网卡漂移问题是由硬件问题引起的,那么在网卡配置文件中添加MAC + DEVICE无法解决问题。

其他

总的来说,还是没有清楚的把这网卡命名和相关的影响描述清楚,后续有新的收获再补充!

相关推荐
稚辉君.MCA_P8_Java12 分钟前
Gemini永久会员 归并排序(Merge Sort) 基于分治思想(Divide and Conquer)的高效排序算法
java·linux·算法·spring·排序算法
wanderist.12 分钟前
Linux使用经验——离线运行python脚本
linux·网络·python
郭庆汝1 小时前
(七)自然语言处理笔记——Ai医生
人工智能·笔记·自然语言处理
czhc11400756631 小时前
Winform笔记1129 checkbox listbox combabox checkedlistbox datapacker
笔记
biter00881 小时前
Ubuntu 22.04 有线网络时好时坏?最终解决方案
linux·网络·ubuntu
zzzsde1 小时前
【Linux】基础开发工具(3):编译器
linux·运维·服务器
('-')2 小时前
《从根上理解MySQL是怎样运行的》第十二章学习笔记
笔记·学习·mysql
愚戏师3 小时前
Python3 多线程
linux·运维·服务器·python
回忆彡美好3 小时前
OpenGL的3D编程个人笔记之材质贴图
笔记·3d·材质·opengl
n***33353 小时前
linux redis简单操作
linux·运维·redis