Если вы не можете получить доступ к устройству напрямую через NAT (переадресация порта), то вам нужно либо подключить VPN к пограничному устройству - некоторые маршрутизаторы поддерживают VPN напрямую, либо вам нужен доступ через внешний хост или службу.
VPN
Существует много форм VPN, и вы полностью ограничены тем, что доступно на пограничном маршрутизаторе. Коммерческие маршрутизаторы, даже на низком уровне, будут предлагать различные способы подключения, включая IPSec VPN и VPN на основе SSL.
Внешний Сервис
Для компьютеров с Windows у вас есть такие службы, как Logmein или Chrome Remote Desktop. Они работают на вашей машине, регистрируясь во внешней службе с исходящим соединением, и это исходящее соединение используется для входящего сеанса удаленного доступа.
Внешний Хост
Это может хорошо работать с устройствами linux / unix, где требуется только оболочка (хотя, получив оболочку, вы можете так же легко туннелировать X Windows).
Примером доступа к частному хосту через внешний хост может быть создание частным устройством исходящего ssh-соединения с сервером, к которому вы можете получить доступ, а затем создание переадресации удаленного порта. На клиенте вы бы сделали что-то вроде:
ssh -R2222:localhost:22 external.server.com
Это создает порт 2222 на external.server.com, который при подключении перенаправляет любые пакеты на порт 22 на частной машине. Так что, если вы сделали это на external.server.com:
ssh localhost:2222
Вы бы подключились к частной машине.