我有一个小型 PC 机箱,只有一个网络接口,由于我需要另外 2 个接口,所以我买了两张 USB 网卡。两张都是同一制造商的。我想将接口重命名(因为它们最初有相当复杂的名称)为:eth1 和 eth2。该机箱运行的是 ubuntu 22。理论上这很简单,应该是这样的:
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true
match:
macaddress: 12:e3:80:ff:c0:a7
usbnic7f:
match:
macaddress: 00:e0:4c:68:04:7f
dhcp4: no
addresses:
- 192.168.3.2/24
set-name: eth1
usbnicf2:
match:
macaddress: 00:e0:4c:68:55:f2
dhcp4: no
addresses:
- 192.168.5.4/24
set-name: eth2
但是,出于某种原因,接口的命名在重新启动后不一致。似乎“匹配 macaddress”根本不起作用,因为有时 eth1 接口有 04:7f MAC,而 eth2 有 55:f2 MAC,有时则相反(即 eth1 是 55:f2,而 eth2 是 04:7f)。这很烦人。有人能帮忙吗?
- - 编辑 - -
有趣的是,这似乎有点起作用:
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true
match:
macaddress: 96:08:85:46:ab:15
enx00e04c6805a8:
addresses:
- 192.168.5.3/24
match:
name: enx00e04c6805a8
set-name: eth1
enx00e04c685602:
addresses:
- 192.168.4.2/24
match:
name: enx00e04c685602
set-name: eth2
但只有在我执行“netplan apply”后才会出现这种情况。如果我重新启动机器,接口不会重命名,也不会分配任何 IP。但在我执行 netplan apply 后,一切都很好。在我看来,这似乎是某种时间问题(也许)。
答案1
您需要运行“netplan apply”,否则新配置将不会被处理,例如调用后端网络管理器和 systemdworkd。
另外,在使用例如债券或桥梁时,即使我们从 yaml 配置文件中删除它们的配置,它们也不会被删除
“...已知问题:netplan apply 不会删除已创建的虚拟设备(例如网桥和绑定),即使它们不再在 netplan 配置中描述。这是因为 netplan 无状态运行并且不了解先前定义的虚拟设备。...”
https://manpages.ubuntu.com/manpages/jammy/man8/netplan-apply.8.html