Linux CentOS 7系统固定网卡名称和MAC地址操作步骤
以下是CentOS 7系统中固定网卡名称和MAC地址的详细操作流程,确保ip a或ifconfig显示修改后的结果:
一、固定网卡名称
⚙️ 方法1:通过udev规则绑定(推荐)
查看当前网卡信息
ip link show # 记录需固定的网卡名称(如`ens33`)及其MAC地址(如`00:11:22:33:44:55`)
创建udev规则文件
sudo vi /etc/udev/rules.d/70-persistent-net.rules
添加规则(替换MAC和自定义名称如
eth0):SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"
多网卡需重复添加规则。
生效规则并更新配置
sudo udevadm control --reload-rules
sudo udevadm trigger
# 重命名网络配置文件
sudo mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改文件内容:
DEVICE=eth0
NAME=eth0
HWADDR=00:11:22:33:44:55 # 确保MAC一致
重启系统或网络服务
sudo systemctl restart NetworkManager # 或重启系统
⚙️ 方法2:禁用可预测命名规则(恢复ethX)
修改GRUB配置
sudo vi /etc/default/grub
在
GRUB_CMDLINE_LINUX行追加:net.ifnames=0 biosdevname=0
更新GRUB并重启
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
重启后网卡名称将变为
eth0格式。
二、固定MAC地址(永久生效)
编辑网卡配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改或添加字段:
HWADDR=00:AA:BB:CC:DD:EE # 新MAC地址
重启网络服务
sudo systemctl restart network
若使用NetworkManager:
sudo systemctl restart NetworkManager
三、验证配置
检查网卡名称与MAC
ip link show eth0 # 输出应包含新名称和MAC
示例输出:
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:AA:BB:CC:DD:EE brd ff:ff:ff:ff:ff:ff
测试网络连通性
ping 8.8.8.8 # 确保网络功能正常
️ 四、注意事项
特殊场景处理
- 多网卡竞争:若板载网卡(千兆)先于PCIe网卡(万兆)启动,禁用低速网卡驱动:
echo "blacklist igb" | sudo tee /etc/modprobe.d/blacklist.conf
sudo sed -i 's/^GRUB_CMDLINE_LINUX="/&rdblacklist=igb /' /etc/default/grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- 虚拟机克隆:删除旧MAC规则文件
/etc/udev/rules.d/70-persistent-net.rules,避免冲突。
- 多网卡竞争:若板载网卡(千兆)先于PCIe网卡(万兆)启动,禁用低速网卡驱动:
操作风险
- 修改前备份配置文件(如
ifcfg-eth0、grub.cfg)。 - MAC地址格式需为
XX:XX:XX:XX:XX:XX(字母大小写不敏感)。
- 修改前备份配置文件(如
总结
固定名称:优先通过
udev规则绑定MAC与自定义名称(如eth0),同步更新配置文件。固定MAC:在
ifcfg-ethX中设置HWADDR字段并重启网络服务。生效关键:修改后必须重启网络服务或系统,并通过
ip link验证结果。
命令速查表
# 生成udev规则模板
echo 'SUBSYSTEM=="net", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"' | sudo tee /etc/udev/rules.d/70-persistent-net.rules
# 永久修改MAC
sudo sed -i 's/^HWADDR=.*/HWADDR=00:AA:BB:CC:DD:EE/' /etc/sysconfig/network-scripts/ifcfg-eth0
Linux CentOS 7系统固定网卡名称和MAC地址操作步骤的更多相关文章
- 新装Linux系统没有网卡驱动的解决办法和步骤
Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linu ...
- Linux CentOS 8系统离线升级内核版本
Linux CentOS 8系统离线升级内核版本 搬运如下文章,十分感谢 https://blog.csdn.net/WQwinter/article/details/127231086 二.升级步骤 ...
- 获得Unix/Linux系统中的IP、MAC地址等信息
获得Unix/Linux系统中的IP.MAC地址等信息 中高级 | 2010-07-13 16:03 | 分类:①C语言. Unix/Linux. 网络编程 ②手册 | 4,471 次阅读 ...
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
- Linux系统更改网卡名称
自己装了一台机器,有两张网卡,一个是主板上自带的,还有一个是后来自己添加的.装完系统后,系统默认主板上的网卡为eth1,而自己添加的网卡是eth0,感觉不爽,所以想办法使用udev使系统将主板上的网卡 ...
- CentOS 7.2更改网卡名称
背景 没啥背景,就是VMWare装的CentOS虚拟机的自带网卡名有点乱,想重新定义一下. 环境 1.VMWare虚拟机 6张网卡 2.系统 [root@localhost ~]# cat /etc/ ...
- 关于linux - Centos 7 系统下使用PXE网络的方式(pxe+dhcpd+tftp+httpd)安装操作系统
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘.光驱等设备启动. 现代的网卡,一般都内嵌支持PXE的ROM芯片. ...
- 记录Linux CentOS 7系统完整部署Docker容器环境教程
笔者之前有在"详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程"文章中有介绍到利用Ubuntu系统安装Docker容器环境的过程.如果我们有使用CentOS ...
- PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
声明转换于其它博客当中的. <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $ ...
- L09-Linux系统修改网卡名称(eth1修改为eth0)
一.环境 VirtualBox + CentOS6.5 二.问题 有时候在克隆服务器之后配置网络时,或者在维护别人建好的服务器时,会遇到这样一种情况.如下图所示: 即:在接口配置文件ifcfg-e ...
随机推荐
- 操作系统:linux -- 虚拟文件系统如何管理文件
本节来瞧下Linux是如何管理文件,也验证下Linux那句口号:一切皆文件 为此,我们需要首先搞清楚什么是 VFS,接着理清为了实现 VFS 所用到的数据结构,然后看看一个文件的打开.读写.关闭的过程 ...
- 快速查看kafka消息内容(支持指定group)
下载开源的 kafka 界面客户端 KafkaKing:https://github.com/Bronya0/Kafka-King 在成功下载该客户端后,进行连接操作.连接完毕后,切换到 consum ...
- Docker基本使用方法
Docker 的基本使用方法 最近在尝试复现研究CVE,docker太方便了,学了下基本的使用方法,怕忘记,记于此处 1. 容器与镜像 镜像是一堆只读的文件. 容器 = 镜像 + 读写层 运行态的容器 ...
- HDE演讲---RN应用的鸿蒙化适配经验分享
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- linux之whiptail交互式shell脚本对话框
简单说明 当你在linux环境下setup软件的时候就会有相应的对话框让你输入.虽然我们已经习惯了这种交互的方法,但是如果有一种直观的界面来输入是不是会更加友好和方便呢,在shell脚本中你可以使用- ...
- 大数据开源项目,一站式全自动化全生命周期运维管家ChengYing(承影)走向何方?
原文链接:三分钟走进袋鼠云一站式全自动化全生命周期运维管家ChengYing(承影) 课件获取:关注公众号 ** "数栈研习社",后台私信 "ChengYing" ...
- HyperWorks卫星惯性释放分析(OptiStruct)
Step01:读取模型,并设置求解器模板为 OptiStruct. (1) 读入 IGES 格式的几何模型 Exercise_9a.iges. 在绝大多数 CAE 分析中,都将从一个导入的 CAD 模 ...
- Linux安装dotnet运行时
Centos Linux 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库. 打开终端并运行以下命令: sudo rp ...
- Docker容器中Redis操作
加载镜像 查询官方镜像及其版本信息 docker search redis 加载最新镜像 docker pull redis:lastest 查看本地镜像 docker images 运行容器 启动实 ...
- Blazor学习之旅(2)第一个Blazor应用
本篇我们来构建第一个Blazor Web应用,这里我们选择Blazor Server类型,后面我们再学习Blazor WebAssembly类型. 话外音:有人问我西门子在用Blazor吗?是的,西门 ...