Переадресація запитів на мій зовнішній IP / порт на інший зовнішній IP / порт?


14

Чи можливо перенаправити з'єднання з певним IP / портом на зовнішній IP / порт?

Приклад:

  • Сервер A має зовнішній IP xxx.xxx.xxx.xxx
  • Сервер B має зовнішній IP yyy.yyy.yyy.yyy
  • Користувач надсилає запит на сервер A на порт 2106, я хочу перенаправити його на сервер B на порт 2106.

2
Не могли б ви детальніше? Машина "А" - це багатохомотний шлюз? Якщо так, iptables, ймовірно, можуть бути використані. Приклад: iptables -A ВПЕРЕДЖЕННЯ -t nat -i eth1 -p tcp --portport 2106 -j DNAT - до yyyy: 2106 iptables -A INPUT -p tcp -m state - state NEW --dport 2106 -i eth1 - j ACCEPT
бідканий дурень

@bubling дурний спасибі, я вже вирішив це і опублікував нижче, що я зробив.
Приз

Відповіді:


22

Проблема вирішена:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport port -j DNAT --to-destination ip:port
iptables -t nat -A POSTROUTING -j MASQUERADE

Де ip та порт - цільовий сервер, на який я хочу перенаправити поточний порт сервера.


Це не працює для мене. Зокрема, цей останній рядок призводить до того, що весь трафік від моєї машини до себе, як видається, надходить ззовні, і подібні проблеми.
сінгполіма

@Prix не перенаправить весь трафік на вказаний порт (2106) на yyy.yyy.yyy.yyy: порт? Що робити, якщо я хотів би переспрямувати трафік, який спрямовується тільки на xxx.xxx.xxx.xxx:port?
Jezor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.