I've set up a new Proxmox 8 server, and I'm struggling to get my networking set up correctly. A normal bridge interface with a single IP range is easy enough, but I can't seem to get my 2 IP ranges to route correctly when using 2 bridges.
Background:
My
Ideally, I would like to mix-and-match IPs from both IP ranges on both
I have manually added the following routes using
Now, I have tried to create a VM and bound the virtual NIC to
For comparison, and to test that the two IP ranges are in fact routable via the provided gateways, I have successfully set up a simple bridged implementation with a single vmbr0 per the Proxmox documentation, and that works fine, for both IP ranges and both gateways. Things only seem to fall apart when I switch to the routed approach.
I've also confirmed that Proxy ARP and IP Forwarding are both enabled on the Proxmox host.
To me, this looks like a routing issue on the Proxmox host, but for the life of me I can't see what I'm doing wrong.
As far as I can tell, I haven't configured anything special in terms of firewall rules. I do have the firewall enabled at the datacentre level, the host level, and the VM level. I have tried turning off firewalling at the host and VM level, but that also doesn't seem to make a difference.
I've sat for hours quizzing ChatGPT about this already, and haven't made much headway. One suggestion I keep getting is to implement NATting, but I don't see why that would be necessary, since each of the VMs will only have a public IP, and no private IP ranges.
Background:
- The Proxmox host has a single physical interface,
eno1
, which plugs directly into my hosting provider's switch - My hosting provider has given me 2 IP ranges.
- 129.212.157.200/29 (Gateway is 129.212.157.201)
- 129.212.175.24/29 (Gateway is 129.212.175.25)
- I have created two bridges,
vmbr0
andvmbr1
. This is to provide layer 2 isolation, since I don't entirely trust the VMs onvmbr1
, since a third-party vendor has root access to them. - The primary IP address to access the Proxmox server should be 129.212.157.202.
My
/etc/network/interfaces
config looks like this:
Code:
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 129.212.157.202/29
gateway 129.212.157.201
auto vmbr0
iface vmbr0 inet manual
bridge-ports none
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet manual
bridge-ports none
bridge-stp off
bridge-fd 0
Ideally, I would like to mix-and-match IPs from both IP ranges on both
vmbr0
and vmbr1
. In other words, I don't want one IP range to be assigned exclusively to vmbr0
and the other IP range to be assigned exclusively to vmbr1
.I have manually added the following routes using
ip ro
:
Code:
default via 129.212.157.201 dev eno1 proto kernel onlink
129.212.157.200/29 dev eno1 proto kernel scope link src 129.212.157.202
129.212.175.24/29 via 129.212.175.25 dev eno1
129.212.175.25 dev eno1 scope link
Now, I have tried to create a VM and bound the virtual NIC to
vmbr0
, and I've also tried vmbr1
. For both of these combinations, I have tried configuring the VM with IPs from both the 129.212.157.200/29 range as well as from the 129.212.175.24/29 range, using the gateways 129.212.157.201 and 129.212.175.25 respectively. No matter what combination of vmbr and IP address I use for the VM, I can't seem to get connectivity. I can't even ping the gateway IP from within the VM.For comparison, and to test that the two IP ranges are in fact routable via the provided gateways, I have successfully set up a simple bridged implementation with a single vmbr0 per the Proxmox documentation, and that works fine, for both IP ranges and both gateways. Things only seem to fall apart when I switch to the routed approach.
I've also confirmed that Proxy ARP and IP Forwarding are both enabled on the Proxmox host.
To me, this looks like a routing issue on the Proxmox host, but for the life of me I can't see what I'm doing wrong.
As far as I can tell, I haven't configured anything special in terms of firewall rules. I do have the firewall enabled at the datacentre level, the host level, and the VM level. I have tried turning off firewalling at the host and VM level, but that also doesn't seem to make a difference.
I've sat for hours quizzing ChatGPT about this already, and haven't made much headway. One suggestion I keep getting is to implement NATting, but I don't see why that would be necessary, since each of the VMs will only have a public IP, and no private IP ranges.
Last edited: