Ситуация такая мы подключены к двум провайдерам, и вот хотелось бы в зависимости от входных условий( ип адрес пользователя, что качает и прочее) заставить работать squid, то с адреса одного провайдера, то с адреса другого, на сервере естественно прописано ип адреса обоих провайдеров, такое вообще возможно сделать?
У меня была подобная проблема...
сделал так - запускаю 2 squid'а. один на порту 3128, другой на 3228. каждый служит другому sibling (чтобы могли друг у друга брать из кэша):cache_peer localhost sibling 3128 3130 proxy-only
в одном назначаю tcp_outgoing_address одного прова, в другом - другого.
а потом можно с помощью ipchains заворачивать пакеты в зависимости от условий на нужный порт (т.е. на нужного squid'а)
правда, памяти надо для такого варианта много...
Или может кто предложит более элегантное решение?
А кеш у них один, или для каждого squid нужно выделять свое место под кэш?
А более красивое решение я сам ищу, да вот пока найти не могу.
Кэш у каждого свой, а иначе путаница будет.
но, сказав для одного
cache_peer localhost sibling 3128 3130 proxy-only
а для другого
cache_peer localhost sibling 3228 3230 proxy-only
получили схему, при которой один сквид, не найдя в своем кэше нужный объект, спрашивает об его наличии в кэше у своего соседа, и если объект не найден и там, тогда первый сквид лезет в инет.
Т.е. если планируется иметь общий размер кэша 1Гб, то надо этот гиг поделить между двумя squid'ами.