Ethernet controller number gets increased on Windows VM after each reboot

proxer-moxer

New Member
Jul 26, 2024
4
0
1
I have a few Windows Server 2022 virtual machines running on Proxmox 8.2
In one of them, every time I reboot it, I see that network adapter name changes from Ethernet N to Ethernet N+1, where N is a natural number that depends on how many VM reboots I made (free reboot counter - hahaha).
In other seemingly identical VMs there is no such issue.
What can be the reason of it?
 
Adapter name in device manager ?
or only the network name ?
do you use SDN ?
Adapter name in device manager remains the same.
The network name in ncpa.cpl changes every time I reboot VM. As a side effect of this, quite annoying one, Windows asks whether I want the "new" network to be public or private.
 
What kind of network-device do you have selected in proxmox itself? virtio, E1000, vmware, realtek?
Or better, could you post the VM-config of a host that doesn't have this issue and the one that does?

I've got a few 2022's running myself and have not seen this issue, except for when I changed the device-type of course (even though mac remained)
 
As a side effect of this, quite annoying one, Windows asks whether I want the "new" network to be public or private.
it's known issue with SDN when host act as router, its virtual MAC bridge is random. There a post which spirit explain, it seemed to me last updates set fixed MAC.

edit: Post in thread 'Windows VMs with SNAT and DHCP recognizing new networks on each reboot' https://forum.proxmox.com/threads/w...ew-networks-on-each-reboot.142487/post-639303
 
Last edited:
I indeed use host as a router. Hosting provider allocated /29 subnet for us, and I would like virtual machines to have public IP addresses belonging to this subnet.
This is how /etc/network/interfaces looks like:
Code:
      auto lo
      iface lo inet loopback

      auto eno1
      iface eno1 inet static
        address 11.22.33.44/32
        gateway 11.22.33.1
        pointopoint 11.22.33.1

      iface enx76c91007e45d inet manual

      iface ens23f0np0 inet manual

      iface ens23f1np1 inet manual

      iface eno2 inet manual

      auto vmbr0
      iface vmbr0 inet static
        address 11.22.33.44/32
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        # 88 - Experiments take place here          - NO NETWORK NAME ISSUE IN THIS VM
        up ip route add 55.66.77.88/32 dev vmbr0
        down ip route del 55.66.77.88/32 dev vmbr0
        # 89 - Main web server                      - THIS IS WHERE I HAVE AN ISSUE
        up ip route add 55.66.77.89/32 dev vmbr0
        down ip route del 55.66.77.89/32 dev vmbr0
        # 90 - not mapped
        #up ip route add 55.66.77.90/32 dev vmbr0
        #down ip route del 55.66.77.90/32 dev vmbr0
        # 91 - not mapped
        #up ip route add 55.66.77.91/32 dev vmbr0
        #down ip route del 55.66.77.91/32 dev vmbr0
        # 92 - not mapped
        #up ip route add 55.66.77.92/32 dev vmbr0
        #down ip route del 55.66.77.92/32 dev vmbr0
        # 93 - not mapped
        #up ip route add 55.66.77.93/32 dev vmbr0
        #down ip route del 55.66.77.93/32 dev vmbr0
        # 94 - not mapped
        #up ip route add 55.66.77.94/32 dev vmbr0
        #down ip route del 55.66.77.94/32 dev vmbr0
        # 95 - not mapped
        #up ip route add 55.66.77.95/32 dev vmbr0
        #down ip route del 55.66.77.95/32 dev vmbr0

      source /etc/network/interfaces.d/*

If I understand spirit's answer correctly, fixed mac address must be applied to an interface of the host. So the question is which of the two interfaces I need to change - eno1 or vmbr0 ?
And where exactly this clause hwaddress ether 00... should be inserted? I believe position does matter.
 
eno1 ip must be different from vmbr0 ip.
by "act as router", I would mean as Masquerading (NAT) router, where guests has private LAN. ( https://pve.proxmox.com/wiki/Network_Configuration#sysadmin_network_masquerading )

If provider allow assign public ip directly within guest (require registering MAC in the provider panel) , try it, but I haven't experience, I only use Masquerading (NAT).

(sorry for language)
 
Last edited: