Que tipo de serviço você está procurando encaminhar? O SSH seria fácil se você tivesse um servidor em algum lugar fora.
Se você puder acessar um servidor SSH externo, poderá encaminhar uma porta remota desse servidor externo para o servidor interno (e, opcionalmente, aceitar conexões externas).
ssh -R *:12345:internal.server:22 [email protected]
Isso encaminhará a porta 12345 no servidor público para a porta 22 em seu servidor interno, que pode ser localhost se você estiver se conectando a partir dessa máquina.
Em seguida, supondo que o servidor público tenha suas regras de firewall configuradas corretamente, você poderá acessar seu servidor interno conectando-se à porta 12345 do servidor público.
Se você deixar a parte *: ele somente encaminhará a interface de loopback para o servidor externo, então você precisaria primeiramente SSH para aquele servidor, depois SSH daquela máquina para a porta 12345 do localhost.