Поставили мне тут задачу: вырезать полосу гарантированной пропускной способности под видео-поток, но очень хитро вырезанную и с заумными требованиями…
Поток — 6 Мбит/с, когда он бегает — все курят и пользуются только тем, что осталось. Но когда потока нет — эта полоса должна отдаваться клиентам, которым «вечно не хватает скорости». Эдакая труба с плавающей границей. В нагрузку — нужно распределить приоритеты трафика (чтобы многогигабайтные ftp-транзакции не ложили канал и DNS-запросы в очередь не выстраивались), ну и, естественно, выдать определенным людям «правильные» приоритеты. Мрак, короче…
Со статической нарезкой в пингвинах (базовые понятия о CBQ и иже с ним) я когда-то сталкивался, хоть и давно. С динамической — столкнулся впервые…
Базовые знания и быстрый гуглинг (в стиле: что народ юзает и для каких задач) подсказали копать в сторону «HTB» + «fw-mark». Поскольку мы ВЗРОСЛЫЕ пингвины, то использовать костыли, а-ля htb.init и иже с ним, мы не будем (ввиду их ущербности и неприменимости к нашей задаче). Было решено строить полосы и цепочки вручную, с помощью монстрячей штуковины «tc» и «iptables»…
Весь день провел за раскуриванием «прозрачного» мануала LARTC и сочинением аццкого скрипта. Назвать это творчество прозрачным — все равно, что микрософт делить — сплошное на2.7балово. Мозги нафик опухли, скурена пачка сигарет, выпито несколько литров кофе…
РАБОТАЕТ! Вождь в экстазе! Все летает, расчитываем на премию… 😉
Добавить комментарий