Имеем два канала в интернет через одну и ту же FreeBSD, но разные интерфейсы. Один канал - высокоскоростной, но с тарификацией за траффик. Второй - низкоскоростной, но с бесплатным траффиком.Задача:
При запросе через squid Файлов с определенными расширениями (avi,mpg и т.п.) использовать второй канал, во всех остальных случаях - первый. Squid, squidguard, ipfw2 и т.п. стоит и работает. Ковыряние в исходниках сквида не пугает.Но пока, уж извините меня, своих идей никаких...
>Но пока, уж извините меня, своих идей никаких...Одна идея появилась, завтра буду проверять.
Есть в squid возможность указания tcp_outgoing_address. Получается надо запустить две копии сквида с разными адресами. Из первой редиректить на вторую запросы по маске.
Не решенные проблемы:
- как переписать URL чтобы он ушел на второй сквид?
- как настроить первый сквид, чтобы он понимал, что часть запросов у него через другой squid (куки нельзя терять!)?Ну а уж запросы с разными исходыми адресами на ipfw легко по разным интерфейсам развести.
Создать acl(one_net,two_net.....) по расширениям, а потомtcp_outgoing_address 192.168.1.252 one_net (адрес для одного канала)
tcp_outgoing_address 192.168.1.253 two_net (адрес для другого канала)
и т.д.
а потом в файерволе перенаправлять адреса туда куда надо