Привет всем!Есть 2 провайдера, 2 сервера и 2 squid.
Как можно реализовать такую фишку. Если 1 провайдер недоступен, 1 squid перенаправляет все на 2 squid. Ну и если провайдер оживет, то переключение обратно.
Сейчас все вручную и сделано через cache_peer, а можно как-то автоматизировать?
Хотелось бы иметь немного более развернутое представление о серверах и каналах - потому как вариантов решения - ну пол-вагона точно, и к тому-же совершенно не обязательно средствами сквида ...
> Хотелось бы иметь немного более развернутое представление о серверах и каналах -
> потому как вариантов решения - ну пол-вагона точно, и к тому-же
> совершенно не обязательно средствами сквида ...А можно 1 или 2 примера?
Без знания подробностей - просто несколько мыслей вслух из личного опыта (все ИМХО):
1 - всегда стремился построить подобные схемы на 1 сервере - получаем более гибкое решение
2 - в таком случае "разбираться с каналами" средствами сквида - выглядит некоторой глупостью - сквид это у нас что - прокси - вот пусть себе и проксирует, а маршрутизацией - должны заниматься таблицы маршрутизации - например - в FreeBSD 8.х все, связанное с каналами, их переключением, резервированием, и т.д. строим средствами ядра (собранного с ROUTETABLES), а двум копиям сквида просто выставляем соответствующие параметры squid_fib... При изменении шлюза по умолчанию в соответствующей таблице - наша копия сквида весело и самостоятельно топает через другой канал, совершенно не заморачиваясь нюансами что что-то где-то поменялось ...
3 - можно непосредственно в сквиде приспособить под это дело tcp_outgoing_address - вот только придется лепить скрипт, который будет менять сей параметр и дергать сквид для перечитывания конфиги
4 - решение как у Вас - на двух разных серверах - опять ИМХО - ну где-то же есть то "волшебное место", в котором Вы определяете - каких клиентов в какой сквид бросить - будь то ipfw или iptables - вот его средствами и перебросьте их (клиентов) на другой сквид...
5 - ну или как "подвариант" предыдущего пункта - упал канал - пусть ipfw или iptables на сервере с упавшим каналом выполнит форвардинг пакетов, приходящих на порт сквида на соседний сервер/сквид.
... да, ето мое ИМХО, но считаю, что в данную задачу правильнее решать НЕ средствами SQUID ...
>[оверквотинг удален]
> 4 - решение как у Вас - на двух разных серверах -
> опять ИМХО - ну где-то же есть то "волшебное место", в
> котором Вы определяете - каких клиентов в какой сквид бросить -
> будь то ipfw или iptables - вот его средствами и перебросьте
> их (клиентов) на другой сквид...
> 5 - ну или как "подвариант" предыдущего пункта - упал канал -
> пусть ipfw или iptables на сервере с упавшим каналом выполнит форвардинг
> пакетов, приходящих на порт сквида на соседний сервер/сквид.
> ... да, ето мое ИМХО, но считаю, что в данную задачу правильнее
> решать НЕ средствами SQUID ...Спасибо! Все доходчиво.