Warnung

Warnung
  • Stellen Sie sich eine Serveranwendung vor, die nur auf dem lokalen Host lauscht.
  • das keine Einstellungen zum Abhören anderer Schnittstellen hat
  • man möchte es zwingen, auf anderen Schnittstellen wie eth0 zu lauschen

bindp(libindp.so) kann das. Es ist jedoch nicht in Debian-Repositories verfügbar, was es umständlich macht. Daher frage ich, ob es Alternativen zu bindp gibt, um dasselbe Ziel zu erreichen?

Antwort1

Dies wurde bereits dutzendmal gefragt und eine akzeptable Antwort ist die Verwendung von 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

Der erste Befehl dient dazu, Umleitungen vom externen Netzwerk zum internen Netzwerk zuzulassen (was aus Sicherheitsgründen deaktiviert ist) und der zweite dient dazu, die Umleitung durchzuführen (natürlich müssen Sie die Ports an Ihren speziellen Fall anpassen, den Sie überhaupt nicht erklärt haben).

Eine andere Lösung könnte die Verwendung OpenSSHeiner lokalen Portumleitung sein, mit der Sie im Grunde dasselbe tun können, ohne jedoch den Kernel-Schutz zu deaktivieren (ich gehe hier nicht näher darauf ein, da die andere Lösung bereits funktioniert).

Abhängig vom Protokoll, das Ihr lokaler Dienst verwendet, können Sie es auch nginxals Reverse-Proxy oder sshlMultiplexer verwenden.

Schließlich können hierfür auch , und Freunde verwendet werden socat.stunnel

Der Vorteil der iptables-Lösung besteht darin, dass sie im Kernel liegt und daher schneller ist.

Warnung

Da es sich bei SE um ein System handelt, bei dem präzise Antworten besser sind als der Versuch, Probleme tatsächlich zu lösen, habe ich versucht, die Frage zu beantworten. Angesichts Ihrer Beschreibung, die nicht detailliert genug ist, vermute ich jedoch, dass Sie sich tatsächlich in einem dieser beiden Fälle befinden:

  1. Entweder kann der Dienst tatsächlich so konfiguriert werden, dass er auf eine über Word erreichbare Schnittstelle lauscht, Sie wissen aber nicht wie. In diesem Fall hätten Sie den Dienst selbst beschreiben und fragen sollen, wie dieser von außen verfügbar gemacht werden kann.
  2. Oder der Dienst ist aus technischen oder sicherheitsrelevanten Gründen tatsächlich nicht für die telefonische Erreichbarkeit vorgesehen.

Ich kann jedoch keine genaueren Angaben machen, wenn ich nicht weiß, um welchen Dienst es sich handelt.

Antwort2

socatWerkzeug (Debian-Paket) kann helfen:

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

Antwort3

Mit IPv6 wird dieiptables-Lösung funktioniert nicht. Sie können stattdessen die Lösung von @Artem verwenden, wie

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

verwandte Informationen