OpenVPN site to site push external subnets

HI

I have a working site to site via vpn settings as per the picture


What is working well:
Site1 ESXi machines with Site 2 ESXi Machines via OpenVPN
On each site:
SITE 1
PC1 VBox machines with ESXi Site 1 via tunnel
PC1 itself with ESXi Site 1 via route add
PC2 VBox machines with ESXi Site 1 via tunnel
PC2 itself with ESXi Site 1 via route add
PC1 VBox machines with PC2 VBOx machines via tunnel

SITE2
PC3 VBox machines with ESXi Site 2 via tunnel
PC3 itself with ESXi Site 2 via route add
PC4 VBox machines with ESXi Site 2 via tunnel
PC4 itslef with ESXi Site 2 via route add

However, I don’t know how to route:
PC1 with ESXi Site 2 (via ?? route ?)
PC1 VBox machines with ESXi Site 2 (??)
PC2 with ESXi Site 2 (via ?? route ?)
PC2 VBox machines with ESXi Site 2 (??)

PC3 with ESXi Site 1 (via ?? route ?)
PC3 VBox machines with ESXi Site 1 (??)
PC4 with ESXi Site 1 (via ?? route ?)
PC4 VBox machines with ESXi Site 1 (??)

PC1 VBox machines with PC3 VBox Machines
PC1 VBox machines with PC4 VBox Machines
PC2 VBox machines with PC3 VBox Machines
PC2 VBox machines with PC4 VBox Machines

Given that there seem to be multiple paths (at site1), might a dynamic routing protocol such as psof assist?

I do have something, however I need to dig more deeply inside the protocol and settings
So far, I do have something like following:
More changes, mainly in SITE 1 ESX i VyOS and PC2
Try from PC2 in SITE 2 trying via policy, still no avail

SITE 1, on ESX i VyOS
interfaces
loopback lo {
address 10.1.1.1/32
}
policy {
route-map CONNECT {
rule 10 {
action permit
match {
interface lo
}
}
}
}
protocols {
ospf {
area 0 {
network 10.70.2.0/24
network 10.80.0.0/24
network 10.5.8.0/24
network 10.60.10.0/24
}
default-information {
originate {
always
metric 10
metric-type 2
}
}
log-adjacency-changes {
}
parameters {
router-id 10.1.1.1
}
redistribute {
connected {
metric-type 2
route-map CONNECT
}
}
}
static {
interface-route 10.70.2.0/24 {
next-hop-interface vtun0 {
}
}
route 0.0.0.0/0 {
next-hop 192.168.2.1 {
}
}
route 10.5.8.0/24 {
next-hop 192.168.152.1 {
}
}
route 10.60.10.0/24 {
next-hop 192.168.164.10 {
}
}
}
}

SITE 2, on ESX i VyOS
loopback lo {
address 10.4.4.4/32
}
protocols {
ospf {
area 100 {
network 10.70.2.0/24
network 10.30.31.0/24
network 10.80.0.0/24
network 10.32.32.0/24
}
log-adjacency-changes {
}
parameters {
router-id 10.4.4.4
}
}
static {
interface-route 10.80.0.0/24 {
next-hop-interface vtun0 {
}
}
route 0.0.0.0/0 {
next-hop 192.168.2.1 {
}
}
route 10.5.8.0/24 {
next-hop 192.168.130.2 {
}
}
route 10.30.31.0/24 {
next-hop 192.168.137.2 {
}
}
route 10.32.32.0/24 {
next-hop 192.168.164.2 {
}
}
}
}

then,
on PC1 VyOS
loopback lo {
address 10.3.3.3/32
}
protocols {
ospf {
area 0 {
network 10.60.10.0/24
network 10.80.0.0/24
network 192.168.164.0/24
network 10.5.8.0/24
}
log-adjacency-changes {
}
parameters {
router-id 10.3.3.3
}
}
static {
route 0.0.0.0/0 {
next-hop 192.168.2.1 {
}
}
route 10.5.8.0/24 {
next-hop 192.168.121.11 {
}
}
route 10.80.0.0/24 {
next-hop 192.168.164.11 {
}
}
}
}

on PC2 VyOS
loopback lo {
address 10.2.2.2/32
}
policy {
route-map CONNECT {
rule 10 {
action permit
match {
interface lo
}
}
}
}
protocols {
ospf {
area 0 {
network 10.5.8.0/24
network 10.80.0.0/24
network 10.60.10.0/24
network 10.70.2.0/24
}
log-adjacency-changes {
}
parameters {
router-id 10.2.2.2
}
redistribute {
connected {
metric-type 2
route-map CONNECT
}
}
}
static {
route 0.0.0.0/0 {
next-hop 192.168.2.1 {
}
}
route 10.60.10.0/24 {
next-hop 192.168.121.10 {
}
}
route 10.80.0.0/24 {
next-hop 192.168.152.2 {
}
}
}
}

on PC3 VyOS
loopback lo {
address 10.5.5.5/32
}
protocols {
ospf {
area 0 {
network 10.32.32.0/24
network 10.70.2.0/24
network 192.168.154.0/24
}
log-adjacency-changes {
}
parameters {
router-id 10.5.5.5
}
}
static {
route 0.0.0.0/0 {
next-hop 192.168.2.1 {
}
}
route 10.70.2.0/24 {
next-hop 192.168.164.1 {
}
}
}
}

on PC4 VyOS
loopback lo {
address 10.6.6.6/32
}
protocols {
ospf {
area 100 {
network 10.70.2.0/24
network 10.30.31.0/24
}
log-adjacency-changes {
}
parameters {
router-id 10.6.6.6
}
}
static {
route 0.0.0.0/0 {
next-hop 192.168.2.1 {
}
}
route 10.70.2.0/24 {
next-hop 192.168.137.1 {
}
}
}
}

Whilst I have not cross-checked the configs against the diagram, it is probably best to use either OSPF or static routes. You should also use “area 0” which is the backbone as every OSPF setup requires a backbone network. One would only use multiple areas in large networks.