URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 7267
[ Назад ]

Исходное сообщение
"Перекинуть часть пользователей c основного на другой squid"

Отправлено niorix , 07-Ноя-16 05:23 
Добрый день.
В конторе есть сервачек со 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 не катит. Как сделать правильно?

Содержание

Сообщения в этом обсуждении
"Перекинуть часть пользователей c основного на другой squid"
Отправлено ipmanyak , 07-Ноя-16 08:17 
Поменять шлюз на компах юзеров,  тем паче при прозрачном режиме. Айпитаблес тут как бы не при делах, хотя и можно применить действие REDIRECT и пакет уйдет на другой сквид, но обратно к юзеру имхо не вернется в твоем случае.

"Перекинуть часть пользователей c основного на другой squid"
Отправлено PavelR , 07-Ноя-16 08:49 
>Оба настроены в режиме прозрачного прокси.
>Основной рабочий squid прописан у пользователей в качестве шлюза.

независимо от того, что первый "настроен в режиме прозрачного прокси", он прозрачным не является, т.к. прописан явно.

Значит и второй прозрачным "прозрачно" не станет.


"Перекинуть часть пользователей c основного на другой squid"
Отправлено niorix , 07-Ноя-16 11:28 
> независимо от того, что первый "настроен в режиме прозрачного прокси", он прозрачным
> не является, т.к. прописан явно.
> Значит и второй прозрачным "прозрачно" не станет.

Ну вообще он не прописан в настройках прокси в браузере + я всю схему не стал расписывать. Вообще говоря шлюзом у юзеров является свич, на нем роуты на впн и прочие внутренние веши, а дефолт как раз на сквид. На сквиде стандартно: 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

Если это не прозрачный прокси, то тогда объясните мне что такое прозрачный)
Поменять шлюз на компах не хороший вариант, хлопотно бегать, да и из вышеописаной схемы видно что основное место где рутятся все это свич, а держать маршруты еще и на сквиде - заработать геморой на администрировании, плюс если что то пойдет не так еще раз бегать менять обратно.



"Перекинуть часть пользователей c основного на другой squid"
Отправлено Nibl , 07-Ноя-16 12:49 
Если станции получают адреса от DHCP, то можно попробовать через DHCP назначить им proxy через соответсввующий options. Как вариант можно еще предложить wpad.

"Перекинуть часть пользователей c основного на другой squid"
Отправлено PavelR , 07-Ноя-16 16:41 
> Если это не прозрачный прокси, то тогда объясните мне что такое прозрачный)

А, втупил.... прочитал неправильно.



"Перекинуть часть пользователей c основного на другой squid"
Отправлено PavelR , 07-Ноя-16 16:43 

Воспользуйтесь iproute + маркировкой трафика.

Через iptables промаркируйте трафик на основном прокси и перенаправьте маршрутизацией его на второй прокси, где и обработайте как обычный прозрачный прокси.


"Перекинуть часть пользователей c основного на другой squid"
Отправлено reader , 08-Ноя-16 17:40 
> Добрый день.
> В конторе есть сервачек со 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 с тестового показывайте


"Перекинуть часть пользователей c основного на другой squid"
Отправлено mk105 , 09-Ноя-16 18:37 
> Добрый день.
> В конторе есть сервачек со 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) смотреть  новую
таблицу


"Перекинуть часть пользователей c основного на другой squid"
Отправлено mk105 , 09-Ноя-16 18:41 
>[оверквотинг удален]
>> В конторе есть сервачек со 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) смотреть  новую
> таблицу

это можно делать на машине с основным прокси



"Перекинуть часть пользователей c основного на другой squid"
Отправлено mk105 , 09-Ноя-16 18:44 
>[оверквотинг удален]
>>> Оба настроены в режиме прозрачного прокси. Основной рабочий 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) смотреть  новую
>> таблицу
> это можно делать на машине с основным прокси

про маскарад не забудьте. тестовый будет возвращать трафик основному,
а основной пользователю.


"Перекинуть часть пользователей c основного на другой squid"
Отправлено mk105 , 09-Ноя-16 18:53 
>[оверквотинг удален]
>>>> Надо перекинуть определенных пользователей (по 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) смотреть  новую
>>> таблицу
>> это можно делать на машине с основным прокси
> про маскарад не забудьте. тестовый будет возвращать трафик основному,
> а основной пользователю.

а может и не надо маскарада.