RHEL7修改网卡名称为eth0

本文介绍如何将RHEL7系统中的网卡名称从默认的基于固件和拓扑信息的复杂名称修改为传统的eth0格式。包括修改网卡配置文件、更新grub配置文件、设置udev规则及使用NetworkManager工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录下RHEL7修改网卡名称为eth0的过程步骤。

1)修改网卡配置文件并改名
cd /etc/sysconfig/network-scripts/
mv ifcfg-eno16777736 ifcfg-eth0
vi ifcfg-eth0 
NAME=eth0

2)修改grub文件并重新生成grub配置文件
  vim /etc/default/grub
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root crashkernel=auto  rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us net.ifnames=0 biosdevname=0 rhgb quiet"
grub2-mkconfig -o /boot/grub2/grub.cfg

3)设置udev文件

vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0C:29:7C:96:05",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"

4)重启
reboot

以上方法的确可以成功,自己使用另一种方法,即第一步使用nmtui,进行Networ
kManager。具体步骤为nmtui---> Edit a connection---->改网卡名为eth0。第二步为上边

步骤的第一步和第二步,然后直接重启就可以了


+===================================================+

Linux 操作系统的网卡设备的传统命名方式是 eth0、eth1、eth2等,而 CentOS7 提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的,缺点是比 eth0、wlan0 更难读,比如 ens33 。

一、命名规则策略

规则1:

对于板载设备命名合并固件或 BIOS 提供的索引号,如果来自固件或 BIOS 的信息可读就命名,比如eno1,这种命名是比较常见的,否则使用规则2。

规则2:

命名合并固件或 BIOS 提供的 PCI-E 热插拔口索引号,比如 ens1,如果信息可读就使用,否则使用规则3。

规则3:

命名合并硬件接口的物理位置,比如 enp2s0,可用就命名,失败直接到方案5。

规则4:

命名合并接口的 MAC 地址,比如 enx78e7d1ea46da,默认不使用,除非用户选择使用此方案。

规则5:

使用传统的方案,如果所有的方案都失败,使用类似 eth0 这样的样式。

 

二、网卡名称字符含义

1、前2个字符的含义

en  以太网    Ethernet
wl  无线局域网  WLAN
ww   无线广域网  WWAN

2、第3个字符根据设备类型选择

o<index>           on-board device index number
s<slot>            hotplug slot index number
x<MAC>             MAC address
p<bus>s<slot>      PCI geographical location
p<bus>s<slot>      USB port number chain

 

三、修改网卡名称样式为ethx

如果不习惯使用新的命名规则,可以恢复使用传统的方式命名,编辑 grub 文件,增加两个变量,再使用 grub2-mkconfig 重新生成 grub 配置文件即可。

1、编辑 grub 配置文件

vim /etc/sysconfig/grub   # 其实是/etc/default/grub的软连接
# 为GRUB_CMDLINE_LINUX变量增加2个参数,具体内容如下(加粗):
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0 rhgb quiet"

2、重新生成 grub 配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

然后重新启动 Linux 操作系统,通过 ip addr 可以看到网卡名称已经变为 eth0 。

3、修改网卡配置文件

原来网卡配置文件名称为 ifcfg-ens33,这里需要修改为 ethx 的格式,并适当调整网卡配置文件。

mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改ifcfg-eth0文件如下内容(其它内容不变)
NAME=eth0
DEVICE=eth0
[root@localhost ~]# systemctl restart network.service    # 重启网络服务

注意:ifcfg-ens33 文件最好删除掉,否则重启 network 服务时候会报错。


-----------------------------------------------------------------------------------------------------------------------

前言

大家都知道CentOS7默认的网卡名称是和设备名称是随机的,如果要修改网卡名称以 eth 开头,有两种方式,如下:

第一种方式

这种方式适合在安装操作系统的时候进行设置,

点击 Tab,打开kernel启动选项,

增加内核参数: net.ifnames=0   biosdevname=0

输入完成之后回车正常安装操作系统就好了。


