@seropaski

Как реализовать прокси-сервер с несколькими выходными интерфейсами?

Есть физическая машина. На ней имеется один входной интерфейс, например, eth0. Подключен этот интерфейс к локальной сети и имеет адрес, например 192.168.0.101. И имеется 2 (два) выходных интерфейса, например ppp0 и ppp1, которые смотрят в Интернет.

Необходимо реализовать функцию прокси (socks) на данной физической машине, чтобы пользователи нашей локальной сети могли указать как прокси в браузере адрес 192.168.0.101 и какой-то порт и получить доступ к сети Интернет. В зависимости от того, какой из портов пользователь укажет, будет определяться через какой интерфейс (ррр0 или ррр1) он выйдет в Интернет.


Интересуют даже не конкретное решение, а хотя бы наводки. Как и с помощью чего можно реализовать сие чудо? Пробовали один из socks-серверов поставить, но трафик отказывался идти на выходной интерфейс, и соединение в браузере разрывалось по таймауту.
  • Вопрос задан
  • 679 просмотров
Решения вопроса 1
В 3proxy
socks -i192.168.0.101 -pпорт_1 -eадрес_интерфейса ррр0
socks -i192.168.0.101 -pпорт_2 -eадрес_интерфейса ррр1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg Куратор тега Компьютерные сети
Любые ответы на любые вопросы
Вы вешаете лишнюю ответственность на proxy, не он должен этим заниматься. Proxy вообще может ничего не знать о том, по каким путям за ним следуют пакеты.

Это нужно проделывать на уровне NAT. Чтобы у клиентнов HTTP и HTTPS не ехала крыша, правило распределение должно быть таким - все соединения с одного хоста внутренней сети идут через одно и то же внешнее соединение. То есть, грубо - четные ip - ppp0, нечетные, ppp1

Это все делается на уровне iptables.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы