我有一台运行 Ubuntu 18.04.6 服务器的工业 PC,我已经使用了一年多了。它有 2 个网络接口,enp1s0
和enp0s31f6
,但只有enp1s0
正在使用。enp1s0
配置了静态 IP 地址,并且已经经历了数十次这样的重启。
今天我不得不将 PC 离线以在其中安装 PCIe 许可证密钥,之后它就无法再连接到网络了。我将显示器和键盘连接到它,发现 的名称已enp1s0
更改为enp4s0
,因此我的 Netplan 配置不再起作用。
为什么会发生这种情况?能以某种方式预防吗?最好,我想保留可预测的网络接口名称,而不必制定 udev 规则。我发现的所有其他问题都想更改接口名称,但我不希望它能改变。
这是相关的 dmesg 部分,但它显然只是显示enp4s0
,我没有该接口以前的名字:
# dmesg | grep enp
[ 4.392702] igb 0000:04:00.0 enp4s0: renamed from eth1
[ 4.596407] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
左手边:
# lshw -C network
*-network
description: Ethernet interface
product: I210 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:04:00.0
logical name: enp4s0
version: 03
serial: 78:d0:04:22:6e:0d
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.4.0-k duplex=full firmware=3.16, 0x800004d8 ip=192.168.6.80 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:18 memory:b3000000-b307ffff ioport:3000(size=32) memory:b3080000-b3083fff
*-network
description: Ethernet interface
product: Ethernet Connection (2) I219-LM
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: enp0s31f6
version: 31
serial: 78:d0:04:22:6e:0c
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.8-4 latency=0 link=no multicast=yes port=twisted pair
resources: irq:127 memory:b3200000-b321ffff
这是我的 Netplan 配置文件。我唯一需要更改的是接口名称,否则它看起来和以前一样:
network:
version: 2
ethernets:
enp4s0:
optional: true
dhcp4: false
dhcp-identifier: mac
addresses:
- 192.168.6.80/23
gateway4: 192.168.7.254
nameservers:
addresses:
- 192.168.2.10
search:
- company.local
enp0s31f6:
optional: true
dhcp4: true
dhcp-identifier: mac