@AaAAxzz

Как пробросить порты с -j MASQUERADE с сохранением реального ip адреса?

Добрый день! Помогите пожалуйста организовать обратный/прозрачный прокси-сервер.

Необходимо пробросить определённый порт (999) с одного сервера (1.1.1.1) на другой сервер (2.2.2.2) и при этом сохранить реальный ип адрес клиента. Я почти уверен, что с помощью правил в iptables такое реализовать невозможно, но все же использую правила:

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 999 -j DNAT --to 2.2.2.2:999

iptables -t nat -A POSTROUTING -j MASQUERADE

Эти сервера не находятся в локальной сети и оба адреса 1.1.1.1 и 2.2.2.2 доступны из интернета. т.е. запросы приходящие, например от клиента 188.1.1.1, на сервер 1.1.1.1:999 успешно перенаправляются на 2.2.2.2:999, и все было хорошо до тех пор пока не потребовалось определить реальный ip адрес клиента ибо запросы на 2.2.2.2 после MASQUERADE приходят с адреса 1.1.1.1 вместо 188.1.1.1.

Пробовал изучать вопрос с TPROXY в mangle, но к сожалению не смог разобраться. Помогите пожалуйста найти решение для организации reverse прокси, где можно будет передать реальный адрес клиента.
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
kotomyava
@kotomyava
Системный администратор
haproxy + send-proxy + подержка proxy protocol там куда пробрасывается, например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы