250724-Ubuntu-Linux-netplan-ifconfig网卡名字调整

我能将这个网卡名字调整到enp0s25吗

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.0.197 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::19d7:fdf9:9247:539 prefixlen 64 scopeid 0x20<link>
ether 00:e0:4d:03:5e:6f txqueuelen 1000 (以太网)
RX packets 41902 bytes 56368729 (56.3 MB)
RX errors 0 dropped 54 overruns 0 frame 0
TX packets 16055 bytes 1453031 (1.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
RX packets 636 bytes 49767 (49.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 636 bytes 49767 (49.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp1s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether cc:3d:82:d2:4e:ca txqueuelen 1000 (以太网)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

在 Ubuntu 20.04 里,网络接口名称默认是由 systemd-networkd / udev 的“Predictable Network Interface Names”机制决定的,也就是
enp0s25 这种格式。但你现在看到的是 eno1,说明系统可能禁用了该机制,或者主板/BIOS 提供了特定的 eno1 名称。


你可以改成 enp0s25,但需要注意以下几点:

1. 确认当前命名机制

运行以下命令确认当前命名策略:

1
sudo dmesg | grep -i 'renamed from\|eth\|enp\|eno'

或者:

1
udevadm test-builtin net_id /sys/class/net/eno1

2. 方法一:使用 GRUB 开启 Predictable Names(推荐)

编辑 GRUB 配置:

1
sudo nano /etc/default/grub

找到这一行:

1
GRUB_CMDLINE_LINUX=""

改成:

1
GRUB_CMDLINE_LINUX="net.ifnames=1 biosdevname=0"

说明:

  • net.ifnames=1 开启 systemd 的命名机制
  • biosdevname=0 关闭 Dell 的 biosdevname 工具(如果存在)

保存后更新 GRUB:

1
sudo update-grub

然后重启:

1
sudo reboot

重启后,接口名可能会变成 enp0s25(取决于硬件总线拓扑)。


3. 方法二:手动创建 udev 规则(强制改名)

如果你知道硬件路径(比如 enp0s25 是 PCI 设备 0000:00:19.0),可以强制改名:

1
2
3
4
sudo nano /etc/udev/rules.d/10-rename-network.rules

sudo mkdir -p /etc/udev/rules.d/
sudo touch /etc/udev/rules.d/10-rename-network.rules

添加如下内容:

1
2
3
4
5
6
7
8
sudo vim /etc/udev/rules.d/10-rename-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4d:03:5e:6f", NAME="enp0s25"


SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4d:03:5e:6f", NAME="enp0s25"


替换 00:e0:4d:03:5e:6f 为你网卡的实际 MAC 地址

然后重启:

1
sudo reboot

4. 验证是否成功

重启后运行:

1
ip link

或:

1
ifconfig -a

确认是否已变为 enp0s25


⚠️ 注意事项

  • 改名后,Netplan、NetworkManager 或其他网络配置文件中引用的接口名也要同步修改。
  • 如果你使用的是 Netplan,路径通常是 /etc/netplan/*.yaml,记得改成 enp0s25