Isso já foi feito uma dúzia de vezes e uma resposta aceitável é usar o iptables:
sysctl -w net.ipv4.conf.all.route_localnet=1
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080
O primeiro comando é permitir redirecionamentos da rede externa para a rede interna (que é desativada por razões de segurança) e o segundo é fazer o redirecionamento (claro, você tem que adaptar as portas ao seu caso específico que você não explicou o que quer que seja).
Outra solução poderia ser usar OpenSSH
com o redirecionamento de porta local, que permite fazer basicamente a mesma coisa, mas sem desabilitar a proteção do kernel (não estou detalhando essa, pois a outra solução já funciona).
Dependendo do protocolo que seu serviço de limite local está usando, você também pode usar nginx
como um proxy reverso ou sshl
como um multiplexador.
Finalmente, socat
, stunnel
e amigos também podem ser usados para isso.
A vantagem da solução iptables é que ela é in-kernel e, portanto, mais rápida.
Aviso
Como o SE é um sistema em que responder com precisão é considerado melhor do que tentar realmente resolver problemas, tentei responder à pergunta. No entanto, dada a sua descrição, a qual falta detalhes, suspeito que você esteja em um desses dois casos:
- O serviço pode ser configurado para escutar uma interface que pode ser acessada pela palavra, mas você não sabe como, nesse caso, você deve ter descrito o serviço em si e perguntar como disponibilizá-lo de fora.
- Ou o serviço não deve ser acessado por motivos técnicos ou de segurança.
Mas não posso ser mais preciso se não souber qual serviço é.