Chain together multiple VPN clients?

Hi.

I have multiple Wireguard client configurations. I want to chain the different VPNs together into a tunnel consisting of an arbitrary number of jumps. For example, if I am using two configs of VPN1 and VPN2, I should be able to build a chain looking either like this:

Router → VPN1 → VPN2 → Internet

or like this:

Router → VPN2 → VPN1 → Internet

So in practice I both clients to connect from the router, but the routing should be setup so that the second node routes all traffic through the first. There could be three, four, etc nodes.

How can I achieve this, either in the CLI or the GUI?

The router is connected to VPN 1 (server) or VPN2 (server), while the chain is done by VPN1 or 2 (server).

In this example, you need to configure a route or (over) VPN connection on the VPN 1 & 2 server, and the router only needs to connect to the VPN1 server, and the rest is done between the servers.

https://www.nordvpn.com/blog/multi-hop-vpn/

Thank you, I already know of providers providing multi-hop functionality within their own networks. I want to achieve the same thing in the router with multiple configs. This should be done by chaining them together with routing and preferably in their own separate namespace.

How can this be achieved?

How do you plan to implement it on a GL router?

Please explain your VPN link path/topology.