Umleitung des Datenverkehrs von Port 80 zu einem anderen Port auf einer einzelnen IP

Umleitung des Datenverkehrs von Port 80 zu einem anderen Port auf einer einzelnen IP

Ich habe einen Server mit mehreren zugeordneten IP-Adressen. Ich versuche, einen node.js-Webserver (den ich nicht als Root ausführen möchte) zu betreiben, wobei ich nur eine dieser IP-Adressen verwende (es wäre sehr schlecht, wenn der Datenverkehr von allen IP-Adressen weitergeleitet würde).

Durch die Suche im Superuser sah es so aus, als ob dies mit iptables möglich sein könnte:

So richten Sie iptables für die Weiterleitung des Datenverkehrs auf Port 80 von bestimmten Quellen ein

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 --source 212.333.111.222 -j REDIRECT --to-port 9020

Ich verstehe jedoch nicht, warum eth0 benötigt wird.

Entsprechend:

http://blog.softlayer.com/2011/iptables-tips-and-tricks-port-redirection/

Dies könnte folgendermaßen geschehen:

iptables -t nat -A PREROUTING -p tcp --dport 2525 -j REDIRECT --to-ports 25

Was ist die richtige Art, Datenverkehr von einer einzelnen IP auf Port 80, sagen wir 111.111.111.111:80, an einen anderen Port auf demselben Server, sagen wir 111.111.111.111:8765, weiterzuleiten?

Vielen Dank für Ihre Hilfe!

Antwort1

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8765

Verwenden Sie anstelle der IP-Adresse den Schnittstellennamen. Das heißt, eth0Sie können stattdessen die Schnittstelle Ihrer Wahl verwenden.

Diese Regel besagt iptables:

  1. Machen Sie es auf PreRouting
  2. Mach das nicht
  3. Auf der Schnittstelle eth0
  4. Protokoll ist TCP
  5. Der Zielport zum Abgleichen ist 80.
  6. Leiten Sie es auf Port 8765 um

verwandte Informationen