Skip to content

设置网络别名

如果你希望不重启系统就能修改网卡名称,可以使用 ip link set 命令进行临时修改,或者使用 udev 规则 + udevadm trigger 进行永久修改并即时生效。


sudo ip link set enx00e04c6801aa down
sudo ip link set enx00e04c6801aa name eth0  # 将 eth0 替换为你想要的名称
sudo ip link set eth0 up

🔹 缺点:这种方法在系统重启后会恢复原始名称。


方法 2:udev 规则 + udevadm trigger(永久修改,即时生效)

步骤 1:创建 udev 规则

sudo nano /etc/udev/rules.d/10-network.rules

添加以下内容(替换 00:e0:4c:68:01:aa 为你的 MAC 地址,eth0 为你希望的网卡名称):

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:01:aa", NAME="eth0"

步骤 2:应用 udev 规则(无需重启)

sudo udevadm control --reload
sudo udevadm trigger

步骤 3:检查是否生效

ip a

如果 eth0 显示出来了,就说明修改成功了。

🔹 优点:这种方法是永久的,即使系统重启,网卡名称也不会恢复。


方法 3:使用 NetworkManager(永久修改,即时生效)

步骤 1:创建 NetworkManager 配置

sudo nano /etc/NetworkManager/conf.d/10-rename-network.conf

添加以下内容:

[device]
match-device=mac:00:e0:4c:68:01:aa
name=eth0

步骤 2:重新加载 NetworkManager

sudo systemctl restart NetworkManager

步骤 3:检查是否生效

ip a

🔹 优点:这种方法可以确保 NetworkManager 管理的网卡在重启后仍然使用新的名称。

这个警告表明 udevadm trigger 可能无法立即应用你的 udev 规则,systemd-networkd 可能需要重启才能生效。


解决方案

方法 1:尝试手动重启 systemd-networkd

如果你的系统使用 systemd-networkd 来管理网络,可以尝试重启它:

sudo systemctl restart systemd-networkd

然后检查网卡名称是否更新:

ip a

方法 2:尝试重新加载 udev 规则

如果 systemd-networkd 仍然没有应用修改,可以强制 udev 重新触发设备:

sudo udevadm control --reload-rules
sudo udevadm trigger --verbose

方法 3:如果 NetworkManager 在使用,可以重启 NetworkManager

如果你的系统是基于 NetworkManager(比如 Ubuntu Desktop),可以尝试:

sudo systemctl restart NetworkManager

然后再次检查:

ip a

如果还是无效

如果以上方法都不生效,那可能你的网络管理方式是 NetworkManager,而不是 systemd-networkd
你可以查看当前网络管理服务:

systemctl list-units --type=service | grep network

然后确认你用的是哪个服务,比如:

  • systemd-networkd.service
  • NetworkManager.service

如果是 NetworkManager,请使用 方法 3 重新加载 NetworkManager
如果还是 systemd-networkd,那可能真的需要 重启系统 才能完全生效。