You could just use IPsec. It’s been probably 20 years but look into SWAN. It’s just a vpn in the vpn sense.
It is massively more complex than say Wireguard, because it was developed with "everything and kitchen sink approach", and even the standard de facto authors, Cisco, took good 20 years to stop having IPSec related vulnerability every few months (hell we just had one this year in Linux IIRC)