Proxmox 2 VM have same IP

Hello

I’m following the proxmox tutorial series.
I’m at Proxmox VE Full Course: Class 6 - Creating Virtual Machine Templates at the moment.
During the steps it shows to create 2 VM’s cloned from the template and to start them.
All of that is working perfect, but… I noticed that both of them have the exact same IP 192.168.0.131.
And when I switch back to my local terminal to try to connect, obviously it’s failing and none of the VM’s are reachable.

I have rewatched the class 5 and 6 several times, just to make sure I didn’t miss anything, but I can’t figure out how this is possible. How can I fix this problem? Where do I need to go to make sure each VM that is cloned from the template has it’s own IP?
It seems like there is a crucial part missing in the tutorial. In the class itself it shows that all VM’s have different IP’s but this behavior is not happening for me. I’m doing everything 1:1 same.
Same OS, same version, same settings etc… I think there is some step that didn’t got into the recording or something that handles this behavior? Or it’s just coincidence it’s happening for me “early” in this class and it’s fixed in a later class?

Side note: I have 1 small machine 64GB RAM but only 1 network if that matters.
My office network has 192.168.0.X range for all devices.
If possible, I would like all the VM’s in proxmox have a different range like 10.10.0.X or something just to make it more clear. I don’t know if this stuff will come in a later class or not, but maybe its good if I set this earlier to make it more easy for me to understand and not mix with other devices in the same local network?

Anybody who can help me hand so I can move on with the class?

Thanks!

When you clone a VM, you are also coming its MAC address. Just go to the VM options and change the MAC. Or delete the Ethernet port and readd it.

hmm ok, but this is not shown in the video tutorial?
I mean, they also do the same process, clone VM and it does not have same MAC nor IP.
Is there something else missing / overlooking?

Either the VM clones the mac address, or if you are using cloud init, it might be the one giving a static IP. If you are using DHCP, then the only way to get the same IP address is if you have the same MAC. Might be an oversight in the video, or it might be implied from previous videos or knowledge that people should already have.
:man_shrugging:

@ThatGuyB
Thanks for your help!
I can understand if the MAC address is the same and some static option is set that it returns the same IP.
But as far as I can see, I have my settings at DHCP.
And I have rewatched the video 4x now, it doesn’t explain anything regarding this.
Its the full course on proxmox, so I can only assume that the early video’s would have addressed this if it was important for the further video’s. They are build on top of each other. The part on networking is only video 13 while I’m still on video 6.

Do you know if there is an option to set a random MAC address in the VM template or let it generate one from scratch when creating a new clone?
So far I can only see that it does hand out the same MAC address for every clone.
I was hoping that video 6 was addressing this also :confused:

@ThatGuyB
So I have followed your advice and manually changed the MAC address for both VM’s.
Then I did a shutdown and start again, they still receive the same IP :face_with_spiral_eyes:

You can see the MAC’s for both VM’s below and what’s being assigned.
I think there is something else I’m overlooking but I have done the installation 3x so far from scratch and I keep ending up in this situation so its got to be something missing at some point that is not explained.

I’m running Proxmox 7.2-3 if that matters.

This my PVE settings on network

I have one local network that assigns IP’s from 192.169.0.x to my Macbook, my small server, my ipad etc…
Ideally I would like that Proxmox assigns IP’s like 10.10.1.x something and that I can also visit those IP’s from my Macbook, iPad etc… but it’s not clear to me how I need to set this up.
I think it’s related to the network bridge and possibly this is also related to my problem above where it see my server on IP 192.168.1.131 from my local network and it gives that same IP to all VM’s in proxmox.

Could that be the reason?

hmm seems like I can only embed 1 image for now, so here is the screenshot from the second VM with different MAC

With the setup you have, it is a bit challenging to add a second network that is addressable by your physical hardware. I can think of something without needing to buy new hardware, but you would need your proxmox host always on 24/7. Otherwise, you will need to apply static routing in your physical boxes, which is annoying, as you’d have to do it each time you want to access the VMs. And it may be limited by certain virtualization quirks (macvtap interfaces cannot communicate with the host, so that may potentially not allow it to work at all unless you use a router container).

Try deleting the interface altogether in the VM options, then adding a new interface in its place. Maybe that will give you a new MAC.

If you want a different subnet for VMs, but you only have your external router, if that’s an ISP router, you are kinda SOL. You can create a Proxmox container with say debian or ubuntu and give it 2 interfaces: first bridged to Proxmox bridge, so it can communicate with your physical network’s layer 2. Disable DHCP on the ISP router and set a static IP address on it, keep it 192.168.0.1. On the container, set the first IP on the 192.168.0.2 and make the static default route through 192.168.0.1.

