Se você não puder acessar o dispositivo diretamente via NAT (porta-direta), precisará de uma VPN para o dispositivo de borda - alguns roteadores suportam VPN diretamente ou você precisa acessar via host ou serviço externo.
VPN
Existem muitas formas de VPN, e você está totalmente limitado pelo que está disponível no roteador de borda. Os roteadores comerciais, mesmo no nível mais baixo, oferecerão uma variedade de formas de conexão, incluindo VPN baseada em VPN IPSec e SSL.
Serviço externo
Para máquinas Windows, você tem serviços como o Logmein ou o Chrome Remote Desktop. Eles trabalham com a máquina registrando-se no serviço externo com uma conexão de saída e essa conexão de saída é usada para uma sessão de acesso remoto de entrada.
Host externo
Isto pode funcionar bem com dispositivos linux / unix, onde tudo é requerido é um shell (embora uma vez que você tenha um shell, você pode tunelar o X Windows com a mesma facilidade).
Um exemplo de acesso a um host privado por meio de um host externo seria fazer com que o dispositivo privado criasse uma conexão ssh de saída com um servidor que você possa acessar e, em seguida, criasse uma porta remota. No cliente, você faria algo como:
ssh -R2222:localhost:22 external.server.com
Isso cria a porta 2222 no external.server.com, que, quando conectada, encaminha todos os pacotes para a porta 22 na máquina privada. Então, se você fez isso em external.server.com:
ssh localhost:2222
Você se conectaria à máquina particular.