@seojuf

Как сделать прокси который будет работать только на одном сайте?

Стоит задача, нужно чтобы прокси или впн работали только на одном сайте, а на остальных трафик клиента шел напрямую. Возможно ли организовать такое на самом сервере Ubuntu а не на ПК у клиента?
Например поставить какой то 3proxy и настроить правило чтобы на сайте работали прокси а на другом нет.
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Во-первых, нужно чётко описать цепочку трафика. Вот первый вариант:
[клиент] --> [решающий прокси] --> [реальный прокси] --> [целевой сайт]
                     \--> [другие сайты]

Т.е. клиент всегда ходит через решающий прокси (тот, который принимает решение, как обращаться к сайту), а далее трафик идёт по одной из двух веток.
Плюсы: у клиента фиксированная конфигурация, требуется только поддержка прокси, не требуется доп. ПО на кленте
Минусы: решающий прокси тащит на себе весь трафик клиента.

Если это недопустимо, т.е. тебе позарез нужно что-то такое:
[клиент] --> [решающий прокси] --> [реальный прокси] --> [целевой сайт]
    \--> [другие сайты]

То решение нужно принимать на стороне клиента. Тут есть два варианта.
Вариант А: решающий прокси разворачивается на клиенте. Так работает nekoray, например.
[клиент --> решающий прокси] --> [реальный прокси] --> [целевой сайт]
                     \--> [другие сайты]

Плюсы: ПО на клиенте всё ещё требует только поддержку прокси, и всё.
Минусы: на клиенте ставится доп. ПО, управление производится на машине клиента (неудобно если их несколько)

Вариант Б, которым я сам пользуюсь: использовать PAC-файл. Он выполняется в контексте браузера и содержит логику на JS, которая определяет, как посылать каждый запрос. Разумеется, генератор и прокси могут быть на одном узле.
[Генератор и хостинг для PAC-файла]
   ^
   |
[клиентский браузер] --> [реальный прокси] --> [целевой сайт]
    \--> [другие сайты]

Плюсы: на клиенте фиксированная конфигурация и нет доп. ПО. Все решения принимаются сервером, который периодиченки обновляет PAC-файл.
Минусы: работает ТОЛЬКО с браузером, если прокси недоступен, браузер может начать пытаться слать запросы напрямую. Трудно повлиять на то, как часто клиент будет перезагружать PAC-файл.

Вариант В: использовать маршрутизацию совместно VPN, чтобы завернуть все пакеты на целевые хосты в VPN, и только их.
Плюсы: работает с любым ПО, даже если оно не умеет прокси.
Минусы: Требует полноценный VPN с виртуальным сетевым адаптером, а не прокси. Определить подсети по имени сайта нетривиально, ибо CDN могут менять адреса без предупреждения. Раздавать 100500 маршрутов на клиенты тоже нетривиально.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Drno
например это умеет приложение Nekoray.. там можно задать домены которые должны идти обычно, и которые должны идти внутрь "впн"... там свои протоколы(по сути это прокси клиент)

но все зависит от настройки сети и от того какой ВПН используется. везде решение будет разное
Ответ написан
@UPSA
anykey. Я не программист, я просто ленивый.
NAT.
Не ругайте меня. ;) лет 10 назад так бы сделал.
iptables вроде устаревает, аналоги есть. Принцип аналогичен.
Есть основной интерфейс eth0.
Есть интерфейс клиента vpn (на маршрутизаторе устанавливаем клиент vpn).
Перенаправляем нужный поток на интерфейс c vpn. И почти всё.
Там при запуске vpn клиента может перезаписываться маршрут. Если цель находиться в vpn сети там все просто (в настройках пишется строчка). А если сайт на просторе интернет, ставим внешний vpn сервер.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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