Linux7系统如何修改网卡名称?具体操作步骤是什么?

在Linux 7系统中,默认采用Predictable Network Names(可预测网络名)机制,网卡名称通常以ens、eno、enp等前缀开头(如ens33、eno1),这种命名方式虽然能根据硬件信息(如主板插槽、网卡插槽)稳定识别网卡,但部分用户或旧版脚本习惯使用传统的eth0、eth1等名称,本文将详细介绍Linux 7系统中修改网卡名的两种方法:临时修改(重启后失效)和永久修改(重启后生效),重点说明永久修改的详细步骤及注意事项。

linux7 如何改网卡名

查看当前网卡信息

在修改网卡名前,需先确认当前网卡的名称、MAC地址及运行状态,使用ip a命令(或ifconfig,若已安装)查看:

ip a

输出示例中,重点关注类似以下内容:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33
       valid_lft 86400sec preferred_lft 86400sec
    inet6 fe80::20c:29ff:fexx:xxxx/64 scope link
       valid_lft forever preferred_lft forever

记录下网卡名(如ens33)和MAC地址(00:0c:29:xx:xx:xx),后续修改需依赖这些信息。

临时修改网卡名(仅测试用)

临时修改通过ip命令实现,重启系统后网卡名会恢复原状,适用于临时测试场景:

# 将ens33临时修改为eth0
sudo ip link set dev ens33 name eth0
# 启动网卡(若原状态为UP)
sudo ip link set dev eth0 up

验证:执行ip a | grep eth0,若显示网卡信息则临时修改成功,但此方法不推荐生产环境使用,因重启后会失效。

永久修改网卡名(推荐方法)

永久修改需修改网络配置文件和udev规则,确保重启后网卡名固定,以下分为传统ifcfg文件方法和NetworkManager方法(Linux 7默认可能使用NetworkManager,两种方法可根据实际环境选择)。

(一)基于ifcfg文件的永久修改

  1. 备份原有配置文件
    防止修改出错导致网络不可用,先备份原网卡配置文件(位于/etc/sysconfig/network-scripts/目录下):

    sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
  2. 修改网卡配置文件
    编辑原网卡配置文件(如ifcfg-ens33),使用vimnano工具:

    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

    需修改的核心参数如下:

    • NAME:网卡的显示名称,修改为目标名称(如eth0);
    • DEVICE:网卡设备名,需与NAME保持一致(如eth0);
    • 其他参数(如BOOTPROTOONBOOTIPADDR等)无需修改,保持原样。

    修改前后对比如下表
    | 参数 | 修改前 | 修改后 | 说明 |
    |————–|————–|————–|————————–|
    | NAME | ens33 | eth0 | 网卡显示名称 |
    | DEVICE | ens33 | eth0 | 网卡设备名 |
    | BOOTPROTO | dhcp | dhcp | IP获取方式(示例为DHCP) |
    | ONBOOT | yes | yes | 是否开机启动 |
    | IPADDR | 168.1.100 | 168.1.100 | 静态IP(若有) |

    linux7 如何改网卡名

    保存文件后退出(vim中按wq)。

  3. 创建udev规则绑定MAC地址与网卡名
    Linux 7通过udev规则根据MAC地址固定网卡名,避免硬件变动导致名称变化,创建规则文件:

    sudo vim /etc/udev/rules.d/70-persistent-net.rules

    添加以下内容(ATTR{address}替换为实际MAC地址,NAME替换为目标网卡名):

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:xx:xx:xx", NAME="eth0"

    说明:该规则表示当MAC地址为00:0c:29:xx:xx:xx的网卡被添加时,将其命名为eth0

  4. 重启网络服务或系统
    执行以下命令使配置生效(推荐重启系统,确保udev规则正确加载):

    # 重启网络服务(部分场景可能需要)
    sudo systemctl restart network
    # 或重启系统(推荐)
    sudo reboot
  5. 验证修改结果
    重启后执行ip a,查看网卡名是否已修改为eth0,且IP地址等信息正常显示:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
           valid_lft 86400sec preferred_lft 86400sec
        inet6 fe80::20c:29ff:fexx:xxxx/64 scope link
           valid_lft forever preferred_lft forever

(二)基于NetworkManager的永久修改(适用于nmcli管理)

