Hi, so I have a little Proxmox box with two VMs: VM1 and VM2 which is a clone of VM1. I change the mac of VM2 to avoid conflict and I reset the machine ID of VM1. I then have a seperate pfSense machine machine that that acts as router, firewall and DHCP server. Proxmox is on the 192.168.20.1/24 domain. In the DHCP server, Proxmox get IP 192.168.20.8 explicitly assigned. All good to this point. I’ve set VMs on pfSense to get the 192.168.20.9X addresses assigned. VM1 gets 192.168.20.91 assigned, while VM2 should be getting 192.168.20.92.

But this is what actually happens:

  • VM1 gets 192.168.20.106 assigned, despite telling pfSense to assign it 192.168.20.91. This happens even with VM2 shutdown. The DHCP Lease table is showing 91 up and running and does not list 106. Yet, the ARP table shows 106 assigned and no 91 assigned. This is even with me deleting the 106 entry from the ARP table several times and rebooting both the VM and the Proxmox server.

  • The VM is definately getting 106 assigned as I can log into it with 106 IP but 91 doesn’t respond (no route to host).

Is this something to do with the bridge configuration on Proxmox? Iv’e added a screenshot of what I see. It doesn’t seem to be that complicated to setup a bridge?

I can’t get my head around this so tips are welcome.

