Aviso

Aviso
  • imagine um aplicativo de servidor que escuta apenas localhost,
  • que não tem configurações para escutar em outras interfaces
  • alguém quer forçar a escuta em outras interfaces, como eth0

vincular(libindp.so) pode fazer isso. No entanto, não está disponível nos repositórios Debian, o que o torna inconveniente. Por isso estou perguntando: existem alternativas ao bindp para arquivar o mesmo objetivo?

Responder1

Isso já foi perguntado 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 está desabilitada por questõ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 tem explicado de forma alguma).

Outra solução poderia ser usar OpenSSHcom redirecionamento de porta local, que permite fazer basicamente a mesma coisa, mas sem desabilitar a proteção do kernel (não estou detalhando esta porque a outra solução já funciona).

Dependendo do protocolo que seu serviço local está usando, você também pode usar nginxcomo proxy reverso ou sshlmultiplexador.

Finalmente, socat, stunnele amigos também podem ser usados ​​para isso.

A vantagem da solução iptables é que ela está no kernel e, portanto, mais rápida.

Aviso

Como o SE é um sistema onde responder com precisão é considerado melhor do que tentar realmente resolver os problemas, tentei responder à pergunta. No entanto, dada a sua descrição que carece de detalhes, suspeito que você esteja em um destes dois casos:

  1. Ou o serviço pode realmente ser configurado para ouvir uma interface acessível por palavra, mas você não sabe como; nesse caso, você deveria ter descrito o serviço em si e perguntar como disponibilizá-lo externamente.
  2. Ou o serviço não foi feito para ser acessível por palavras por motivos técnicos ou de segurança.

Mas não posso ser mais preciso se não souber qual é o serviço.

Responder2

socatferramenta (Pacote Debian) pode ajudar:

socat -d -d TCP4-LISTEN:80,bind=192.168.1.1,fork TCP4:localhost:80

Responder3

Com o IPv6 osolução iptables não funcionará. Você pode usar a solução do @Artem, como

sudo socat TCP6-LISTEN:80,bind=[2001::beef],fork TCP6:[2001::beef]:8080

informação relacionada