@Risin0

Как перенаправить трафик вместе с ip клиента?

Всем привет.

Понадобилось временно перенаправить трафик с порта одной машины на другую. Через iptables это делается просто: iptables -t nat -A PREROUTING -p 11111 --dport port -j DNAT --to-destination 1.2.3.4:11111
iptables -t nat -A POSTROUTING -j MASQUERADE

Всё работает, но есть одно НО (вполне логичное), на машине куда перенаправляется трафик отбивается ip машины на которой перенаправление, а не ip клиента.

ip куда перенаправляется не находится в той же сети!

Возможно ли перенаправить трафик с оригинальным ip клиента, а если возможно то как?
  • Вопрос задан
  • 2394 просмотра
Пригласить эксперта
Ответы на вопрос 3
Mystray
@Mystray
NOC
Вот это вот:
iptables -t nat -A POSTROUTING -j MASQUERADE
подменяет Source IP адрес у всех уходящих пакетов на IP этой машины. Уберете это правило (или ограничите область его действия) - не будет подменяться.
Но надо следить, чтоб и обратный трафик так же проходил через ту же машину, которая подменяет адреса, как минимум для протоколов с двусторонним обменом данными. Без этого все сломается.
Если же там syslog или другие "односторонние" udp-протоколы, то будет нормально.

Либо, если есть возможность, использовать прокси и средства L7 протоколов вроде заголовка X-Forwarded-For.
Ответ написан
Комментировать
vawsan
@vawsan
Frontend Developer
Если я не ошибаюсь, вы делает проброс, а не редирект. Для редиректа есть команда REDIRECT для локальной сети.
Вот тут описана ваша ситуация - www.debuntu.org/how-to-redirecting-network-traffic...
Ответ написан
@maddimons
Инженер связи
Вам нужно зеркалирование траффика (mirroring).
Требуется использовать --tee. Подробнее на Хабре:
m.habrahabr.ru/post/55256
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы