Добрый день! Помогите пожалуйста организовать обратный/прозрачный прокси-сервер.
Необходимо пробросить определённый порт (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 прокси, где можно будет передать реальный адрес клиента.