Re[5]: прозрачный со стороны сервера прокси
От: grey_olli http://grey-olli.livejournal.com
Дата: 23.03.11 09:19
Оценка:
Здравствуйте, jksgfv, Вы писали:

J>Здравствуйте, grey_olli, Вы писали:


J>>>>>Есть задача реализовать прозрачный прокси,

J>>>А картинка довольно простая:
клиент (C)      роутер (R)     прокси (P)     сервер (S)
 10.0.0.4 ------ 10.0.0.3 ----- 10.0.0.2 ----- 10.0.0.1

J>>>Разумеется, подсети могут быть (и вероятно и будут) разными.
_>>то есть картинка
клиент (C)              роутер (R)               сервер (S)
10.0.0.4 ------ 10.0.0.3,10.0.1.1,10.0.2.2 ----- 10.0.2.1
                            \
                             ----- 10.0.1.2
                                  прокси (P)

_>>не рассматривается и трафик к прокси всегда в тот же интерфейс что и к серверу?
_>>по моему достаточно корректировки маршртов (+ NAT) на шлюзе. В какой ситуации вы считает, что нужно трогать еще и сервер?
J>Роутер (R) не принадлежит нам, и мы можем рассчитывать только лишь на простейший его функционал (маршрутизацию на наш прокси),
По первой схеме: добавляете в R маршрут на S через P, в P реализуете не только свою прокси функцию, но и функционал router (для всего трафика) + NAT
конкретно вашего проксируемого трафика в postrouting. Видимо Вам достаточно будет написать модуль к iptables помимо собственно прокси-функций (может готовое что приспособите — это уже вам виднее по деталям протокола и функционала вашего прокси application). На S добавляете маршрут в сеть C через P .

> NAT'а там может и не быть (и не быть возможности его установить). Т.е. рассчитывать на какую бы то ни было топологию сети мы не можем, тем более навязывать свои изменения (добавление NAT и изменение IP-адреса и подсети сервера).

J>Наша же задача — внедрением своего прокси (P) как можно меньше повлиять на систему и сохранить максимум информации о существующей топологии в трафике (т.е. как раз избежать добавления NAT).
См. выше.

>>Без iptables или реализации части его функционала в своем коде вам не обойтись.


J>На своей машине (прокси (P)) я могу вытворять что угодно — хоть ядро со своими патчами, не говоря об использовании iptables. Но от других машин я могу ожидать лишь простейших изменений конфигурации (добавление маршрута, например), основывать архитектуру на добавлении правил iptables или функций NAT где-то на роутере (R) или тем более сервере (S) нет никакой возможности.

cм. выше.

J>Отсюда и требование, чтобы сети казалось, что прокси (P) просто форвардит весь трафик (что и наводит на мысль о роутере).

Не путайте мягкое и гибкое. Функции прокси на tcp вам нужны на application level OSI, роутинг осуществляется гораздо ниже — на сетевом уровне OSI.

J> Меня же интересует "худший случай", когда топология прямолинейная и сервер использует IP-адреса клиентов, скажем, для реализации како-либо политики безопасности.

см. выше.
--
Bye.Olli.
gpg --search-keys grey_olli
Key fingerprint = 09B6 E060 DD67 04B9 E53B 721B 12E2 7401 F8A4 FC68
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.