Fundamental question about routing in Ubuntu 20.04.
I have a baremetal setup in Hetzner which has an 11.22.33.44/32 IPV4 address along with 2a01:db8:30/64 subnet allocated to it.
enp7s0 is the physical interface which has 11.22.33.44/32 address.
I also have the baremetal server connected to a vSwitch that has a Public subnet 2a01:1111:2222:3333::/64 allocated to it. The
gateway for this subnet is 2a01:1111:2222:3333::1 and it is accessible via vlan.4001 interface (a sub interface of enp7s0 with VLAN tag id of 4001)
In my setup a bridge is created on the host called br1 with an ip address 2a01:1111:2222:3333::10/64. Multiple VMs are created on this
bridge and each of the VMs have an IPV6 address allocated from the 2a01:1111:2222:3333::/64 IPV6 subnet. I have to use a bridge
and there is no other option available due to various requirements.
The VMs that are on br1 can talk to each other and to the br1. I want to route all traffic to the external world from br1 via vlan.4001. I don't
want to add vlan.4001 interface to the br1 (I don't want the VMs MAC addresses to be exposed to the vSWitch). I
assigned the address 2a01:1111:2222:3333::2/64 to vlan.4001 but struggling to figure out how to route traffic from br1 to vlan.4001 interface.
As I mentioned earlier I do have to use a bridge to connect all the VMs on a host with the 2a01:1111:2222:3333::/64 (no NAT allowed for the VMs)
and still be able to access external internet via vlan.4001.
Is this setup even possible using Ubuntu 20.04?
I also will not be able to use VRFs or netns, both of them are ruled out due to other requirements.
The only option I have is to use Policy Based routing but I am unable to create the PBR for the 2a01:1111:2222:3333::/64 to use the vlan.4001 interface
for external traffic.