Linux 网卡命名规范笔记

命名规范

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

biosdevname 指向网卡的 BIOS 设备名称
net.ifnames 指定网卡在系统中的名称

网卡命名规范配置查看

grep 'biosdevname' /etc/sysconfig/grub
biosdevname=0 net.ifnames=1  # 表示关闭biosdevname,启用net.ifnamesdmesg | 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 分配的名称来命名网络接口

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

eth0
eth1 
em1 板载网卡
p3p4 pci网卡

net.ifnames

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

一些常见的命名:
	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 会使用以下策略,采用支持的命名方案为接口命名:

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无法解决问题。

其他

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

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
联想笔记本安装Kali Linux时,可能会遇到找不到或兼容性不佳的网卡驱动问题。Kali Linux基于Debian发行版,因此你可以通过以下步骤来安装合适的网卡驱动: 1. **检查已有的驱动**: 首先,打开终端并运行 `lspci -nnk` 来查看你的电脑上连接的网络设备及其对应的内核模块编号。 2. **确定网卡型号**: 根据设备ID找到对应的硬件名称,例如如果你看到的是 `02:00.0 Network controller [0280]: Intel Corporation Ethernet Connection (rev 05)`,说明这是一块Intel的网卡。 3. **查找对应驱动**: 访问Linux内核的官方驱动库(https://www.kernel.org/),查询你的网卡型号,看看是否有预编译好的模块或是否需要下载源码自行编译。 4. **加载驱动**: 如果有预编译的驱动,可以尝试使用 `modprobe` 或 `dkms` (如果已经安装)来加载。如果没有,可能需要手动编译内核模块,通常涉及下载源代码、配置、编译和安装的过程。 5. **更新系统**: 使用 `apt-get update && apt-get upgrade` 更新你的包管理系统,看看是否能自动识别并安装正确的驱动。 6. **检查网络设置**: 安装好驱动后,确保网络服务正常启动并且你能通过 `ifconfig` 或 `ip addr` 查看到网卡信息。 **相关问题--** 1. 如何检查当前使用的网卡驱动版本? 2. 如何通过DKMS管理动态加载内核模块? 3. 我的网卡驱动问题仍然存在,应该去哪里寻求帮助?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值