How to route traffic between overlapping subnets on GCP from different projects/VPCs

39 Views Asked by At

In GPC we need to allow VMs on VPC A Subnet 1 to communicate with VMs on other VPCs (in other projects) where there subnets overlap (exchange originates from A). eg. Project A | VPC A | Subnet 1 | 10.10.142.0/24 Project B | VPC B | Subnet 1 | 10.10.12.0/24 Project C | VPC C | Subnet 1 | 10.10.12.0/24

We have ruled out VPC Sharing due to a lack of project administration autonomy. And also ruled out VPC Peering due to not coping with overlapping subsets.

And have tried: NCC with spokes and a Private NAT, and with just Project A and Project B we were able to get a VM on each to SSH (with appropriate FW rules). But when adding C, we need to filter the CIDR 10.10.12.0/24 for both B and C spokes. And after re-adding the spokes, of course now there are no routes from A to B anymore and of course none for A to C (ie. subnets have to be filtered to allow overlap).

I think I need to add routes, but the gcloud command seems to need --net-external-ip-pool, which I do not have/want, as this all needs to be internal and not public.

How best to proceed to be able to route A to B and A to C. VPN maybe... VPC Peering with PNAT (although I think the same problem as the NCC solution we tried described above).

Overview

0

There are 0 best solutions below