VPN Server – How to Run a VPN Server Behind a NAT That One Has No Control Over?

nat;vpn

I have a 4G router in a remote place to connect to the internet.

My ISP does not give my router a public IP, instead it seems to put multiple sim cards into some private network behind a NAT (which I obviously have no control over).

So it probably looks a bit like this:

--------------------------------------

                Internet

--------------------------------------
               ISP NAT
--------------------------------------
    My 4G Router
------------------------
    My hardware firewall
------------------------
    My local network
------------------------

My hardware firewall can act as a VPN server and preferrably I would like o use that one, but I'm also willing to run a separate VPN server on a computer in my local network to solve this.

In this situation, is ther ANY way I can run a VPN server that can accept incomming VPN connections (I CAN initialize VPN connections to outside VPN servers from within my local network. But I want to be able to initiate connections from the outside to a VPN server inside my network)?

Best Answer

Answering my own Question:

SoftEther https://www.softether.org/ is exactly what I was looking for. It allows to run a VPN Server behind a NAT and has Nat Traversal features so that clients can connect to it from the outside. For stubborn firewalls it also offers a free Handshake service (https://www.vpnazure.net/) to build up a tunnel between server and client even if both are behind NATs (traffic does not run through the handshake server).

On top of that it is really easy to setup and very feature rich, allowing various VPN clients to connect to it.