Проксирование трафика с сохранением ip адреса

Доброго времени суток, хабровчане!

Возможно ли пробрасывать трафик от пользователя к одному серверу(винда) через другой сервер(дебиан) так, что бы на первом сервере был виден ip адрес пользователя, а не проксирующего сервера? Также пользователь должен знать только ip-адрес прокси и не иметь прямого доступа к основному серверу.
Много гуглил, но конкретики не находил. Вероятнее всего мне нужен BiNAT, но под Linux-системы годных мануалов не нашлось. Стоит учесть одну особенность, что доступа к виндовому серверу нет. Squid не подходит, ибо трафик не http. Пробовал DNAT+SNAT, тоже не подходит. Так что надеюсь на вашу помощь и заранее благодарю за ответ!
  • Вопрос задан
  • 4767 просмотров
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Это делается обычным dnat в iptables
какой нифиг binat
Ответ написан
Комментировать
IlyaEvseev
@IlyaEvseev
Opensource geek
1) binat в Линуксе делается либо парой правил snat\dnat в iptables, либо через iproute2: linux-ip.net/html/nat-stateless.html

2) если Windows будет видеть в заголовке приходящих IP-пакетов настоящий адрес отправителя,
то по умолчанию она будет отправлять ему ответы напрямую, а не через Дебиан.

3) решением могло бы стать туннельное соединение между Дебианом и Windows (например, OpenVPN)
и политика маршрутизации на Windows для данного протокола, но если к ней нет доступа, то увы.
Ответ написан
@bondbig
Если речь про WEB-трафик, то задача решается при помощи заголовков x-forwarded-for или x-real-ip.
Ответ написан
ValdikSS
@ValdikSS
Если у вас эти две машины в одной сети, то все должно решиться через SNAT+DNAT, ну и еще на маршрутизаторе тоже нужно будет делать DNAT, если же нет, то практически нереально без костылей.
Ответ написан
Ваш ответ на вопрос

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

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