I was wondering if it's possible to have a VPN server that goes though another VPN server.

Here a scenario that might explain my idea better: I have 4 computers

  1. 'A' - My Windows machine
  2. 'B' - My VPN server (pptp)
  3. 'C' - My client's VPN server (pptp)
  4. 'D' - My client's windows machine

All of them are in different networks except of the C and D - they're on the same network.

Currently, what I have to do to connect to D is to connect to their VPN first (C) and then I can connect to the D.

My question is: Can I somehow set up the B to act as a server for me but as a client for the C? So I could just connect from A to B and then straight to D (Because B VPN is always connected to the C VPN)

This scenario is simplified and I know it wouldn't make sense to do such thing in this specific scenario, but I have many clients, that require VPNs and some of them use white-listing, and I was wondering if I can set this kind of a hub, that will handle all the VPNs for me.


  • This question is off topic here. You can consider asking this on Super User for a personal setup or on Server Fault for an enterprise setup. – Teun Vink Jun 20 '19 at 15:32
  • @TeunVink Thanks for your suggestion, however I don't see how this question is off-topic. I believe it does fit one of the topics listed in the help center - "design or theory of protocols used to operate a network (e.g. IP, TCP, routing protocols, STP, etc)". I didn't list any hardware I am using, because I'm still in the process of planning, and this was a theoretical question. – nom4d Jun 20 '19 at 17:18

Possible? Yes, definitely - either directly on the VPN server or routed in your network to another VPN terminator. At work, we use a mix of static IPsec (for branch locations), dynamic IPsec (for VoIP phones), and SSL VPN (for roaming clients), all routed in between as required.

Basically, you just have to create a 2nd VPN connection and route in between them. This of course requires all participants to have the necessary routes for their tunnel(s), e.g. your client's end C needs to know how to route to your machine A.

How this can be set up depends on your equipment and its already present configuration - note that host configurations are off-topic on NE. If you're using on-topic equipment you'll need to add the details to your question (make, model, sanitized config, possibly a network diagram).

|improve this answer|||||
  • Thanks for the answer! I was thinking about using a Raspberry Pi (wanted to go cheap) for the B (my own pptp vpn server) but I'm not sure what server my client has. I understand that I can't really have a real connection to the D from A by just setting up B as a client for C because C wouldn't know how to talk to A - it would be just talking to the B. Could you tell me how I could sort that issue out? How do I tell the B: "Oh, hi! This packet needs to go to the A" (I'm not asking for the exact steps, but just a direction to help me find the answer) – nom4d Jun 20 '19 at 11:05
  • For the remote networks, you'll need to set up routes pointing to the VPN/tunnel interfaces. However, host configurations and consumer-grade devices are explicitly off-topic here. – Zac67 Jun 20 '19 at 11:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.