Advertencia

Advertencia
  • imagine una aplicación de servidor que escucha solo en localhost,
  • que no tiene configuraciones para escuchar en otras interfaces
  • uno quiere forzar que escuche en otras interfaces como eth0

enlazar(libindp.so) puede hacer eso. Sin embargo, no está disponible en los repositorios de Debian, lo que lo hace incómodo. Por eso pregunto, ¿existen alternativas a bindp para archivar el mismo objetivo?

Respuesta1

Esto ya se ha preguntado una docena de veces y una respuesta aceptable es usar 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

El primer comando es permitir redirecciones de la red externa a la red interna (que está deshabilitada por razones de seguridad) y el segundo es hacer la redirección (claro, tienes que adaptar los puertos a tu caso concreto que no tienes explicado en absoluto).

Otra solución podría ser usar OpenSSHla redirección de puerto local, que le permite hacer básicamente lo mismo pero sin deshabilitar la protección del kernel (no detallaré esta porque la otra solución ya funciona).

Dependiendo del protocolo que utilice su servicio local, también puede utilizarlo nginxcomo proxy inverso o sshlcomo multiplexor.

Finalmente, socaty stunnelamigos también pueden usarse para esto.

La ventaja de la solución iptables es que está integrada en el kernel y, por lo tanto, es más rápida.

Advertencia

Dado que SE es un sistema en el que se considera mejor responder con precisión que intentar resolver problemas, he intentado responder la pregunta. Sin embargo, dada su descripción a la que le faltan detalles, sospecho que en realidad se encuentra en uno de estos dos casos:

  1. O bien el servicio se puede configurar para escuchar una interfaz accesible mediante palabras pero usted no sabe cómo, en cuyo caso debería haber descrito el servicio en sí y preguntar cómo hacerlo disponible desde el exterior.
  2. O el servicio realmente no está diseñado para ser accesible por razones técnicas o de seguridad.

Pero no puedo ser más preciso si no sé de qué servicio se trata.

Respuesta2

socatherramienta (paquete debian) poder ayudar:

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

Respuesta3

Con IPv6 elLa solución de iptables no funcionará.. Puedes usar la solución de @Artem en su lugar, como

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

información relacionada