Linux如何修改网卡设备名称?

在Linux系统中,网卡的默认命名方式可能因发行版、内核版本或硬件信息而不同,例如传统的eth0、基于硬件信息的ens33、eno1等,统一的网卡命名规范有助于简化网络管理,尤其是在服务器集群或自动化运维场景中,本文将详细介绍Linux系统中修改网卡名的具体方法,涵盖临时修改、永久修改以及不同发行版的配置差异,并针对常见问题提供解决方案。

linux 如何修改网卡名

查看当前网卡信息

在修改网卡名前,需先确认当前网卡的名称及对应的网络配置,使用以下命令可列出系统中所有网卡及其详细信息:

  • ip a:显示网卡的IP地址、MAC地址等状态信息,输出结果中“inet”对应IPv4地址,“link/ether”对应MAC地址。
  • ls /sys/class/net/:列出系统中的所有网卡名称,结果即为当前网卡名(如ens33、ens37等)。
  • nmcli device status(NetworkManager工具):若系统使用NetworkManager管理网络,该命令可显示网卡名称、连接状态及类型。

临时修改网卡名

临时修改网卡名仅对当前会话有效,重启系统后恢复,适用于快速测试或临时场景,操作步骤如下:

  1. 使用ip link命令修改
    以将网卡ens33修改为eth0为例,执行:

    sudo ip link set ens33 down  # 关闭网卡
    sudo ip link set ens33 name eth0  # 修改网卡名
    sudo ip link set eth0 up    # 启动网卡

    执行后可通过ip a确认网卡名已变更为eth0,但重启系统后会恢复为原名称。

永久修改网卡名

永久修改需修改网络配置文件,并根据发行版调整对应规则,确保重启后网卡名保持不变,以下以CentOS/RHEL和Ubuntu为例分别说明:

(一)CentOS/RHEL系统(使用NetworkManager或ifcfg配置)

CentOS 7及以上版本默认使用NetworkManager,同时支持传统的ifcfg配置文件方式。

方法1:修改ifcfg配置文件(适用于NetworkManager禁用或传统网络服务)

  1. 定位原网卡配置文件
    网卡配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-原网卡名,例如ifcfg-ens33

  2. 修改配置文件内容
    编辑ifcfg-ens33,将NAMEDEVICE参数修改为目标网卡名(如eth0),其他参数(如BOOTPROTOONBOOT)保持不变:

    NAME=eth0          # 修改为目标网卡名
    DEVICE=eth0        # 修改为目标网卡名
    BOOTPROTO=dhcp     # IP获取方式(dhcp/static)
    ONBOOT=yes         # 开机自启
    TYPE=Ethernet
  3. 创建新网卡配置文件(可选)
    为保持配置文件名与网卡名一致,可复制原配置文件并重命名为ifcfg-eth0

    sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
  4. 更新UDEV规则(关键步骤)
    为确保重启后网卡名不恢复,需创建UDEV规则,绑定MAC地址与目标网卡名,执行以下命令:

    linux 如何修改网卡名

    sudo nmcli con show | grep ens33  # 获取原网卡连接名称(可能与网卡名一致)
    sudo nmcli con modify "ens33" connection.id eth0  # 修改NetworkManager中的连接名

    或通过udevadm生成规则:

    sudo udevadm info -a -p $(udevadm info -q path -n /sys/class/net/ens33) | grep -P 'ATTR{address}==' | awk '{print "SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="" $2 "", NAME="" "eth0" """}' | sudo tee /etc/udev/rules.d/10-network.rules
  5. 重启网络服务

    sudo systemctl restart network

方法2:通过NetworkManager修改(推荐)

  1. 修改连接名称
    使用nmcli命令将原连接名(如ens33)修改为目标名称(eth0):

    sudo nmcli con mod "ens33" connection.id eth0
  2. 更新设备名称
    将设备名与连接名绑定:

    sudo nmcli con mod eth0 connection.interface-name eth0
  3. 重启连接

    sudo nmcli con down eth0 && sudo nmcli con up eth0

(二)Ubuntu系统(使用Netplan或NetworkManager)

Ubuntu 18.04及以上版本默认使用Netplan管理网络,部分版本仍支持/etc/network/interfaces配置。

方法1:修改Netplan配置文件(Ubuntu 18.04+)

  1. 定位Netplan配置文件
    配置文件通常位于/etc/netplan/目录下,例如01-network-manager-all.yaml50-cloud-init.yaml

  2. 修改配置文件
    编辑YAML格式的配置文件,将ethernets下的原网卡名(如ens33)修改为目标名称(eth0),并更新dhcp4addresses等配置:

    network:
      version: 2
      ethernets:
        eth0:  # 修改为目标网卡名
          dhcp4: true  # DHCP获取IP
          # 或静态IP配置:
          # addresses: [192.168.1.100/24]
          # gateway4: 192.168.1.1
          # nameservers:
          #   addresses: [8.8.8.8]
  3. 应用配置

    linux 如何修改网卡名

    sudo netplan apply

方法2:修改/etc/network/interfaces(Ubuntu 16.04及以下)

  1. 编辑配置文件
    修改/etc/network/interfaces,将原网卡名(如ens33)替换为目标名称(eth0):

    auto eth0
    iface eth0 inet dhcp
  2. 重启网络服务

    sudo systemctl restart networking

不同发行版网卡名修改对比

为方便操作,以下表格总结主要发行版的修改要点:

发行版 配置文件位置 关键修改步骤 重启命令
CentOS 7+ /etc/sysconfig/network-scripts/ifcfg-* 修改NAMEDEVICE参数;创建UDEV规则绑定MAC与网卡名 systemctl restart network
CentOS 8+ NetworkManager连接配置 使用nmcli修改连接名和设备名 nmcli con reload && nmcli up eth0
Ubuntu 18.04+ /etc/netplan/*.yaml 修改ethernets下的网卡名,更新IP配置 netplan apply
Ubuntu 16.04 /etc/network/interfaces 替换网卡名,修改接口配置 systemctl restart networking

常见问题处理

修改网卡名后无法启动网络?

原因:配置文件语法错误、UDEV规则冲突或SELinux(CentOS)阻止。
解决

  • 检查配置文件语法(如YAML格式缩进、ifcfg文件参数拼写)。
  • 临时关闭SELinux测试:sudo setenforce 0,若正常则调整SELinux策略。
  • 删除冲突的UDEV规则:sudo rm /etc/udev/rules.d/10-network.rules,重新生成规则。

重启后网卡名恢复为原名称?

原因:未创建永久UDEV规则或Netplan/NetworkManager配置未生效。
解决

  • CentOS系统:确保UDEV规则中MAC地址与网卡绑定正确,执行sudo udevadm control --reload-rules && sudo udevadm trigger重新加载规则。
  • Ubuntu系统:检查Netplan配置文件是否保存,执行sudo netplan --debug apply查看错误日志。

通过以上步骤,可完成Linux系统中网卡名的永久修改,操作时需注意备份原配置文件,避免误操作导致网络中断,不同发行版的具体配置细节可能略有差异,建议根据官方文档调整参数。

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

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 2小时前

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信