Portforwarding unter Linux ohne iptables?


34

Ich habe einen Linux-VPS-Server (virtuozzo) und muss die Portweiterleitung einrichten, aber mein Hosting-Anbieter lässt iptables-nat- Kernel-Module iptables -t natnicht zu, funktioniert also nicht.

Ich suche nach anderen Wegen, wie es geht. Ich weiß, dass ich einen Port mit openssh weiterleiten kann , aber ich muss mehr als 20 verschiedene Ports, TCP und UDP , weiterleiten , daher ist dies keine Option.

Gibt es eine Linux-Software, die Port-Weiterleitungen unterstützt?


huh gute frage +1. Ich kenne keine Lösung und freue mich darauf, ob es hier etwas gibt.
Der Shurrican

Und was ist dann mit einem Programm, mit dem Sie Ports basierend auf der Quell-IP an verschiedene Ziele weiterleiten können?
dpk

Vermeiden Sie das Problem vollständig, indem Sie niemals Virtuozzo / OpenVZ-basierte VPS verwenden.
Michael Hampton

@MichaelHampton: Nicht sehr konstruktiv ...
Nicolas Raoul

Antworten:


47

Verwenden Sie das Tool "socat", es ist ein großartiges Tool für solche Dinge und es ist bereits in vielen Linux-Distributionen enthalten. Lesen Sie darüber hier: http://www.dest-unreach.org/socat/doc/README

Port Forwarding Beispiel mit socat:

socat TCP4-LISTEN:80,fork TCP4:www.yourdomain.org:8080

Damit leiten Sie alle TCP-Verbindungen auf Port 80 zu Port 8080 TCP auf www.IhreDomain.org um.


Vergessen Sie nicht, dass https standardmäßig auf Port 443 anstatt auf Port 80 eingestellt ist :)
keiki

Socat ist das einzige Tool, das für mich auf einem Nur-IPv6-Himbeer-Pi
funktioniert hat

Perfekt, mein Problem sofort gelöst. Beachten Sie, dass Sie sicherstellen müssen, dass der eingehende Port in iptables geöffnet ist, wenn Sie über einen solchen verfügen.
Jancha

13

Es gibt ein kleines, leichtes Ressourcenprogramm, redirdas ziemlich konfigurierbar ist.

apt-get install redir auf Debian-basierten Distributionen.


Ich habe dieses Tool in der Vergangenheit verwendet und es funktioniert sehr gut ...
Alex

Ich unterstütze dieses Tool. Es scheint, dass dies kein Paketweiterleitungstool ist, sondern der TCP-Tunnel. Dadurch wird die vom Ziel angezeigte Quell-IP-Adresse geändert. Es funktioniert also hervorragend, wenn Sie einen Port auf einen anderen Computer mit einem anderen Routing-Setup umleiten müssen.
Scegg


6

xinetdunterstützt ein Redirect-Attribut, das das tut, was Sie wollen. Wie andere angemerkt haben, gibt es eine Reihe von Programmen, die Weiterleitungen verarbeiten.

Wenn Sie ein xinetdanderes Programm verwenden, das die tcpwrappersBibliothek verwendet, können Sie Zugriffsbeschränkungen anwenden, wenn dies erforderlich wird.


4

xinet / inetd. Zum Beispiel:

umleiten

Ermöglicht die Umleitung eines TCP-Dienstes auf einen anderen Host. Wenn xinetd eine TCP-Verbindung an diesem Port empfängt, wird ein Prozess gestartet, der eine Verbindung zu dem angegebenen Host und der angegebenen Portnummer herstellt und alle Daten zwischen den beiden Hosts weiterleitet.

http://linux.die.net/man/5/xinetd.conf


Sieht interessant, aber es ist auf TCP nur wie Sie gesagt
Doud

4

Ich habe eine kleine Anwendung namens portfwd http://portfwd.sourceforge.net/ gefunden , die genau das tut, was ich brauche (TCP- und UDP-Weiterleitung). Die Homepage gibt an, dass sie zuletzt im Jahr 2002 aktualisiert wurde. Die neueste Version ist 2007 und sie funktioniert auf dem 2.6-Kernel .


Ich werde meine Antwort akzeptieren, da dies die einzige Software ist, die sowohl TCP- als auch UDP-Protokolle vollständig unterstützt.
Troex

3

SSH Führt eine Portweiterleitung durch, solange Sie eine SSL-Verbindung tunneln können.


-3

Ok, hier ist die einfache Antwort, die funktionieren sollte. Es ist kein Hexenwerk, aber die meisten Leute machen die Antwort zu kompliziert und verwirren Linux-Benutzer mit den Neuerungen.

ufw erlauben 2xxx

2xxx = Wie auch immer Ihre Portnummer lautet, geben Sie einfach diesen Befehl in Ihr Serverterminal ein und Ihr gewünschter Port wird geöffnet.


Es öffnet lediglich den Port an Schnittstellen, die sich außerhalb des Servers befinden. Der Port wird nicht von einer IP-Adresse zur anderen umgeleitet oder weitergeleitet. ES ÖFFNET DEN HAFEN.
AmirHossein
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.