Svxlink remote access without public ip address eg cellular internet - sm0svx/svxlink GitHub Wiki
By nature of repeaters they often have to be remote from ones home or work. Often on top of mountains or tall buildings, where access may not always be possible or easy.
In many cases, particularly remote installs without power or phone lines, 3G/4G cellular internet maybe the only practical and affordable option. This can however present a problem for remote access for administration (dialing into a server) because most consumer level mobile phone and data services only provide private ip address's to their users and have them behind a NAT firewall sharing a smaller amount of public ip address. Similar to how your home network works, except you can't just ask your ip to forward a port to you :p
While there are some business and specialist plans that have static ip address options they can be very expensive when compared to consumer level services that have become very cheap with long expiry on data now.
This is where SSH reverse tunneling comes in. The remote svxlink system runs a outbound connection as a 'tunnel' that you connect back through. You will still generally need a fixed IP either on a web server or your home/work internet, this is the target for svxlink to create the tunnel to. This target machine will need to be running SSH server and have the port for that forwarded/open. This is a reasonable article/guide on the topic: https://www.xmodulo.com/access-linux-server-behind-nat-reverse-ssh-tunnel.html
You can tunnel both port 22(ssh) and 80/443(http/s) if you need. There is also a linux program that can create a ssh connection (the tunnel) automatically, autossh. You will also need to set up private key authentication.
autossh -M 0 -o "ExitOnForwardFailure=yes" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -R target:port:127.0.0.1:443 -R target:port:127.0.0.1:22 [email protected]