Host renamed the NIC's after a reboot and won't bring vmbr0 back online

dael.sutton

New Member
Jun 5, 2025
2
0
1
Hi team. First time poster. This week I upgraded both my hosts to the latest CE version of proxmox, everything went well. The oldest host had a hardware conniption this morning and I had to pull the power cables to reset the IMM warnings. After that it (either the hardware or the underlying OS) has decided to rename the ethernet interfaces, thus stopping vmbr0 from coming up. It's an IBM x3650 M3 with two inbuilt NIC's and an additional four-port ethernet NIC. The two internals & two of the four additional interfaces are patched into our switches. TBH I can't remember which NIC was the one it came up on initially as this was the first PM host that I started with, and didn't need an LACP bond or anything like that. From /etc/network/interfaces I can see that eth2 is supposed to be a bridge-port for vmbr0, and at one stage I could see from dmesg that eth2 was renamed to be some usb NIC that the IMM provides. I edited grub and added the default entry to stop that and rebooted, but still, nothing.
I'll attach screenshots for the contents of /etc/network/interfaces, the output of ip a & the grep's results of dmesg filtered for eth. I think this is a fairly simple fix, but for the life of me don't quite know what needs to be renamed where, so really appreciate someone's assistance please. (Yes, the host is called vmware1 as that's the DNS name it's published at as I haven't renamed everything yet...)
 

Attachments

  • vm1-ipa-resize.jpg
    vm1-ipa-resize.jpg
    214.5 KB · Views: 8
  • vm1-dmesg-resize.jpg
    vm1-dmesg-resize.jpg
    220.5 KB · Views: 7
  • vm1_interfaces-resize.jpg
    vm1_interfaces-resize.jpg
    131.3 KB · Views: 7
Hey,

given the second last line of the dmesg output it looks like eth2 got renamed to ens1f0, so chances are good ens1f0 is the new name for the NIC you were using before. You have to replace eth2 with ens1f0 in you /etc/network/interfaces, then do ifreload -avvv. In the unlikely case that ens1f0 is not the correct NIC, just try out the others, always doing ifreload -avvv after a change until network is up again.

To avoid this for future updates you can take a look at [1], these kinds of renames can have a few reasons, usually it is a result of firmware or kernel updates (or a mix of those). What [1] describes is binding the NIC name to its MAC address, so as long as the MAC does not change, the name won't either.

[1] https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names
 
theres gotta be a way to not have proxmox break when we install a new device and it renames every other device.
 
As I have said, by default these names are usually generated, things that influence these generated names are among other things also the seating of the NIC, firmware of the NIC may also influence it.

Have you read my separate, one(!) sentence, paragraph? Yes, you can specify NIC names based on the MAC, instead of relying on the name generation.
 
theres gotta be a way to not have proxmox break when we install a new device and it renames every other device.
To be clear this is an all of Linux issue and not Proxmox specific.

@Hannes Laimer offered a solution, whether this might be made accessible via GUI is a separate consideration.
 
Last edited:
Thankyou @Hannes Laimer - you're a scholar and a gentleman. That worked perfectly, and when we move to a new set of hosts & paid version of Proxmox I'll use the "overriding network device names" method to stop this from happening again. Agreed, this is a linux thing not a Proxmox thing, and I really appreciate your help.