Добрый день.
В конторе есть сервачек со squid. Подняли новый тестовый сервер со squid. Оба настроены в режиме прозрачного прокси. Основной рабочий squid прописан у пользователей в качестве шлюза.
Надо перекинуть определенных пользователей (по ip) с основного сервера на тестовый. Не могу додуматься как...
Пробовал iptables -t nat -I PREROUTING -s x.x.x.x --dport 443 -j DNAT --to-destination x.x.x.x:3129 не катит. Как сделать правильно?
Поменять шлюз на компах юзеров, тем паче при прозрачном режиме. Айпитаблес тут как бы не при делах, хотя и можно применить действие REDIRECT и пакет уйдет на другой сквид, но обратно к юзеру имхо не вернется в твоем случае.
>Оба настроены в режиме прозрачного прокси.
>Основной рабочий squid прописан у пользователей в качестве шлюза.независимо от того, что первый "настроен в режиме прозрачного прокси", он прозрачным не является, т.к. прописан явно.
Значит и второй прозрачным "прозрачно" не станет.
> независимо от того, что первый "настроен в режиме прозрачного прокси", он прозрачным
> не является, т.к. прописан явно.
> Значит и второй прозрачным "прозрачно" не станет.Ну вообще он не прописан в настройках прокси в браузере + я всю схему не стал расписывать. Вообще говоря шлюзом у юзеров является свич, на нем роуты на впн и прочие внутренние веши, а дефолт как раз на сквид. На сквиде стандартно: iptables заворачивают 80 и 443 порты на соответствующие порты сквида.
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere !x.x.x.0/24 tcp dpt:http redir ports 3128
REDIRECT tcp -- anywhere !x.x.x.0/24 tcp dpt:https redir ports 3129Если это не прозрачный прокси, то тогда объясните мне что такое прозрачный)
Поменять шлюз на компах не хороший вариант, хлопотно бегать, да и из вышеописаной схемы видно что основное место где рутятся все это свич, а держать маршруты еще и на сквиде - заработать геморой на администрировании, плюс если что то пойдет не так еще раз бегать менять обратно.
Если станции получают адреса от DHCP, то можно попробовать через DHCP назначить им proxy через соответсввующий options. Как вариант можно еще предложить wpad.
> Если это не прозрачный прокси, то тогда объясните мне что такое прозрачный)А, втупил.... прочитал неправильно.
Воспользуйтесь iproute + маркировкой трафика.
Через iptables промаркируйте трафик на основном прокси и перенаправьте маршрутизацией его на второй прокси, где и обработайте как обычный прозрачный прокси.
> Добрый день.
> В конторе есть сервачек со squid. Подняли новый тестовый сервер со squid.
> Оба настроены в режиме прозрачного прокси. Основной рабочий squid прописан у
> пользователей в качестве шлюза.
> Надо перекинуть определенных пользователей (по ip) с основного сервера на тестовый. Не
> могу додуматься как...
> Пробовал iptables -t nat -I PREROUTING -s x.x.x.x --dport 443 -j DNAT
> --to-destination x.x.x.x:3129 не катит. Как сделать правильно?tcpdump и iptables-save с тестового показывайте
> Добрый день.
> В конторе есть сервачек со squid. Подняли новый тестовый сервер со squid.
> Оба настроены в режиме прозрачного прокси. Основной рабочий squid прописан у
> пользователей в качестве шлюза.
> Надо перекинуть определенных пользователей (по ip) с основного сервера на тестовый. Не
> могу додуматься как...
> Пробовал iptables -t nat -I PREROUTING -s x.x.x.x --dport 443 -j DNAT
> --to-destination x.x.x.x:3129 не катит. Как сделать правильно?1 создать таблицу маршрутов с дефоултным шлюзом на тестовый
2 создать правило для определенных пользователей (по ip) смотреть новую
таблицу
>[оверквотинг удален]
>> В конторе есть сервачек со squid. Подняли новый тестовый сервер со squid.
>> Оба настроены в режиме прозрачного прокси. Основной рабочий squid прописан у
>> пользователей в качестве шлюза.
>> Надо перекинуть определенных пользователей (по ip) с основного сервера на тестовый. Не
>> могу додуматься как...
>> Пробовал iptables -t nat -I PREROUTING -s x.x.x.x --dport 443 -j DNAT
>> --to-destination x.x.x.x:3129 не катит. Как сделать правильно?
> 1 создать таблицу маршрутов с дефоултным шлюзом на тестовый
> 2 создать правило для определенных пользователей (по ip) смотреть новую
> таблицуэто можно делать на машине с основным прокси
>[оверквотинг удален]
>>> Оба настроены в режиме прозрачного прокси. Основной рабочий squid прописан у
>>> пользователей в качестве шлюза.
>>> Надо перекинуть определенных пользователей (по ip) с основного сервера на тестовый. Не
>>> могу додуматься как...
>>> Пробовал iptables -t nat -I PREROUTING -s x.x.x.x --dport 443 -j DNAT
>>> --to-destination x.x.x.x:3129 не катит. Как сделать правильно?
>> 1 создать таблицу маршрутов с дефоултным шлюзом на тестовый
>> 2 создать правило для определенных пользователей (по ip) смотреть новую
>> таблицу
> это можно делать на машине с основным проксипро маскарад не забудьте. тестовый будет возвращать трафик основному,
а основной пользователю.
>[оверквотинг удален]
>>>> Надо перекинуть определенных пользователей (по ip) с основного сервера на тестовый. Не
>>>> могу додуматься как...
>>>> Пробовал iptables -t nat -I PREROUTING -s x.x.x.x --dport 443 -j DNAT
>>>> --to-destination x.x.x.x:3129 не катит. Как сделать правильно?
>>> 1 создать таблицу маршрутов с дефоултным шлюзом на тестовый
>>> 2 создать правило для определенных пользователей (по ip) смотреть новую
>>> таблицу
>> это можно делать на машине с основным прокси
> про маскарад не забудьте. тестовый будет возвращать трафик основному,
> а основной пользователю.а может и не надо маскарада.