EDIT: I’ve just run ‘sudo ip’ on the VM and i see the ens18 interface with the MAC I assigned to it and the 106 IP assigned to this interface. There are then seven of ‘vethXXX’ interfaces. Not sure what these are. There are also four ‘brXXXX’ interfaces, one ‘loXXXX’ interface and one ‘docker0’ interface, the latter probably used by the docker subsystem running on the VM. I imagine the ‘brXXXX’ interfaces are the docker containers themselves (I think I have four running). But what are the ‘vethXXXX’ interfaces? Sounds like its something to do with “virtual interface”. Why so many and what is creating these?

  • nibbler@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    13 hours ago

    Clearly a problem on the VM. Run

    dhclient -v ens18; for i in $(seq 60); do ip a s dev ens18; sleep 1; done

    Just to see if its broken immediately or if another process probably fks it up later

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      10 hours ago

      ran the above and the following pops up. the MAC ending is c3 is the new one I assigned to the 20.91 address on DHCP pfsense server about an hr ago.

      EDIT: wondering whether this may be a network manager problem on the VM client? See here

      EDIT2: Even tried running ip addr flush dev <your_adapter_id> as suggested here but no effect at all

      EDIT3: This is now solved. It was a client problem. Somewhere buried in the system, a static IP had been set up on this machine in the past I image.

      When running ntmui, the 106 address was configured as static address. Deleted it and now only sees the 91 address. Didn’t realise you coudl set two IPs against same interface. This is the page that helped following advice from @nibbler@discuss.tchncs.de of runnign dhclient -v ens18; for i in $(seq 60); do ip a s dev ens18; sleep 1; done

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      See message above. I doubt it. I would have had this problem a lot earlier with other machines.

  • SirEDCaLot@lemmy.today
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    20 hours ago

    I think you have a PFsense problem not a proxmox problem.

    I have encountered something similar to this in the past with PF sense. What fixed it for me is shut down the machine in question, let the DHCP lease show offline in PF sense, then use that very line on the status - DHCP leases page to assign the static IP address to it. Then when I booted it back up it worked.

    Also copy and paste the MAC address right out of the DHCP leases table if you are adding it manually. I believe it may be case sensitive.

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      Just to be clear, this is what is in the ARP table on pfSense: and this is what is in the DHCP lease table in pfSense. What I’ve concluded is that the DHCP sees the VM is online, it probably offered the 91 IP, and just shows it online. The ARP table is showing what the actual assigned IP is (106) and SSH login attempts confirm this. There is no 106 entry in the DHCP table. I would ignore the VM2 element of the equation i described above for now. I added just to describe the conflict that arose when I switched it on. I woudl also say that VM1 was backed up on another Proxmox server I had runnina and then restore it on this new Proxmox server I have with a bigger NVMe.

      • SirEDCaLot@lemmy.today
        link
        fedilink
        English
        arrow-up
        1
        ·
        14 hours ago

        Yeah this still sounds very much like what I had happen. pfSense tries really hard to hang on to that old random dhcp lease sometimes.

        Don’t worry about ARP- that just shows what currently exists.

        You might try turn off the vm, delete the static mapping, then delete the DHCP lease in status - dhcp leases, then add the static mapping again and turn the vm back on.

        Also on pfSense check /var/dhcpd/var/db/dhcpd.leases . Chances are your VM is in there. Turn off VM, stop DHCP service on pfSense, delete lease from that file, restart DHCP service, check static mapping, turn on VM.
        Let me know if that works…

        • trilobite@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 hours ago

          a) turned off VM b) deleted the static mapping and recreated c) change the MAC on the VM and then the same MAC on pfSense d) checked /var/dhcpd/var/db/dhcpd.leases and there is no sign of any 192.168.20.XX lower than 20.110 (from 110 I leave the space availble for occasional wifi access of devices not in my home) e) Rebooted pfSense

          absolutely the same problem again :-(

          • SirEDCaLot@lemmy.today
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 hours ago

            Hmm Are you wedded to that particular Mac address? If not, shut down the VM, delete the virtual Network card, then make a new virtual Network card. Copy paste the Mac of that new card into pfsense with the static mapping, and fire up the VM. See what happens.

            If that doesn’t work, I remember something it was possible for proxmox to do some kind of routed Network system. To investigate that, delete all static mappings, fire up the VM, and just look at what Mac address it shows getting the DHCP lease. Is it the one that shows as being assigned to the VM?

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      What a surprise … if I were to believe this I would file for madness state support. Look like the VM is having a nice chat with the DHCP sever and both agree that the IP should be 192.168.2’.91. Then one of the two cheat, and actually work on 106. Logs in DHCP server a showing nothing. I even told pfSense to ignore the machine ID and it had no effect whatsoever. If there was another DHCP server hiding somewhere, dhclient would have picked that up presumably.

  • Eggymatrix@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    1 day ago

    Is there a reason you sre using dhcp instead of assigning ips manually?

    Dhcp is great if you don’t care about stuff, in my experiece as soon as you start caring you should do it manually

    • Appoxo@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 hours ago

      Doing it that way is a sure way of loosing your mind at a certain scale.
      Don’t do that.
      Ensure your DHCP and DNS work as expected and save your headache for the future when you want to expand the homelab to something like https certification or IPv6.
      Static IPs should be used sparingly. Like for servers.

      • Eggymatrix@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 minute ago

        I agree with you. I am not at that scale so I don’t bother. I only have a couple dozen servers to harness. Point is that OP does not sound to be at that scale either

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      Well, because its all managed in one place rather than having to go and configure loads of machines

    • tiptoes@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      6
      ·
      23 hours ago

      Wrong. It’s 2026. You should be setting static dhcp entries and using dhcp to ensure static IPs, not avoiding dhcp. Using manually assigned static IPs just means you’ve built a fragile unique snowflake.

      • trilobite@lemmy.mlOP
        link
        fedilink
        English
        arrow-up
        3
        ·
        13 hours ago

        Maybe I’m misunderstanding but what I mean is that I assign static IP via DHCP based on the MAC. I’m not setting static IPs at client level. i.e MAC address on VM1 is XX:XX:XX:XX so I set this MAC address in DHCP to correspond to IP 192.168.20:XX so that the machine gets a unique IP all the time. Is this what you meant?

        • tiptoes@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          22 hours ago

          DHCP can be set to specifically assign the same IP to specific devices, reserving them and ensuring that no other systems will use the same IP accidentally. So your servers will consistently get that same IP address assigned to them every time, no worry about the ip address changing unexpectedly.

          • trilobite@lemmy.mlOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            13 hours ago

            Can I just check with @tiptoes@sh.itjust.works and @Eggymatrix@sh.itjust.works that what I’m doing is what you are saying.

            I’m not setting static IPs at client level. Would be a nightmare. What I do is assign IPs on the DHCP server i.e MAC address on VM1 is XX:XX:XX:XX so I set this MAC address in DHCP to correspond to IP 192.168.20:XX so that the machine gets a unique IP all the time. Is this what you meant? I thought everyone would be doing this nowadays as it so easy to manage, except when something goes wrong like in this case.

      • Eggymatrix@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        22 hours ago

        Dhcp and ensuring it works is someting I don’t care about. I tell the kernel wich packets it should be interested in and how to sign itself and that will be it thank you very much.

        I configure static routes and have all my machines and network segments neatly arranged in my database. I setup a new machine I know exactly what address it should have,it goes up and until it has a problem it will keep the address it was installed with.

        Its 2026 I work like that, you can have your opinions I have mine. The difference is that I depend on one less thing that I don’t care about, so I have more profit margin.

        • tiptoes@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          22 hours ago

          Very old school; yes you can certainly do all of that and track all of that yourself. We all used to do it that way……But it’s 2026….just as you’d use a real editor rather than edlin, or password managers rather than text files, the new ways ARE better, easier and more consistent. Making sure dhcp works is one of the modern (honestly not that modern) basics that make sure your network is set up properly and isn’t hiding some misconfiguration gremlins that only work because of some static ip and route workaround you implemented years ago and worked “until now”.

  • TheMuffinMan@piefed.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    Having additional virtual network interfaces on VMs is completely normal, ens18 does indeed sound like the right one you should be looking at.

    Seconding the other commenter who mentioned the possibility of a second DHCP server.

    Is your Proxmox host wired via ethernet to the pfsense? Or are there WiFi APs in the mix anywhere

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      But if there was another DHCP server hiding somewhere, i would have had this problem years ago with all the other machines that are using the same router/DHCP server?

  • plateee@piefed.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    I had this exact fucking problem. Check if you’re using cloud-init and if there’s a holdover entry that may be overlooked.

    For me, it was under the /var/run/ folder’s netplan, not the usual /etc/netplan.

    • trilobite@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      13 hours ago

      don’t I have not configure proxy arp on PVE. the only arp is what I see cached by pfSense. tried flushing the table in pfSense with not luck … the VM is still hooking up to 106 and this is confirmed in the pfSense ARP table even after flushing, despite the DHCP lease table saying that the VM is hooked to 91.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    2 hours ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    AP WiFi Access Point
    ARP Address Resolution Protocol, translates IPs to MAC addresses
    DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network
    DNS Domain Name Service/System
    IP Internet Protocol
    NVMe Non-Volatile Memory Express interface for mass storage
    SSH Secure Shell for remote terminal access

    [Thread #322 for this comm, first seen 30th May 2026, 20:30] [FAQ] [Full list] [Contact] [Source code]