在Linux系统中通过修改udev规则或使用nmcli工具实现永久重命名,在Windows系统中通过控制面板或PowerShell操作网卡名称,而VMware、Hyper-V等虚拟机平台自身的“网卡名称”则需要通过各自的设置界面修改。很多朋友在实际操作时,常常把“虚拟机里操作系统的网卡名”和“虚拟化平台显示的网卡设备名”搞混,今天咱们就一次说透。
虚拟机网卡名称修改前的必要认知
网卡在物理机上叫“以太网适配器”或“本地连接”,在Linux里叫eth0、ens33、enp0s3这类内核名称,但在虚拟机场景下,你会看到两层名字:一层是VMware Workstation里那个“网络适配器”或“网卡1”的标签,另一层是你SSH进系统后看到的ens33等系统内名称。
行业共识认为,修改系统内网卡名称的风险远高于修改虚拟机平台的显示名称,因为内核名称往往被网络服务配置(如/etc/sysconfig/network-scripts/ifcfg-ens33)和防火墙规则锁定,一旦变更还容易触发网络代理或DHCP服务异常。
建议你在修改前先执行确认命令,无外乎三种场景:修改重启后生效、修改后立即生效、以及修改后又变回去了,多数的网络配置故障都和第三种场景有关。
Linux虚拟机网卡重命名完整操作步骤
Linux虚拟机网卡名称修改怎么操作?跟发行版强相关,下面分CentOS/RHEL和Ubuntu/Debian两条线路讲。
CentOS/RHEL系统:编辑udev规则文件
CentOS是大多数国内机房和简米云、酷番云老用户的默认选择,它的网卡持久化规则由70-persistent-net.rules控制,操作如下:
- 登录系统,执行
ip addr查看当前网卡接口名(假设旧名称是ens33)。 - 执行
vim /etc/udev/rules.d/70-persistent-net.rules,找到包含ens33的那一行,把NAME=的参数改成你想要的名字,比如NAME="eth0"。 - 同时需要修改网络配置文件:
- 执行
cd /etc/sysconfig/network-scripts/,找到ifcfg-ens33文件。 - 用
mv ifcfg-ens33 ifcfg-eth0重命名文件,然后vim ifcfg-eth0里的DEVICE=ens33和NAME=ens33都同步改为eth0。 - 如果你使用了
HWADDR字段,务必和网卡实际MAC保持一致,缺失会导致KVM虚拟机网卡名称修改后重启失效。

- 执行
- 重启网络服务:
service network restart,再执行ip addr确认。
这种方式针对的是“Linux虚拟机网卡重命名后网络不通”的典型案例,百分之八十以上的原因就是ifcfg文件里的DEVICE和udev规则不一致。
Ubuntu/Debian系统:使用netplan方案
Ubuntu 18.04以上默认采用netplan管理网络,但网卡名称实际上由系统固件描述符决定,直接改netplan里的名称会造成配置失效,推荐使用systemd link文件覆盖:
- 查看当前接口名:
ip link show。 - 新建一个link配置文件:
vim /etc/systemd/network/10-eth0.link。
[Match]
MACAddress=00:0c:29:xx:xx:xx
[Link]
Name=eth0
把MAC替换成你虚拟机网卡的真实MAC地址,保存后执行netplan apply或直接重启虚拟机。
使用nmcli对连接名称改名
如果你用的是NetworkManager管理网络,那么对于连接名称和设备名称要区分对待,执行nmcli con show能看到连接名,执行nmcli device status能看到设备名,修改设备名的操作和上面相同,而修连接名则用:
nmcli con mod "旧连接名" connection.id "新连接名"
nmcli con up "新连接名"
这种方式常用于物理机克隆虚拟机后出现的网卡配置混乱问题。
Windows虚拟机网卡名称怎么修改
Windows系统下,操作路径直观很多,但有两个不同层面:虚拟机窗口右上角显示的“网络连接”名称,和你在控制面板里看到的“以太网”名称属于同一概念,涉及Hyper-V、VMware或VirtualBox虚拟机网卡名称修改时,管理员最常问的一个问题是:Windows网络连接重命名会不会导致虚拟机丢IP?答案是不会,因为名称只是显示标识,不会改变IP地址绑定关系。
通过控制面板修改Windows网卡名
- 打开控制面板,进入“网络和共享中心”。
- 点击左侧“更改适配器设置”,找到“以太网”或“本地连接”图标。
- 右键点击名称,选择“重命名”,直接输入新名称,回车确认。

