

Good point about network availability and endpoints.
Good point about network availability and endpoints.
Since I have no patience, I’ll lay out some items for consideration.
1st, I wouldn’t rely on an ISP router to serve as my end point for a VPN. They likely have access to manage that device and it likely isn’t getting any updates. You are better off implementing it with your own equipment that you keep updated.
If you have a capable security device serving as your router to the external internet and you want full access to your internal network, then you might consider using a VPN that terminates at your router.
I myself am a fan of setting up a jump host and initiating a VPN connection directly to that host when using an agent based solution. Then you can monitor the host for activities, more easily keep your edge device patched, and then use the capabilities of your jump host to interact with the rest of your network. This would require either an agent to periodically poll a platform for connection requests or another form of ingress into your network.
Expand on your use case. Why/what do want to access on your local network when you are not there?
A jump host is just a system that serves as an exit point into the restricted network. You can do this with Ubuntu desktop but you need to figure out how you are going to jump into your host. Others have mentioned tail scale and head scale as options for doing this. Tailscale would be an example of an agent based adhoc vpn solution; this would place a dependency on an external provider to host a connection broker service and use an agent that periodically checks into the broker service for connection requests. Headscale would be the self hosted option and you would need to forward a port into your network and you should guard it with a reverse proxy.