若系统使用NetworkManager(默认),可通过nmcli命令修改,无需手动编辑ifcfg文件:

  1. 查看当前网络连接名

    nmcli con show

    输出示例:

    ens33  802-3-ethernet  ethernet  --

    记录连接名(如ens33)。

    linux7 如何改网卡名

  2. 修改连接ID为目标网卡名

    sudo nmcli con mod "ens33" connection.id "eth0"

    说明:"ens33"为原连接名,"eth0"为目标网卡名。

  3. 重启连接使配置生效

    sudo nmcli con down "eth0" && sudo nmcli con up "eth0"
  4. 验证修改

    ip a | grep eth0

    若显示网卡信息则修改成功。

注意事项

  1. 备份配置文件:修改前务必备份原配置,避免误操作导致网络中断。
  2. MAC地址一致性:udev规则中的ATTR{address}必须与实际网卡MAC地址一致,可通过ip a确认。
  3. SELinux影响:若系统启用SELinux,修改配置文件后需执行restorecon恢复上下文:
    sudo restorecon /etc/sysconfig/network-scripts/ifcfg-eth0
    sudo restorecon /etc/udev/rules.d/70-persistent-net.rules
  4. 虚拟机环境:VMware、VirtualBox等虚拟机的网卡名可能与物理机不同,需以ip a实际输出为准。
  5. 多网卡场景:若有多块网卡,需逐块修改配置文件和udev规则,避免名称冲突。

FAQs

Q1:修改网卡名后无法上网,如何排查?
A:首先检查配置文件是否正确:确认/etc/sysconfig/network-scripts/ifcfg-eth0中的DEVICENAME是否与目标网卡名一致,ONBOOT是否为yes,其次检查udev规则中的MAC地址是否正确(可通过ip a查看当前网卡的MAC地址并与规则文件中的对比),最后测试网络连通性(如ping 8.168.1.1),若不通可重启网络服务(systemctl restart network)或检查防火墙状态(firewall-cmd --state)。

Q2:为什么按照步骤修改后重启,网卡名还是显示为ens33?
A:可能原因有两个:一是udev规则未生效,需检查/etc/udev/rules.d/70-persistent-net.rules文件是否存在且内容正确(MAC地址和网卡名无误),可尝试重启udev服务(systemctl restart systemd-udev-load-modules.service)后再重启系统;二是NetworkManager未正确应用配置,若使用nmcli修改,需确认连接名是否正确(nmcli con show查看),并尝试删除原连接后重新创建(nmcli con delete "ens33",再重新配置网络)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38043.html

(0)
酷番叔酷番叔
上一篇 2025年10月8日 01:54
下一篇 2025年10月8日 02:12

相关推荐

  • 如何将linux压缩成iso文件下载

    命令行工具如 mkisofs 将文件系统制作成ISO,再通过

    2025年8月18日
    2800
  • Linux如何配置支持SMP多处理器协同工作?

    配置Linux支持SMP(对称多处理)是提升服务器和高性能计算系统性能的关键步骤,SMP允许多个CPU核心共享内存和I/O子系统,通过并行处理任务显著提高系统吞吐量,以下是详细的配置流程和优化方法,涵盖硬件基础、内核配置、启动参数、系统调优及工具使用等内容,硬件基础准备SMP配置的前提是硬件支持,需确保以下组件……

    2025年10月9日
    1300
  • Linux不重启还原系统的具体操作方法是什么?

    Linux系统在运行过程中,常因配置误操作、软件包冲突或服务异常等问题需要还原状态,与重启还原不同,不重启的动态还原能避免服务中断,适用于生产环境的高可用需求,本文将从配置文件、软件包、服务状态、内核参数及用户数据等方面,详细介绍Linux不重启系统还原的具体操作方法,配置文件还原配置文件错误是系统异常的常见原……

    2025年9月20日
    1900
  • Linux系统如何取消登录密码?操作步骤是怎样的?

    在Linux系统中,“取消密码”通常指让特定用户或操作无需输入密码即可完成,常见于本地登录、sudo提权或SSH远程访问等场景,但需注意,取消密码会显著降低系统安全性,仅建议在完全可控的测试环境中使用,生产环境应优先采用密钥认证等安全方式,以下从不同场景详细说明操作方法及注意事项,本地用户登录密码取消(设置为空……

    2025年9月20日
    2300
  • Linux启动终端的常用方法有哪些?

    Linux终端是用户与系统交互的核心工具,通过命令行可以高效执行系统管理、文件操作、程序编译等任务,启动终端的方式因桌面环境、系统配置和使用场景的不同而有所差异,以下从多个维度详细介绍Linux终端的启动方法,桌面环境下的图形界面启动大多数Linux发行版默认搭载图形桌面环境(如GNOME、KDE Plasma……

    2025年9月29日
    1400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信