<think>我们参考了多个引用来源,包括CentOS和Ubuntu系统修改网卡名称eth0的方法。主要步骤涉及修改GRUB引导参数、更新GRUB配置、重命名网卡配置文件、调整NetworkManager连接以及重启系统等操作。需要注意的是,不同Linux发行版(如CentOS和Ubuntu)的具体操作可能略有差异。以下是综合整理后的通用步骤及注意事项:###一、修改GRUB引导参数1.编辑GRUB配置文件:-CentOS7/8/9:`/etc/default/grub`-Ubuntu18.04+:`/etc/default/grub`2.在`GRUB_CMDLINE_LINUX`行末尾添加参数:```bashnet.ifnames=0biosdevname=0```例如修改后:```bashGRUB_CMDLINE_LINUX="...原有参数...net.ifnames=0biosdevname=0quiet"```3.更新GRUB配置:-CentOS/RHEL:```bashgrub2-mkconfig-o/boot/grub2/grub.cfg```-Ubuntu/Debian:```bashupdate-grub```###二、重命名网卡配置文件1.查找当前网卡配置文件:```bashls/etc/sysconfig/network-scripts/ifcfg-*#CentOSls/etc/netplan/*.yaml#Ubuntu18.04+```2.重命名配置文件(以CentOS为例):```bashmv/etc/sysconfig/network-scripts/ifcfg-ens33/etc/sysconfig/network-scripts/ifcfg-eth0```3.修改配置文件内容:-编辑`ifcfg-eth0`,将`NAME`和`DEVICE`字段改为`eth0`:```bashNAME=eth0DEVICE=eth0```###三、处理NetworkManager连接(重要)1.删除旧的NetworkManager连接:```bashnmcliconnectionshow#查看现有连接名称nmcliconnectiondeleteens33#删除原网卡连接(如ens33)```2.创建新连接:```bashnmcliconnectionaddtypeethernetifnameeth0con-nameeth0```###四、Ubuntu系统的特殊处理对于Ubuntu18.04及以上版本:1.修改`/etc/netplan/`下的YAML配置文件,将原网卡名(如`ens33`)替换为`eth0`。2.应用配置:```bashnetplanapply```###五、重启系统```bashreboot```###注意事项1.**备份配置文件**:操作前备份`/etc/default/grub`和网卡配置文件。2.**虚拟机环境**:部分虚拟机(如VMware)可能需要额外调整网络设置。3.**多网卡场景**:需为每个网卡创建独立的配置文件(如eth0,eth1)。4.**服务依赖**:Ubuntu系统使用`netplan`,修改后需执行`netplanapply`[^4]。§§相关问题§§1.修改网卡名称后网络服务无法启动怎么办?2.如何在CentOS8系统中永久修改网卡名称?3.Ubuntu22.04修改网卡名称与18.04有何不同?</think>### 如何将Linux网卡名称修改eth0 以下是修改Linux系统网卡名称eth0的标准方法,适用于CentOS/RHEL 7+和Ubuntu 18.04+系统: #### 一、修改GRUB引导参数(关键步骤) 1. **编辑GRUB配置文件**: ```bash sudo vim /etc/default/grub ``` 2. **在`GRUB_CMDLINE_LINUX`行末尾添加参数**: ```bash GRUB_CMDLINE_LINUX="...原有参数... net.ifnames=0 biosdevname=0 quiet" ``` 示例修改后效果: ```bash GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0" ``` [^1][^5] 3. **更新GRUB配置**: - CentOS/RHEL: ```bash sudo grub2-mkconfig -o /boot/grub2/grub.cfg ``` - Ubuntu: ```bash sudo update-grub ``` #### 二、重命名网卡配置文件 1. **查找当前网卡名**: ```bash ip -o link show | awk -F': ' '{print $2}' ``` (假设原网卡名为`ens33`) 2. **重命名配置文件**: ```bash sudo mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0 # CentOS sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak # Ubuntu备份 ``` [^2] 3. **修改配置文件内容**: ```bash sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` 修改关键参数: ```bash NAME=eth0 DEVICE=eth0 ``` #### 三、更新NetworkManager连接 1. **删除旧连接**: ```bash nmcli connection show nmcli connection delete ens33 ``` 2. **创建新连接**: ```bash nmcli connection add type ethernet ifname eth0 con-name eth0 ``` [^1][^3] #### 四、重启系统生效 ```bash sudo reboot ``` #### 五、验证结果 ```bash ip link show | grep eth0 ifconfig -a ``` ### 注意事项 1. **Ubuntu特殊处理**: - 修改后需执行`sudo netplan apply` - 检查`/etc/netplan/*.yaml`中的网卡名是否更新[^4] 2. **多网卡场景**: - 对每个网卡重复上述步骤(eth0, eth1等) - 使用脚本批量处理(参考引用[^3]) 3. **故障恢复**: ```bash # 恢复GRUB参数后更新 sudo grub2-mkconfig -o /boot/grub2/grub.cfg sudo reboot ``` > **重要提示**:操作前务必备份关键文件(`/etc/default/grub`, 网卡配置文件),虚拟机环境建议先创建快照[^2][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值