Sie haben mehrere Möglichkeiten. Zum einen verwenden Sie den integrierten Port-Forwarding-Mechanismus von ssh. Durch das Hinzufügen -L 1235:remotehost:1234
wird z. B. ein lokaler TCP-Überwachungssocket an Port 1235 erstellt. Wenn Ihre lokale Anwendung eine Verbindung zu diesem Port herstellt, wird die Verbindung über Remotehost an Port 1234 weitergeleitet (sicher über ssh).
Um ein VPN zu erstellen, schlage ich die Verwendung von openswan oder libreswan vor, um die Konfiguration zu vereinfachen. So sieht eine Konfiguration aus:
https://libreswan.org/wiki/Host_to_host_VPN
Bei einem VPN muss es keinen zentralen "Server" geben, wie Sie vorschlagen. Stattdessen handelt es sich lediglich um einen Satz verschlüsselter Tunnel zwischen Peersystemen.
Sie können ein VPN auch manuell mit den Befehlen "ip tunnel" und "ip xfrm" einrichten, um Punkt-zu-Punkt-Verbindungen zwischen Ihren Systemen einzurichten, die durch IPsec geschützt sind.