Linux网卡重命名分临时和永久两类:临时用ip link set命令即时生效但重启失效;永久需禁用systemd一致命名规则、修改GRUB参数并更新网络配置文件;别名则通过ip addr add或配置文件实现多IP绑定。

Linux 修改网卡设备名称,分临时生效和永久生效两类。重命名(如把 ens33 改成 eth0)本质是禁用新命名规则并重建映射;别名(如给 eth0 添加 eth0:0)则是逻辑子接口,用于多IP或VLAN等场景。两者目的不同,操作方式也不同。
临时重命名网卡(重启失效)
适合测试或应急调整,无需修改配置文件,立即生效:
- 先关闭目标网卡:
ip link set ens33 down - 执行重命名:
ip link set ens33 name eth0 - 再启用新名称的网卡:
ip link set eth0 up - 验证:
ip link show | grep -A1 "eth0:"或ls /sys/class/net/
注意:该操作要求网卡当前未被 NetworkManager、systemd-networkd 等服务管理,否则可能被自动还原。
永久重命名网卡(推荐 CentOS/RHEL/Fedora)
核心是禁用 systemd 的一致命名规则,并同步更新配置文件:
- 编辑
/etc/default/grub,在GRUB_CMDLINE_LINUX行末尾添加:net.ifnames=0 biosdevname=0 - 重新生成 GRUB 配置:
BIOS 系统执行grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI 系统执行grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg(路径按实际发行版调整) - 进入
/etc/sysconfig/network-scripts/,重命名配置文件:mv ifcfg-ens33 ifcfg-eth0 - 编辑
ifcfg-eth0,确保以下两行值为新名称:NAME=eth0DEVICE=eth0
(可删掉 UUID 行,避免冲突) - 重启系统生效
设置网卡别名(如 eth0:0)
别名是传统 ifconfig 时代的逻辑接口写法,现代系统更推荐用 ip addr add,但兼容性配置仍常见:
- 方法一(传统):新建配置文件
ifcfg-eth0:0,内容示例:DEVICE=eth0:0BOOTPROTO=staticONBOOT=yesIPADDR=192.168.10.100NETMASK=255.255.255.0 - 方法二(推荐):直接用 ip 命令添加地址(不依赖配置文件):
ip addr add 192.168.10.100/24 dev eth0
该地址默认随主接口启停,无需额外管理 - 别名不参与路由决策,仅用于绑定服务或测试,不能独立 up/down
通过 udev 规则精准控制重命名(高级场景)
适用于多网卡、MAC 地址固定但需按物理位置或用途命名的情况:
- 查 MAC 地址:
ip link show ens33 | awk '/ether/ {print $2}' - 创建规则文件:
/etc/udev/rules.d/10-network.rules - 写入规则(替换 MAC 和目标名):
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:c5:38:3b", NAME="mgmt0" - 重载 udev 规则:
udevadm control --reload-rules && udevadm trigger - 重启网络或整机生效
此方式不依赖 grub 参数,对已启用 net.ifnames 的系统也有效,适合混合环境统一管理。











