sscoodd Posted October 24, 2006 Posted October 24, 2006 Уважаемые, подскажите софту, которая бы помогла сделать следующее: Есть шлюз, на нем сетевуха смотрит в мир. У сетевухи назначено несколько IP, скажем *.*.*.1 и .2 С провом существует договоренность о том, что весь трафик с/на .1 быстрый, но дорогой, а трафик с/на .2 - шейпится медленный, но безлимитный и дешевый. Нужно маршрутизировать трафик в зависимости от типа данных передаваемых по HTTP. Конкретно, хочется весь HTTP трафик пускать по-быстрому, кроме даунлоада разных там *.mp3, *.zip, *.rar etc. - их пускать по дешевому анлимиту, то есть нужно запросы одного типа отправлять с .1, а другого - с .2 Желательно нечто виндовое, но рассматриваются любые варианты, потомушта гугл не помог вобще ничем, а может я не там копал :-) Вставить ник Quote
UglyAdmin Posted October 24, 2006 Posted October 24, 2006 Вообще Policy-Based Routing, но винда такого не умеет... Вставить ник Quote
sscoodd Posted October 24, 2006 Author Posted October 24, 2006 Вообще Policy-Based Routing, но винда такого не умеет... PBR - широкое понятие, мне конкретно нужны политики по контенту (mime types). Еще раз уточню, что не обязательно найти решение средствами винды - ищу любое решение, желательно под винду, но на крайняк устроит и под линух, и под бсд.... Вставить ник Quote
UglyAdmin Posted October 24, 2006 Posted October 24, 2006 По контенту если и будет, то это будут совсем уж немерянные деньги. Намного проще по формальным признакам трафика, типа "80/tcp == http". :) А так может и линукс и бсд и циска. Или можете попробовать сделать на основе прокси-сервера, но я в этом не силён. Вставить ник Quote
edwin Posted October 24, 2006 Posted October 24, 2006 (edited) Сделать это можно выстроив такую схему: proxy_ip1.............proxy_ip2 ...........\............./.... ............proxy-main......... На всех 3-х proxy ставим squid, он умеет перенаправлять запросы в зависимости от URL к различным proxy. затем на proxy_ip1 - вешаем дрогой канал на proxy_ip2 - дешевый URL с mp3/avi/ogg etc отправляем в proxy_ip2 , оставльное в proxy_ip1 Физически это можно сделать на одной машине поставив FreeBSD и засунув proxy в jail, или Solaris засунув в Zones. Edited October 24, 2006 by edwin Вставить ник Quote
sscoodd Posted October 25, 2006 Author Posted October 25, 2006 Сделать это можно выстроив такую схему: proxy_ip1.............proxy_ip2 ...........\............./.... ............proxy-main......... На всех 3-х proxy ставим squid, он умеет перенаправлять запросы в зависимости от URL к различным proxy. затем на proxy_ip1 - вешаем дрогой канал на proxy_ip2 - дешевый URL с mp3/avi/ogg etc отправляем в proxy_ip2 , оставльное в proxy_ip1 Физически это можно сделать на одной машине поставив FreeBSD и засунув proxy в jail, или Solaris засунув в Zones. Ага, то что доктор прописал. Спасибо, видимо так и буду делать, потому как не нашел подходящего все-в-одном решения да еще и под виндюк. Вставить ник Quote
t0ly Posted October 26, 2006 Posted October 26, 2006 (edited) хз зачем 3 прокси сервера... можно сделать на одном oops-е привязывал группы с файлами по урл регекспам, а потом каждой группе давал свой connectfrom ip, остальное pbr в фаерволе Edited October 26, 2006 by t0ly Вставить ник Quote
edwin Posted October 26, 2006 Posted October 26, 2006 > можно сделать на одном oops-е я никогда не работал серьезно с ним, а со squid - работал потому и посоветовал что знаю если оно заработает как Вы расск. - то честь Вам и хвала Вставить ник Quote
calculator Posted October 26, 2006 Posted October 26, 2006 (edited) Прокси всех проблемм не решит ИМХО. Помимо HTTP, FTP есть еще масса протоколов про которые Squid ничего не знает. Наверно нужно еще дополнительно что то вешать, чтобы по максимому загружать дешевый но медленный, в то же время стараясь большое и тяжелое, по возможности, перенаправлять туда-же. Но если эта схема строится для небольшого офиса, то заморачиваться на что то большее чем Squid, ИМХО, не стоит. Edited October 26, 2006 by calculator Вставить ник Quote
RomadinR Posted October 27, 2006 Posted October 27, 2006 Если не ошибаюсь, можно обойтись одним сквидом примерно так: acl slow ............... tcp_outgoing_address *.*.*.2 slow tcp_outgoing_address *.*.*.1 Вставить ник Quote
SamJan Posted November 4, 2006 Posted November 4, 2006 (edited) а каим образом будут работать оба адреса tcp_outgoing_address вместе, еcли у машины только один default gateway или все основывается на PBR? Edited November 4, 2006 by SamJan Вставить ник Quote
RomadinR Posted November 6, 2006 Posted November 6, 2006 (edited) А оба - это как? Здесь если траффик попадает под условия acl slow, то сквид его отправляет с адреса *.2, а если не попадает, то с адреса *.1 И то и другое через default попадает к провайдеру, и через него же возвращается. А провайдер классифицирует по адресам. Вот только как в Windows на одной сетевухе поднять 2 адреса - это не ко мне. Edited November 6, 2006 by RomadinR Вставить ник Quote
desperado Posted November 7, 2006 Posted November 7, 2006 еcли у машины только один default gateway ... в каждой таблице маршрутизации. :) ip rule add from .... table 101 ip route add default .... table 101 ip rule add from .... table 102 ip route add default .... table 102 или типа того, точный синтаксис не помню Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.