HCRM博客

如何在CentOS系统中查找和更改网卡名称?

CentOS卡名称详解

在CentOS系统中,网卡名称的命名方式经历了多次变化,特别是在较新的版本中,采用了一种被称为“可预测的网络接口名称”的规则,这种规则旨在使网卡名称更具描述性和稳定性,但在某些情况下,用户可能更习惯于传统的名称(如eth0、eth1),本文将详细解释CentOS中的网卡命名机制,并提供修改网卡名为传统名称的方法及注意事项。

如何在CentOS系统中查找和更改网卡名称?-图1
(图片来源网络,侵权删除)

一、CentOS网卡命名背景与机制

1. 传统命名方式(ethX)

在早期的Linux发行版中,包括CentOS 6及之前的版本,网卡通常采用“ethX”的命名方式,X”是一个数字,表示网卡的顺序号,第一块网卡命名为eth0,第二块为eth1,依此类推。

2. 可预测的网络接口名称(Predictable Network Interface Names)

从CentOS 7开始,系统引入了可预测的网络接口名称规则,这是由systemd和udev共同实现的,根据这一规则,网卡名称基于固件、拓扑及位置信息自动生成,格式通常为“enXsY”,

“en”代表以太网(Ethernet)。

“X”是主板上插槽的编号。

如何在CentOS系统中查找和更改网卡名称?-图2
(图片来源网络,侵权删除)

“sY”代表自该插槽连接的开关或端口编号。

一块插在主板第一个插槽上的网卡可能被命名为“ens33”,3”表示插槽编号,“3”表示该插槽上的第三个端口。

3. 命名规则的优势

稳定性:即使硬件配置发生变化(如更换网卡、添加新网卡),只要插槽和端口不变,网卡名称就不会变。

描述性:名称中包含了硬件的位置信息,便于管理员理解网络拓扑结构。

4. 命名规则的局限

如何在CentOS系统中查找和更改网卡名称?-图3
(图片来源网络,侵权删除)

复杂性:对于习惯了传统命名方式的用户来说,新的命名规则可能显得不够直观。

兼容性问题:某些旧的软件或脚本可能依赖于传统的网卡名称,导致在新系统上运行不正常。

二、修改CentOS网卡名称为传统名称

1. 查看当前网卡名称

使用ip addr命令可以查看当前系统中的网络接口及其名称。

ip addr

输出示例:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:54:c2:7a brd ff:ff:ff:ff:ff:ff
    inet 192.168.74.74/24 brd 192.168.74.255 scope global dynamic ens33
       valid_lft 86400sec preferred_lft 86400sec
    inet6 fe80::5c:8c49:19b3:669/64 scope link 
       valid_lft forever preferred_lft forever

在这个例子中,当前的网卡名称为“ens33”。

2. 修改GRUB配置文件

为了禁用可预测的网络接口名称,并恢复传统的命名方式,需要修改GRUB配置文件,编辑/etc/default/grub文件:

sudo nano /etc/default/grub

找到GRUB_CMDLINE_LINUX行,添加net.ifnames=0 biosdevname=0参数,如下所示:

GRUB_CMDLINE_LINUX="... net.ifnames=0 biosdevname=0"

保存并关闭文件,然后更新GRUB配置:

sudo grub2mkconfig o /boot/grub2/grub.cfg

3. 编辑网卡配置文件

需要修改网卡的配置文件,将新的网卡名称(如eth0)指定给当前的网卡设备,假设当前网卡名称为“ens33”,编辑其配置文件:

sudo nano /etc/sysconfig/networkscripts/ifcfgens33

将文件中的DEVICENAME行修改为:

DEVICE=eth0
NAME=eth0

保存并关闭文件。

4. 编辑udev规则文件

为确保系统重启后网卡名称保持不变,还需要修改udev规则文件,创建或编辑/etc/udev/rules.d/70persistentnet.rules文件:

sudo nano /etc/udev/rules.d/70persistentnet.rules

添加以下内容,将MAC地址替换为实际网卡的MAC地址:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:54:c2:7a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

保存并关闭文件,MAC地址必须准确无误,否则可能导致规则不生效。

5. 重启系统

完成上述步骤后,重启系统以应用更改:

sudo reboot

6. 验证修改结果

系统重启后,再次使用ip addr命令检查网卡名称是否已成功修改为“eth0”。

三、注意事项

备份配置文件:在进行任何修改之前,建议备份相关的配置文件,以便在出现问题时可以快速恢复。

确保正确的MAC地址:在编辑udev规则时,务必确认ATTR{address}对应的是正确的网卡MAC地址,避免错误配置。

网络连接中断:由于网卡名称的更改可能导致网络连接短暂中断,请确保在执行此操作前有其他访问服务器的方式(如通过控制台或本地访问)。

兼容性考虑:如果系统中存在依赖传统网卡名称的服务或脚本,修改网卡名称后可能需要相应地更新这些服务或脚本的配置。

CentOS系统中的网卡命名机制随着版本的更新而发生了变化,从传统的“ethX”方式转变为更加稳定和描述性强的“可预测的网络接口名称”,在某些场景下,用户可能更习惯于传统的网卡名称,通过修改GRUB配置、网卡配置文件以及udev规则文件,用户可以将CentOS系统的网卡名称修改为传统的“ethX”格式,在操作过程中,需要注意备份配置文件、确保MAC地址正确以及考虑网络连接中断等潜在问题,希望本文能够帮助读者更好地理解和管理CentOS系统中的网卡名称。

分享:
扫描分享到社交APP
上一篇
下一篇