In the container, set the second IP address on the first interface to 10.10.1.1. In Proxmox, create a second bridge that bridges to nowhere. Then in the container options, add an interface and bridge it to the second bridge. Inside the container, set the second interface IP to 10.10.2.1. Enable DHCP on both interfaces and now your physical devices, including Proxmox (if you are using DHCP) should be getting IPs from 10.10.1.0/24 and your VMs and containers (if you bridge them to the second bridge) should get IP addresses from 10.10.2.0/24.

It is a janky workaround, but should get the job done as long as Proxmox and that container stay up. You can enable the container to start on boot alongside proxmox.


Another way, if you buy a physical box to use as a gateway (even an old router if you can run OpenWRT on it should work, many old routers can serve this purpose, or you can buy a first gen raspberry pi or banana pi or whatnot, should do the same job just fine). The default gateway for your ISP router will remain on the WAN. But in its DHCP server config, you can set the default gateway to the IP address of the new box. I’ll call it “pi.”

On the Pi, you set a static default route to the isp router’s ip address, so all the devices on your network will go through the pi and if it doesn’t know the route, like say going to LLTV, it will forward traffic to the isp router. The pi should have a second route to the 10.x subnet via proxmox, or a router container inside proxmox.

This will allow you to not run proxmox 24/7, but you will be limited to the network speed of the pi. If you get a 1st gen pi, that would be about 133 MB/s. If you don’t have internet faster than this and this is enough speed for your inter-network traffic, then it should be fine. Otherwise, if you want gigabit speeds between your vms and physical layer, you need something that can route at gigabit speeds.


Using the same router container, instead of disabling or modifying the DHCP on the isp router, you can set up a static route on say your mac. You’d have 0.0.0.0/0 via 192.168.0.1 (default route via isp router) and a 10.10.1.0/24 via 192.168.0.58 (random ip I thought of for the container router, it could be anything in that subnet, unless you set it up statically).


Lastly, which I have not really considered, because isp routers suck, is that you may be able to add a static route to your 10.x network straight in your router, so you can avoid the pi setup above. But all of these imply you setting up a router container inside proxmox. I think proxmox can serve as the router itself if you set up another bridge, but it makes it easier to manage if you set a container. Bonus points if you install zentyal or something, someone else on the forum is supposedly using it. I only used it once at work and it wasn’t my jam, but it could do for you.

Let me know if you have any questions, I know it’s a long post.

Pheww…that’s a lot to take in hahaha :rofl:
Let’s learn proxmox, turns out it’s a lot networking too hahaha.

Well first thank you so much for this dedication to help me. Really appreciate this and I will definetely check indepth what method could help me.

My current setup is unfortunately with the ISP router so I’m afraid I’m out of luck on that one.
But I have everal Raspberry PI’s 4B with 8GB here and I also have an older Tplink router that’s been unused for 8+ years which I could use just to create a secondary internal LAN after my ISP router.
So that would be a workaround for getting a different subnet like 10.10.1.x something just for the server VM’s.

The only thing I still need to figure out is why all my current VM’s all of them get the same IP while they have different MAC.
The only thing I could see is that the IPv6 seems to be different for each VM but not the IPv4.
And I have both set to DHCP.
Maybe it’s a bug in 7.2.3? I will try upgrading to 7.3.x something and see if that fix my issue.
I can’t imagine it can be this much of a hassle just to rotate to a different IP.

1 Like

IPv6 is probably using SLAAC, which basically means “here, take this prefix, this DNS server and set your own IP” which has a built-in check to verify if another device on the network already has that IP address, so you will never run into an ip conflict. For ipv4, if it’s not dhcp, it’s the cloud-init, which I’m not very familiar with.

I don’t know, maybe I’ll try watching that episode 6, I usually don’t watch everything Jay puts out, as I don’t like watching the same thing over and over again (I already watched tutorials on proxmox, albeit videos with less quality - and used it myself for a few years, including production).

Most tplinks have openwrt ports, try seeing if yours is supported, flashing it is easy. You still have to create the router container in proxmox if you want to address the secondary network.

Personally, I wouldn’t overcomplicate the setup with more devices, I’d try to figure out why the VMs get the same IPs. One thing that could also be happening is that the device may have a unique identifier on the network, besides the mac address, which may be the culprit. Your isp router may be smart enough to recognize the device and set the ip address based on that (for example, remember how your ipad has a name something like “john’s ipad?”). Check the VM’s hostname and / or other device identifiers if applicable. In Linux, you got the hostname command, the hostnamectl in certain cases and the file /etc/hostname. Try changing these and see how that goes.

I forget how that mechanism works, but devices on the network will unicast their names to the dhcp server and their entries will be added alongside the ip reservation. So if the cloned vm get the same hostname, they could be getting the same ip even with different mac addresses*. Though that would be very stupid of the isp router. I never really worked with vm clones, as I prefer setting up everything custom depending on the service, but I don’t think my pfsense box ever gave the same ip to cloned vms (I could be wrong though).

*This is how your ipad, even with randomly generated mac address for privacy, would get the same ip address on your home network.