I've actually accomplished a very similar setup using three private networks. The OpenVPN clients are my home router and my parents' home router. I can address my parents' LAN, and they can address mine. The simplified diagram looks like this:
Code:
many VMs <-----> openvpn server <-----> my home router <-----> my home lan
10.0.0.0/24 10.0.0.1 (lan) 10.0.2.1 (lan) 10.0.2.0/24
10.0.1.1 (vpn) 10.0.1.2 (vpn)
|
+-------------> parents' home router <---> parents' lan
10.0.3.1 (lan) 10.0.3.0/24
10.0.1.3 (vpn)
In this chart, the three routers (openvpn server, my home router, parents home router), maintain static routes to the networks which are not local to them. On the server, I have to hardcode these routes in my network config, but for the two clients, I can push these routes down via OpenVPN. This allows all traffic bound for each network to traverse the OpenVPN pipe in between.