Перенаправление трафика с порта 80 на другой порт на одном IP-адресе

Перенаправление трафика с порта 80 на другой порт на одном IP-адресе

У меня есть сервер с несколькими связанными с ним IP-адресами. Я пытаюсь запустить веб-сервер node.js (который я не хочу запускать как root), используя только один из этих IP-адресов (было бы очень плохо, если бы трафик со всех IP-адресов перенаправлялся).

С помощью поиска superuser выяснилось, что это возможно с помощью iptables:

Как настроить iptables для переадресации трафика на порт 80 из определенных источников

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

Однако я не понимаю, зачем нужен eth0.

В соответствии с:

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

это можно сделать с помощью:

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

Каков правильный способ переадресации трафика с одного IP-адреса на порту 80, скажем, 111.111.111.111:80, на другой порт на том же сервере, скажем, 111.111.111.111:8765?

Спасибо за вашу помощь!

решение1

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

Вместо IP-адреса используйте имя интерфейса. Я имею в виду, что вместо этого eth0вы можете использовать нужный вам интерфейс.

Это правило гласит iptables:

  1. Сделайте это на PreRouting
  2. Делай нат
  3. На интерфейсе eth0
  4. Протокол — TCP
  5. Порт назначения для сопоставления — 80.
  6. Перенаправить его на порт 8765

Связанный контент