在Windows 10/11上,“本地连接”通常显示为“以太网”,重命名后系统会保留该名称,但需要管理员权限,值得注意的是,Windows Server版本的虚拟机网卡名称修改后,防火墙规则里按网卡名称放行的策略会全部失效,需要同步更新。
通过PowerShell命令修改名称
在Windows PowerShell(以管理员身份运行)中执行:
Get-NetAdapter | Format-Table
Rename-NetAdapter -Name “以太网” -NewName “VM-业务网卡”
执行后立即生效,无需重启,但如果虚拟机开启了DHCP且网卡名称含中文字符,某些旧版应用程序调用网卡时可能乱码,建议使用英文或者拼音命名,例如vm-web-net1。
虚拟化平台侧显示的网卡名称怎么改
VMware Workstation虚拟机网卡名称修改,针对的是“虚拟机设置 -> 网络适配器”右侧的标签名,操作:选中虚拟机 -> 编辑设置 -> 网络适配器 -> 点击高级 -> 给“网卡名称”输入新标注,这个名称只显示在VMware界面里,不影响操作系统内识别。
Hyper-V虚拟机网卡名称修改则是在虚拟机的“硬件”面板里选择网络适配器,下方的“名称”字段可编缉,需要注意Hyper-V的虚拟网卡名称会同时出现在“虚拟交换管理器”中,如果重名,需要额外在Powershell里执行Rename-VMNetworkAdapter命令,这是微软官方支持的API。
修改名称后网络配置不生效的排查路径
不少人会碰到修改完成以后ip addr里新名字出来了,但网络不通,或者配置丢了的局面,这时候按顺序排查:
- 查看
/etc/udev/rules.d/下是否有多余的规则文件,CentOS系统要检查/usr/lib/udev/rules.d/80-net-name-slot.rules干扰。 - 确认
/etc/sysconfig/network-scripts/里没有保留旧名称的ifcfg文件(例如ifcfg-ens33和ifcfg-eth0同时存在)。 - 执行
systemctl restart NetworkManager或service network restart,观察所在的输出日志。 - 确认映射状态:
ip link show eth0,检查MAC地址下面有没有ALTPHYS标记。
多数情况下,问题出在“克隆虚拟机”场景源机器上绑定了MAC和网卡名,克隆后MAC变了,导致新名称绑定不生效,此时重新编写一遍udev规则文件即可解决。

Windows和Linux虚拟机网卡名称修改差异对比
| 维度 | Linux虚拟机 | Windows虚拟机 |
|---|---|---|
| 修改入口 | udev规则或netplan | 控制面板或PowerShell |
| 持久性 | 依赖文件绑定 | 注册表持久保存 |
| 生效方式 | 重启网络服务或重启系统 | 即时生效或热刷新 |
| 风险等级 | 较高,涉及网络服务中断 | 较低,显示名称修改无风险 |
| 常用工具 | vim编辑器、nmcli | PowerShell、ncpa.cpl |
从上表可以看出,Linux侧重规则的严谨绑定,Windows侧更多是显示层的重命名,所以生产环境里,Linux服务器修改网卡名的代价明显比Windows更高。
常见问题问答
虚拟机网卡名称怎么修改后重启失效?
Linux下重启失效的根源在于udev规则与NetworkManager配置冲突,建议禁用80-net-name-slot.rules中的可预测命名规则,并确保70-persistent-net.rules里的NAME值与ifcfg文件中的DEVICE完全一致,Windows下重启失效则一般出现在“以太网”被重命名后系统自动改回的情况,直接修改注册表键HKLMSYSTEMCurrentControlSetControlNetwork中的ConnectionName值可持久化。
修改虚拟机的网卡名称会影响外网访问吗?
修改系统内网卡名称时,IP地址不会被清除,但IP绑定在旧设备上的策略(例如基于网卡名称过滤的iptables规则)会失效,导致外网规则链路断开,修改前最好先把防火墙规则改用IP地址或者MAC地址作为匹配条件,确认全部放行后再变更名称。
简米云或酷番云的虚拟机实例支持修改网卡名称吗?
云厂商控制台里看到的“主网卡/辅助网卡”名称是不支持自定义修改的,那是云平台侧的资源标识,但登录到操作系统内部,云上的Linux和本地虚拟机一样可以修改udev规则来修改系统内网卡名,如果你用的是VPC网络,改完后必须确保安全组里的源地址过滤规则不受影响,规则本身不会因名称变化而自动更新,需要手动检查。