Portweiterleitung zu einem Port auf demselben Computer

24

Früher habe ich einen Dienst auf Port 25570 ausgeführt. Jetzt ändere ich ihn auf Port 25565, aber ich möchte weiterhin, dass Benutzer, die versuchen, über den alten Port darauf zuzugreifen, Zugriff auf den Dienst haben. Daher möchte ich Port 25570 an 25565 auf derselben Maschine weiterleiten.

Ich weiß, dass es viele Fragen gibt, die sich mit der Weiterleitung an einen anderen Computer befassen, aber ich habe mich gefragt, ob die Methode bei Verwendung desselben Computers unterschiedlich ist.

Sean Bannister
quelle

Antworten:

27
iptables -t nat -A PREROUTING -p tcp --dport 25570 -j REDIRECT --to-port 25565

Dies setzt voraus, dass Sie keinen Datenverkehr für ein gesamtes Netzwerk über diese Box leiten und dass an diesem Port kein Datenverkehr für andere Hosts erwartet wird

RobotHumans
quelle
3
Wie kann dies rückgängig gemacht werden?
Marco Lavagnino
1
digitalocean.com/community/tutorials/… - stellen Sie eine separate Frage
RobotHumans
22

Beachten Sie, dass die akzeptierte Antwort nur für andere Netzwerkhosts gilt, die eine Verbindung zu dem Computer herstellen, auf dem iptables ausgeführt wird. Der Port wird nicht für Clients umgeleitet, die auf dem iptables-Computer ausgeführt werden und versuchen, eine Verbindung zu Port 25570 herzustellen (z. B.).

Diese Einträge leiten den Port für Verbindungen weiter, die vom Netzwerk oder vom lokalen Host stammen, auf dem die Dienste ausgeführt werden.

sudo iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
sudo iptables -t nat -I OUTPUT -p tcp -o lo --dport 443 -j REDIRECT --to-ports 8443
Robert Goley
quelle
1
Danke dafür! Ohne diesen Zusatz hätte ich meine Vagrant-Box nicht dazu bringen können, die Site, die sie bedient, über denselben internen Port (zu dem des Host-Computers) anzufordern, dh HOST = localhost: 9000 und jetzt GUEST = localhost: 9000 (welche Routen zu: 80)
Pebbl