Дано: роутер на RH7.3, выполняющий маршрутизацию между 3-мя сетями - 192.168.1.0, 192.168.2.0, 192.168.3.0. В подсетях 1.0 и 2.0 есть по squid-у, "смотрящих" на разных провайдеров.
Что хотелось бы: клиентам в настройках прокси прописать адрес этого роутера (на котором squid'a нет) и в зависимости от адреса источника направлять запрос на тот или иной squid в сетях 1 и 2. Думаю что реализовать это можно с помощью конструкции типаiptables -t nat -A PREROUTING --src 192.168.3.1 --dst 192.168.3.250 --dport 3128 -j DNAT --to-destination 192.168.1.254:3128
iptables -t nat -A PREROUTING --src 192.168.3.2 --dst 192.168.3.250 --dport 3128 -j DNAT --to-destination 192.168.2.254:3128
А вот как вернуть ответ "другого" squid клиенту? По документации, обратная детрансляция делается автоматически. Или я что-то упустил?
>Дано: роутер на RH7.3, выполняющий маршрутизацию между 3-мя сетями - 192.168.1.0, 192.168.2.0,
>192.168.3.0. В подсетях 1.0 и 2.0 есть по squid-у, "смотрящих" на
>разных провайдеров.
>Что хотелось бы: клиентам в настройках прокси прописать адрес этого роутера (на
>котором squid'a нет) и в зависимости от адреса источника направлять запрос
>на тот или иной squid в сетях 1 и 2. Думаю
>что реализовать это можно с помощью конструкции типа
>
>iptables -t nat -A PREROUTING --src 192.168.3.1 --dst 192.168.3.250 --dport 3128 -j
>DNAT --to-destination 192.168.1.254:3128
>
>iptables -t nat -A PREROUTING --src 192.168.3.2 --dst 192.168.3.250 --dport 3128 -j
>DNAT --to-destination 192.168.2.254:3128
>
>
>А вот как вернуть ответ "другого" squid клиенту? По документации, обратная детрансляция
>делается автоматически. Или я что-то упустил?
Ну как минимум надо разрешить прохождение пакетов:
iptables -A FORWARD -d 192.168.1.254 -p tcp -m tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -d 192.168.2.254 -p tcp -m tcp --dport 3128 -j ACCEPT