Symptoms
With a fresh installation of PVE 6.3-1, the default vmbr0 configuration simply creates a bridged connection through the physical NIC. However, when you create a VM attached to this bridge, you cannot reach any hosts outside the node, meaning you can reach the Proxmox host and other VMs on the same bridge but nothing else. Others on the forum who had the same issue also reported the interface being down by default and needing to manually bring it up upon every boot. However, I did not have this problem myself.
Cause
Everyone who had the same problem had one factor in common: Intel's I225-V NIC. Hence, the likely cause is that there is an issue with the igc driver packaged into PVE.
Workarounds
1. Buy a new NIC
This is an obvious option that I considered, but decided to further investigate software options.
2. Use NAT
Following the "Masquerading (NAT) with iptables" section here: Network Configuration - Proxmox VE, I was able to at least get internet connectivity on the VMs. However, I specifically wanted a bridged connection.
3. Compile a custom kernel with a patched driver
The igc driver in Ubuntu kernel 5.8.17 did not suffer from the same problem. Hence, I compiled a custom kernel from source and my connectivity issue was resolved. @luK has graciously shared a step-by-step guide on how to do this here: https://forum.proxmox.com/threads/is-anyone-using-i225-v-nic-in-their-pve-setup.76708/post-347075
Unfortunately, compiling a custom kernel is both a time consuming process and an unsupported solution that is likely at the bottom of everyone's list of things they want to do. From what I was able to gather, PVE isn't getting a kernel upgrade anytime soon. Backporting the igc driver is another option but I am no where experienced enough to tackle it myself. With that in mind, are there any better solutions out there?
With a fresh installation of PVE 6.3-1, the default vmbr0 configuration simply creates a bridged connection through the physical NIC. However, when you create a VM attached to this bridge, you cannot reach any hosts outside the node, meaning you can reach the Proxmox host and other VMs on the same bridge but nothing else. Others on the forum who had the same issue also reported the interface being down by default and needing to manually bring it up upon every boot. However, I did not have this problem myself.
Cause
Everyone who had the same problem had one factor in common: Intel's I225-V NIC. Hence, the likely cause is that there is an issue with the igc driver packaged into PVE.
Workarounds
1. Buy a new NIC
This is an obvious option that I considered, but decided to further investigate software options.
2. Use NAT
Following the "Masquerading (NAT) with iptables" section here: Network Configuration - Proxmox VE, I was able to at least get internet connectivity on the VMs. However, I specifically wanted a bridged connection.
3. Compile a custom kernel with a patched driver
The igc driver in Ubuntu kernel 5.8.17 did not suffer from the same problem. Hence, I compiled a custom kernel from source and my connectivity issue was resolved. @luK has graciously shared a step-by-step guide on how to do this here: https://forum.proxmox.com/threads/is-anyone-using-i225-v-nic-in-their-pve-setup.76708/post-347075
Unfortunately, compiling a custom kernel is both a time consuming process and an unsupported solution that is likely at the bottom of everyone's list of things they want to do. From what I was able to gather, PVE isn't getting a kernel upgrade anytime soon. Backporting the igc driver is another option but I am no where experienced enough to tackle it myself. With that in mind, are there any better solutions out there?