SQUID : неравный бой с интернет-радио.
Задача - закрыть юзерам все развлекаловки, что можно найти на http через браузер. Выбрал Squid. Закрыл аудио, видео, флэш, сайты порезал. Не могу никак справиться с надоедливым радио-онлайн. Все возможные комбинации предлагаемые гуглом перепробовал. Все равно бренчит. Может быть кто-то сталкивался с сией историей. Поделитесь пожалуйста конфигом либо подскажите куда рыть. Не очень хочется рузать сайты вручную.
Я на работе сделал просто - на юзера в неделю выделяется 250 мегабайт. После превышения - ничерта не работает и пишет «Превышен входящий траффик». Все согласовано с начальством. Юзверям об этом рассказал, намекнув, что если после превышения они придут ко мне с вопросом «АЙ ПАЧИМУ У МИНЯ ИНТЕРНЕТ НИ РАБОТАЕТ. 111», будут посылаться на три буквы прямым текстом, так было рассказано про траффик заранее. Сейчас по статистике смотрю - ССЗБ, добравшиеся до 250, сидят молча на местах и не идут. Видать поняли.
А дальше мне как бы все равно - превысил в первый день - ССЗБ, растянул на всю неделю - молодец. И они понимают, что виноваты сами, если что. Ну и просмотреть свой трафик можно в веб-статистике.
юзай iptables: руби соединения connlimit по превышению определенного лимита или string-match-ем руби первоначальные пакеты на радио, да есть еще 100500 вариантов.
Эм, забыл совсем. ОСЬ - FreeBSD 8.2 x86, поэтому iptables не пойдут. IPFW вроде насколько я помню не умеет со строчками работать.
Zhbert - совет классный. Но тут дело в другом :
1). Я счастливый обладатель безлимитного интернета в офисе))) 2). В офисе каждый день дым коромыслом, просто конвеер, который не останавливаеца по 12 часов в день (а то и более), и если я юзверушке отрублю нантернетама - получу по шапке я, потому как ой мля мне должно срочно письмо прийти и бла бла, сопли, слюни, жалобы, крики и тд. Этот головняк как то не хочется на себя брать. А бывает что юзер кушает в месяц до 30 гигов. Трудно определить необходимый обьем трафика. 3). Руководство - ну как говорится бывших офицеров не бывает, из разряда путаю клавиатуру и мышу. С ними обговаривать вариант выделения лимита просто бестолку (. НО сижу и рубаю все развлекухи по их же требованию . ). Там при слове «траффик» - необходимо принести кучу бумаг что же это все таки такое и зачем оно нужно, и после этого будет совещание стоит оно того или нет. НО блин требуют же, вынь да полож.
В общих чертах обрисовал)))
Подскажите пожалуйста нет ли аналога решения например как я зарубил аудио :
А вот это не пойдет??
Заранее благодарю. Спасибо большое
> Эм, забыл совсем. ОСЬ - FreeBSD 8.2 x86, поэтому iptables не пойдут. IPFW вроде насколько я помню не умеет со строчками работать. Вообще-то, если мы боремся именно с интернет-радио, то это мультикастовые сервисы. Поэтому если рубить IP адреса класса D - 224.0.0.0/28( http://ru.wikipedia.org/wiki/Классовая_адресация ) то порубишь все мультикастовые сервисы, включая радио, IPTV и т. п. Уверен что ipfw умеет рубить пакеты по IP адресам. Кроме того, в таких сервисах используется протокол IGMP, хотя не уверен что если его рубить, то это решит проблему. Но простой сниффер на шлюзе ответит на этот вопрос.
если радио с внешки слушается, а пользователь за роутером - какой к черту мультикаст, простите? IGMP исключаем.
>А бывает что юзер кушает в месяц до 30 гигов.
костыльный вариант: зашейпь весь трафик(dummynet, pipes, хз честно как это во фряхе делается), что идет не на 80/443 порт по самое небалуйся(64 килобита) - тогда радио будет работать так, что юзер взвоет
> какой к черту мультикаст
Вы, вероятно, путаете multicast (адреса 224.0.0.0/28) с broadcast (там где вместо номера хоста стоят бинарные единички, как например 10.255.255.255). Что-то я очень сомневаюсь, что рутер разбивает мультикаст на отдельный потоки и отправляет каждому хосту индивидуально. А если за рутером 100 хостов смотрят IPTV - это ж сеть умрет сразу! Жаль я на работе и не могу проверить, но на 99% убежден, что рутер мультикаст транслирует прозрачно.
ТС предлагаю поставить сниффер на рутер на внутренни интерфейс и посмотреть какие пакетики там бегают когда кто-то слушает радио. Обращать особое внимание на пакеты c destination ip в интервале с 224.0.0.0 по 239.255.255.255
некоторое «радио» просто отдает mp3 и идет воспроизведение. но большинство, по моим наблюдениям, работает по 8000 порту. dump трафик и смотри, устанавливай критерии отбора.
еще раз, обьясните мне, уважаемый, при чем здесь интернет-радио( работающее по http-протоколу) и радио, работающее через мультикаст в одном или несколько сегментах локальной сети(IGMP)? По-моему, безусловно скромному, мнению это 2 АБСОЛЮТНО разные технологии.
>Что-то я очень сомневаюсь, что рутер разбивает мультикаст на отдельный потоки и отправляет каждому хосту индивидуально
ничего роутер конечно не разбивает, а насчет индивидуально - смотри http://ru.wikipedia.org/wiki/IGMP
С 8000 портом - это идея. Щас попробуемс
Не не катит. Походу придется все так flash-плееры рубать и сайты ручками. Например сайт all-radio.ru. Траффик с разных портов идет.
а не проще сделать
iptables -A FORWARD -p tcp -s 192.168.0.X/32 -m multiport --dports 80,443,25,110,993,143,etc -j ACCEPT
С вами тяжело спорить, так как вы повторяете мои слова :) По крайней мере про IGMP
Первоначально под интернет-радио я понимал именно IP мультикаст - так играют все winamp, mplayer и иже с ними. Как играют всякие плагины на WEB страницах - не задумывался. По HTTP говорите? Допускаю что так можно, но сомневаюсь что нормальные IP-радио это используют. Причина - если к такой ip-радио подключаться 100 клиентов, то от сервера будет идти 100 потоков абсолютно одинакового содержания, что абсолютно нелогично. Намного логичней - мультикаст. Прийду домой - буду проверять, сейчас пишу по памяти и могу ошибаться.
Еще раз топикстартеру: поставь сниффер на рутер на внутренни интерфейс и посмотри пакеты c destination ip в интервале с 224.0.0.0 по 239.255.255.255 в то время когда играет радио! Если на рутере накладно - поставь проигрывание радио на своем компе и мониторь трафик своего порта!
P. S. Если все же там нет мультикаста и используется HTTP - AFAIK в сквиде можно фильтровать HTTP трафик вдоль и поперек, например по Content-Type . Блин если там HTTP то опять же поставь сниффер и смотри что передается.
Нет там у топикстартера никакого мультикаста. Вы уж лучше сами сниффер запустите и посмотрите что там идет когда радио играет.
Не? Разбираться - час максимум, полчаса поработать на благо сообщества (без этого свежие бан-листы не получишь :-P), ещё полчаса на определение что резать, а что нет, - и всё, наступило админское щасье. Также в природе есть пара скриптов для автоматического обеспечения запрещёнными ресурсами работников ночных служб (если таковые имеются). Если интересно - пиши, поделюсь)
Включил. И правда HTTP! Капец!
Ну так даже проще.
Вот что отдает этот сервер:
Значит фаервол нам не нужен, фильтруем по content-type примерно вот так:
А бывает что юзер кушает в месяц до 30 гигов. Трудно определить необходимый обьем трафика. 3). Руководство - ну как говорится бывших офицеров не бывает, из разряда путаю клавиатуру и мышу. С ними обговаривать вариант выделения лимита просто бестолку (. НО сижу и рубаю все развлекухи по их же требованию . ). Там при слове «траффик» - необходимо принести кучу бумаг что же это все таки такое и зачем оно нужно, и после этого будет совещание стоит оно того или нет. НО блин требуют же, вынь да полож.
Не страдай фигней. Ибо все не закроешь или же наоборот, закроешь нужное - будут закономерные вопли. Мониторишь сайты-развлекаловки, просмотр видео (чем радио то провинилось? 30 гигов оно не накачает) и т.д. И пишешь письмо руководству, что тот-то и тот-то использует служебную оргтехнику в личных развлекательных целях в рабочее время, а именно сидит целый день на сайте супер-онлайн-игра.ру. Я еще отправляю подобное письмо самому сотруднику и сообщаю, что интернет отключается и будет включен только по согласованию с руководством. Чего как правило уже не происходит или происходит через месяц-другой. Данный способ прекрасно работает в большом холдинге, в бане только вконтакт по прямым адресам, но народ уже через пару месяцев никуда не ходит, в т.ч. через анонимайзеры. Ибо сечется :)
>сомневаюсь что нормальные IP-радио это используют
прикинь, используют. Причем - повсеместно. Мультикаст нужен только в локалках для снижения объема трафика. А заморачиваться маршрутизацией мультикаст-трафика или городить туннели для его пропускания практически не имеет смысла.
P.S. Я сейчас говорю о чисто HTTP-радио. Если используются различные плагины и плееры на страницах, то там во внутренностях может быть: как правило - тот же мультикаст.
P. S. Если все же там нет мультикаста и используется HTTP
бинго, Интернет-радио практически все так и работают. Подключение к мультикаст-группе - дико не распространенный метод(хотя возможный, взять тот же MBONE, да и в IPv6-сетях этот метод еще сыграет нужную роль).
AFAIK в сквиде можно фильтровать HTTP трафик вдоль и поперек, например по Content-Type . Блин если там HTTP то опять же поставь сниффер и смотри что передается.