Linux系统下更改网卡MAC地址
本文讲解了如何在 Linux系统下修改MAC地址
- 系统环境: Debian 12
- 网卡型号: 此办法适用于 Mellanox connectx的4/5/6/7代网卡
- 刷新方案: 刷新MAC地址需要安装MFT工具, mft-4.26.1-3-x86_64-deb.tgz
安装mft工具方法如下:
解压安装包
root@vxworks:~/mft# tar zxvf mft-4.26.1-3-x86_64-deb.tgz
root@vxworks:~/mft# cd mft-4.26.1-3-x86_64-deb/
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb# ls
DEBS install.sh LICENSE.txt old-mft-uninstall.sh SDEBS uninstall.sh
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb#
安装编译环境
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb# apt install gcc make dkms
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
.......
/etc/kernel/header_postinst.d/dkms:
dkms: running auto installation service for kernel 6.1.0-18-amd64.
dkms: autoinstall for kernel: 6.1.0-18-amd64.
Setting up linux-headers-amd64 (6.1.76-1) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+deb12u4) ...
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb#
安装mft工具
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb# ./install.sh
-I- Removing mft external packages installed on the machine
-I- Installing package: /root/mft/mft-4.26.1-3-x86_64-deb/SDEBS/kernel-mft-dkms_4.26.1-3_all.deb
-I- Installing package: /root/mft/mft-4.26.1-3-x86_64-deb/DEBS/mft_4.26.1-3_amd64.deb
-I- In order to start mst, please run "mst start".
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb#
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb# mst status
MST modules:
------------
MST PCI module is not loaded
MST PCI configuration module loaded
PCI Devices:
------------
/dev/mst/mt4119_pciconf0 - PCI conf iguration cycles access .
domain🚌dev.fn=0000:3b:00.0 addr.reg=88 data.reg=92 cr_bar.gw_offset=-1
Chip revision is: 00
root@vxworks:~/mft/mft-4.26.1-3-x86_64-deb#
刷新MAC地址
关闭写保护:
root@vxworks:~#flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled
刷MAC:
root@vxworks:~#flint -d /dev/mst/mt511_pciconf0 –mac 0000709CD1C9B5E8 –ocr sg
重置FW:
root@vxworks:~#mlxfwreset –d /dev/mst/mt511_pciconf0 r
这样mac地址应该已经生效了,请重启再重新检查一下。
注意:加粗部分根据实际情况修正,mst status可获取到实际的设备名称