Fral Posted October 2, 2006 Posted October 2, 2006 На фре поднят файловый сервер на самбе, можно ли както запретить пользователям смотреть с него фильмы, может какие порты на файрволе зарезать? Установка FTP сразу скажу не подходит, интересен имено вариант на самбе но без возможности просмотра фильмов с сервака. Вставить ник Quote
edwin Posted October 2, 2006 Posted October 2, 2006 1) завести отдельную шару дл фильмов, и соот. разрулить доступ по user/ip к этой шаре 2) в samb'е есть директивы типа veto files можете покопать их Вставить ник Quote
GateKeeper Posted October 2, 2006 Posted October 2, 2006 (edited) Он имел ввиду "разрешить скачать, но запретить тянуть сессию продолжительностью равную продолжительности фильма". Ответ: НЕТ. И там и там для сервера это выглядит абсолютно идентично: запрос файла, отправка в сеть... разница только в скорости получения (а от этого и кореллируется скорость отправки) данных по сессии. Смиритесь. Или, всё-таки, как все "нормальные пацаны" уходите на FTP. Уверяю, успокоятся довольно быстро. Смотреть "на лету" с ФТП смогут только самые отчаянные (mplayer умеет). Edited October 2, 2006 by GateKeeper Вставить ник Quote
Fral Posted October 2, 2006 Author Posted October 2, 2006 Он имел ввиду "разрешить скачать, но запретить тянуть сессию продолжительностью равную продолжительности фильма". Ответ: НЕТ. И там и там для сервера это выглядит абсолютно идентично: запрос файла, отправка в сеть... разница только в скорости получения (а от этого и кореллируется скорость отправки) данных по сессии. Смиритесь. Или, всё-таки, как все "нормальные пацаны" уходите на FTP. Уверяю, успокоятся довольно быстро. Смотреть "на лету" с ФТП смогут только самые отчаянные (mplayer умеет). Спасибо, всетаки придется ФТП подымать. Вставить ник Quote
nuclearcat Posted October 2, 2006 Posted October 2, 2006 Если это линукс, connbytes в iptables, и -j CLASSIFY в шейпер т.е. если тянется что-то очень длинное, урезать скорость до мегабита скажем для файла хватит, для фильма нет Вставить ник Quote
GateKeeper Posted October 4, 2006 Posted October 4, 2006 Если это линукс[skipped] На фре поднят[skipped] Вставить ник Quote
Egor Posted October 4, 2006 Posted October 4, 2006 т.е. если тянется что-то очень длинное, урезать скорость до мегабита скажемдля файла хватит, для фильма нет Ну mpeg4 фильмы по 700мб могут смотреться и при 500кбит/c, а вот если до такой скорости упадет скачивание игрового iso-шника юзеры будут вопить, что "сетка говно - тормозит!". Тут разве что раз в минуту шейпить на 5 сек до 100кбит/c, а потом снимать шейп. Фильм смотреть станет невыносимо, а у файла средняя скорость скачивания особо не пострадает. Вставить ник Quote
GateKeeper Posted October 4, 2006 Posted October 4, 2006 Если у пользователя стоит пре-кеш на фильмах в 10+ секунд, то он даже не заметит шейпа... Вставить ник Quote
Kuzmich Posted October 5, 2006 Posted October 5, 2006 Раз в час перезапускать самбу Вставить ник Quote
GateKeeper Posted October 5, 2006 Posted October 5, 2006 (edited) Kuzmich, согласитесь, бред? Во, кстати, сейчас вспомнил, что планировал, но так и не успел осуществить по предыдущему месту работы: FTP, имеющий морду на HTTP. Далее - раздел фильмы, там картинка, описание, как обычно, кнопка смотреть... Ну и смотри себе на здоровье (любой мало-мальски уважающий себя плеер умеет хотя бы HTTP-поток, даже MediaPlayer) - нагрузка по передаче трафика по HTTP в разы, если не в порядки отличается от нагрузке по передаче средствами SMB/CIFS. Разве только опять же фильмы... Но у себя мы тогда свыклись с негаснущим индикатором обращения к винтам... Edited October 5, 2006 by GateKeeper Вставить ник Quote
balamutang Posted October 10, 2006 Posted October 10, 2006 сегодня зачем-то пришла в голову мысль типа: сделать веб-морду, а файлы отдавать с виртуального хоста на другом порту (например 8080). скрипт, который отдает линк на файл - чтоб в момент старта открывал фаерволом порт 8080 для IP клиента, а через 20 минут закрывал. 20 минут для скачивания вполне хватит, а для просмотра - нет. :) Вставить ник Quote
GateKeeper Posted October 11, 2006 Posted October 11, 2006 balamutang, тогда дальше пойдите: header('Content-Disposition: attachment; filename="тут_MD5илиSHA256_хэш_от_случайного_набора_символов.avi"'); Тогда даже wget'ом не утянут на скриптах, разве только повозятся и укажут -o :) Вставить ник Quote
balamutang Posted October 11, 2006 Posted October 11, 2006 (edited) balamutang, тогда дальше пойдите:header('Content-Disposition: attachment; filename="тут_MD5илиSHA256_хэш_от_случайного_набора_символов.avi"'); Тогда даже wget'ом не утянут на скриптах, разве только повозятся и укажут -o :) нутк наоборот, задача вроде как надо чтоб вгетом/регетом/прочим гетом утягивали или просто эксплорером сливали на хард, а не смотрели напрямую с сервера :) задача фаервола - резать сессии которые тянутся больше 10-20 минут, а не запрещать доступ к серверу. ЗЫ кстати можно и самбовские порты открывать через веб-морду на 20 минут. Edited October 11, 2006 by balamutang Вставить ник Quote
GateKeeper Posted October 11, 2006 Posted October 11, 2006 balamutang, Вы не поняли: wget будет тянуть первые 20 минут, однако на скрипт это дело поставить будет очень сложно. Если он зацепился для стягивания - то стянет, буде это позволено текущей нагрузкой на сеть или сервер. А вот остальные шаманства... Дело в том, что тут даже не могу себе представить такой извращённый вариант как использовать wget для просмотра on-line. Хотя да... некоторые плееры берут поток из stdin. В общем, на всякий случай принимайте совет к сведению - извращаться, так извращаться :) Чтобы защититься от извращенцев надо быть самому еще большим извращенцем и предугадывать их шаги заранее. Вставить ник Quote
balamutang Posted October 11, 2006 Posted October 11, 2006 (edited) balamutang, Вы не поняли:определенно ктото из нас что-то не понял. :) еще раз:есть фильмопомойка, задача запретить юзверям смотреть фильмы прямо с сервера. как определить что смотрят с сервера: если скорость маленькая (500-700кб/с) или если время сессии больше 3-20 минут. проще определиться по времени. соответственно надо убивать коннекты длинней 20 минут. проще всего рубить фаером. управление закачкой - через веб-морду, suexec перловый в начале закачки открывает порт и в этот же момент заносит в atrun задачу отключить через 20 минут этот же IP (по сути просто заносится и удаляется ip из таблицы). отдавать файло можно любым сервисом (SMB/FTP/HTTP), главное при HTTP отдавать с другого порта, чтоб веб-морду управления случайно не зарезать фаером. даже если кто-то извратится и будет смотреть нерадиционно (через стдин) это будет единичный случай, бороться с которым особого смысла нет. здесь задача не защищаться от 1-5% извращенцев :) ,а приучить к порядку остальные 95-99% юзверей. Edited October 11, 2006 by balamutang Вставить ник Quote
edwin Posted October 11, 2006 Posted October 11, 2006 > а приучить к порядку остальные 95-99% юзверей. Разрешите оффтоп: А зачем запрещать юзерам смотреть фильмы с сервера ? Я вот люблю смотреть фильм прямо с сервера .... Вставить ник Quote
umike Posted October 11, 2006 Posted October 11, 2006 у меня дома как-то стоял собранный из хлама P1-120MHz 32Mb SIMM'ов на котором крутились ftp/chat/forum. Для двух десятков непритязательных юзеров хватало. Представляю если разрешить с такой машины фильмы ))) Вставить ник Quote
edwin Posted October 11, 2006 Posted October 11, 2006 > Представляю если разрешить с такой машины фильмы ))) Ась ? Apache оптимизированный для отдачи статики занимает на каждого клиента не мболее 2Мб памяти. nginx еше меньше. Процессорные ресурсы вообще мизерные потребуются. С диска и через сеть будет гонятся для каждого клиента 400-600 Кб/с А если действовать как предлагает товарисч то мы имеет, если к примеру 10 человек одновременно понянут фильмы , то они рискуют вообще за указанные 20 минут не вытянуть Вставить ник Quote
GateKeeper Posted October 11, 2006 Posted October 11, 2006 2edwin: Да не суть в этих 20 минут. Время можно определить и динамически (например, текущие закачки - 10 потоков по 10Мбит/с - клиенту говорим: звыняйте, слотов не осталося..., или потоков меньше - вычисляем из текущей нагрузки время прохождения его фильма через коннектор, накидываем на всякие непредвиденные несколько минут, отдаём). Дело в другом. Когда юзеры смотрят фильмы с сервера (а смотрят они их круглосуточно, уверяю) при тогдашних 1000 пользователей плюс-минус 30-40 лампочки на винтах не гасли вообще ни днём ни ночью - в дни дежурства это смотрел. Даже в 4 утра, когда в общем-то даже самые стойкие разбредаются... Итог: раз в пол-года были аварии по винтам - ну не выдерживали они такого издевательства. Ситуацию в общем-то не особо спас переход сервера-помойки на FTP (фильмы тогда не тронули - на CIFSе оставили), помойка не сильно реже стала винтами шуршать. Но вот balamutang дело говорит: хочешь скачать - будь любезен скачать, а дальше делай чо угодно, хоть монтаж фильмов, хоть что, освободи винты и канал для других. 2balamutang: Да я не спорю с тем, чтобы открывать по времени, лишь решил поприкалываться и предложить заранее "усовершенствовать" систему :). Кстати, такая штука у мну на работе - по веб-авторизации открывается порт SSH (на несколько минут всего). А проверка пользователя - по SSL-сертификату. :) Вставить ник Quote
edwin Posted October 11, 2006 Posted October 11, 2006 > Итог: раз в пол-года были аварии по винтам Понятно .. просто я смотрю со своей колокольни SCSI винтов.... Кстати дешевые IDE винты еще и актиным Squid'ом очень шестреко убиваются .... Вставить ник Quote
GateKeeper Posted October 12, 2006 Posted October 12, 2006 edwin: ну не будет же никто вменяемый на _файлопомойку_ ставить SCSI в 5 рейде! Тем более, если делать что-то типа 1,5+TB объёмом. Такие хранилища и в более других проектах пригодятся, где это более оправдано. Вставить ник 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.