On Thu, Mar 23, 2023 at 01:26:04PM +0400, Maksim Dmitrichenko wrote:
>    Хочется поиметь такой HTTP Proxy сервер, который:
>    а) будет балансировать соединения из внутренней сети в Интернет по
>    определенному набору внешних айпишников (к каждому из которых на хосте
>    прокси имеется, например, VPN-соединение, то есть айпишники не на
>    интерфейсах хоста, где запущен прокси, а до них ещё один хоп).
>    б) умеет группировать айпишники по группам (с помощью конфигурации), а
>    клиент имеет возможность выбрать группу (например в заголовке к методу
>    CONNECT).

 Ну, это всё незамысловато строгается через squid+iproute+iptables...
 Даёте группе свой выходной src_ip, и через ip rule его на нужный шлюз.

 Вот только установка своих заголовков может быть лишь в палате для буйных,
 где каждый себе своего клиента строчит и свои заголовки в запрос вставить
 может. А простые юзеры могут лишь в настройках браузера порт или ip-адрес
 прокси выбрать (по порту и ip сквид разрулить трафик может).

>    в) умеет гарантировать, что для отдельного взятого клиента очередной
>    CONNECT поедет через такой айпи, через который данный клиент ещё не
>    законнекчен или выдаст ошибку (типа 429). Идентификацию клиента можно
>    делать авторизацией или каким-то уникальным значением, которое передается,
>    например, опять же в одном из заголовков к методу CONNECT.

 Боюсь, для столь удивительной задачи ничего готового не найти.
 Тем более что статус 4xx по превышению числа коннекций это точно не для
 людей, даже из палаты для буйных. :)
-- 
 Eugene Berdnikov

Ответить