linux系统更改网卡设备名

假设ens1改为ens2
修改完网卡名后,需要重新配置网络

方法一:临时更改网卡名(重启后失效)

如果你只是想临时测试一下,可以使用 ip 命令。

# 1. 先将网卡关闭(断开连接)
ip link set ens1 down

# 2. 更改网卡名称
ip link set ens1 name ens2

# 3. 重新启动网卡
ip link set ens2 up

# 4. 验证网卡设备名已修改
ip link show

方法二:使用 udev 规则永久更改(推荐,适用于大多数系统)

通过网卡的 MAC 地址来绑定一个固定的网卡名称。

  1. 查看当前网卡名和 MAC 地址:
    记下你要修改的网卡的 MAC 地址(link/ether 后面的内容,例如 00:11:22:33:44:55)
  2. 创建或修改 udev 规则文件:
    打开或创建 /etc/udev/rules.d/70-persistent-net.rules 文件(数字前缀可能是其他,如 10 或 99):
    vim /etc/udev/rules.d/70-persistent-net.rules
  3. 添加以下内容:
    将里面的 MAC 地址和 NAME 替换为你自己的。
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", NAME="ens2"
  4. 应用规则或重启:
    修改完网络配置文件后,重启系统即可生效。
    或者使用下面命令重载规则:
    ip link set ens1 down
    udevadm trigger –subsystem-match=net –action=add
    ip link set ens2 up
    systemctl restart NetworkManager

网卡的NAME和DEVICE
DEVICE 是给系统(内核)看的硬件代号,NAME 是给人(或 NetworkManager 软件)看的配置文件别名。

以下是它们的详细区别:

1. DEVICE(设备名)—— 对应底层真实的网卡

  • 含义:它指的是系统中真实的物理网卡或逻辑网卡在内核层面的接口名称
  • 取值:必须与系统识别到的网卡名完全一致(如 eth0、ens33、enp3s0 等)。你可以通过 ip a 或 ifconfig 命令查看到的名字。
  • 重要性极其重要。如果这个值写错了,系统就会报找不到设备的错误,网卡将无法启动。它是硬件和配置文件绑定的核心。

2. NAME(连接名称)—— 对应 NetworkManager 的配置名

  • 含义:它是 NetworkManager(现代 Linux 默认的网络管理服务)为这套网络配置起的一个**“档案名”或“连接配置名”(Connection Profile Name)**。
  • 取值可以随便填。它可以是包含空格的任意字符串,比如 NAME=”Wired connection 1″、NAME=”MyHomeNetwork”,也可以干脆和设备名一样写成 NAME=ens33。
  • 重要性:仅用于管理和展示。当你有多个不同的网络配置文件想应用在同一块网卡上时(比如在公司用一套静态 IP 配置,在家里用一套 DHCP 配置),你可以给它们起不同的 NAME 以作区分。

当你在使用 NetworkManager 的命令行工具 nmcli 时,这两个参数的区别会非常明显:

查看 NAME(查看系统里有哪些网络配置方案):

nmcli connection show

输出示例:

NAME    UUID    TYPE   DEVICE
ens33Wired  8f9e0d1c…  ethernet  ens33 

查看 DEVICE(查看真实的物理网卡状态):

nmcli device status

输出示例:

DEVICE   TYPE   STATE     CONNECTION(即 NAME)
ens33   ethernet  connected   ens33Wired

总结

在修改配置文件时:

NAME=”ens33″ 怎么写都行,但为了方便管理,大家通常会把它写得跟 DEVICE 一样,这也是为什么初学者经常混淆这两个参数的原因。

DEVICE=”ens33″ 绝对不能瞎写,必须匹配系统真实的网卡接口。