Как я занимался ?ейпингом с Линуксом

Октябрь 31st, 2006

Заниматься ?ейпингом, во-первых полезно для здоровья, во-вторых, интересно, в-третьих, этим меня обязали заниматься и первые две причины я придумал, чтобы оправдать потерю времени, вызванную занятием ?ейпингом.

?так, чтобы заниматься ?ейпингом существуют целые горы литературы, советающие как это делать правильно и не навредить себе и окружающим. Надо сказать что Линукс не предназначен для ?ейпинга. Я не говорю про IOS, которая это умеет по определению и делает это вполне элегантно, я скажу про БСД, в котором ?ейпинг делается двумя взмахами руки и про Линукс, в котором это делалось в моём случае через 193 строчки из которых 60 было комментариями к тем командам, что я там записывал.

?так первое с чем приходится сталкиваться начинающему ?ейперу, это то, что Линукс отказывается заниматься своим так сказать лицом. Шейпинговать входящие пакеты можно ли?ь с помощью imq - жалкой поделки, видимо созданной по просьбам трудящихся каким-нибудь добрым дядей. Это объясняется тем, что дескать ?ейпинговать входящий трафик уже не имеет смысла, что он уже при?ёл и его хрен ограничи?ь (отбрось пакет и обвязка TCP снова его при?лёт). Так-то оно так, но БСД гораздо в в этом вопросе гибче и изящнее. Пайпы и очереди - позволяют манипулировать сегментами потока, в отличие от гадкого imq, которое к тому же на куче ядер было ещё совсем недавно патчем и не идёт в стандартных ядрах многих дистрибутивах по умолчанию.

А теперь представим что мне надо как-то ограничить общий входящий трафик в 1 Мбит, при этом из него должно быть не более 512Кбит торрентов на каждый интерфейс подключенный к ?люзу. Ну вот как это сделать не через мягкое место на Линуксе? Ответ просто - ну никак.

Вся эта пляска с iptables и маркированием пакетов ну просто жуткое извращение, хотя и не ли?ённая эстетики строб-тряски диких африканских гамадрилов, подключенных в сеть 220В. Чтобы добиться от tc культурных движений пакетов надо сделать сли?ком много ли?них телодвижений: создать основной родительский класс и дисциплину (вдвоём они организуют как бы пайп), сделать пяток очередей, потом на эти очереди посадить “добрые” очереди sfq (впрочем не обязательно), затем помаркировать пакеты (есть два варианта, прямиком в определении очереди и через iptables), затем запустить и убедиться что где-то о?ибся буквой (кстати, мой совет: пользуйтесь новыми мануалами, прогресс не стоит на месте, в iproute2 изменилось кое-что с 2002 года… tc может не понять, что от него хотят).

Отдельного упоминания заслуживает именование очередей и классов в полном согласии с вы?еобозначенным принципом “через мягкое место” (жопу, проще говоря) - так извращаться только для того чтобы навернуть понт - надо постараться. Ну что им ме?ало ввести нормальные хэндлы без всяких 1:0, 21:35 и т.п. Ничего. Возникло ощущение что у создателей этой хитрой монструозности tc Линукса есть комплекс перед всякими БСД и вместо того чтобы делать удобно, сделали круто. Всё равно же никто не бросится переставлять с серверов под БСД на Линукс. Стоило ли мудрить?
В общем, единственное что есть хоро?его в Линукс ?ейпинге - это то что он заработал, не повалив всю сеть :) А поскольку я делал это всё удалённо, было очень приятно. ? даже отсутствие дома воды не могло поме?ать чувству глубокого удовлетворения от созерцания отлично с?ейпингового Линукса.

Кстати, я навострился подключать скрипты в сервисы через chkconfig :) пожалуй это единственная фича, которая в Линуксе мне нравится боль?е по сравнению с её отсутствием в БСД.
Завтра откроем канал мерзким качателям п2п трафика и заценим как всё на самом деле не работает :)

Пост относится к: Дела админские

5 коммментариев Добавить от себя...

  • 1. duan  |  Октябрь 31st, 2006 at 7:49 pm

    Ну и накой черт ты удалил BSD?

  • 2. duan  |  Октябрь 31st, 2006 at 7:53 pm

    эээ

  • 3. glorgster  |  Октябрь 31st, 2006 at 9:25 pm

    Чтобы я удалил БСД??? Вы за кого меня принимаете?

    Ограничение выставлялось не на основном форпосте ВЦ, а на одном из миньонов. А там в силу сложных обстоятельств появился Астериск, который как нам известно основан на дистрибе ЦентОСа и посему является Линуксом… изменить этот факт в общем-то можно, но обломно. Поэтому при?лось мучиться с iproute2.

    Теперь я зато могу снисходительно улыбаться видя Линукс. Я прочувствовал, в чём сила тёмной стороны БСД.

  • 4. duan  |  Ноябрь 1st, 2006 at 12:13 am

    А почему бы не выставить на основном форпосте?

  • 5. glorgster  |  Ноябрь 1st, 2006 at 12:26 am

    канал соединяется вместе только на второй циске после на?его форпоста. Поэтому выставить никак нельзя, а на циске итак временно ограничили свы?е в 512кбит, чтобы неповадно качать было.

    А политика партии в том, чтобы разграничили поближе к конечному пользователю.

Оставить комментарий

Необходимо

Необходимо, скрыто

Можно пользоваться тэгами:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Отследить пост  |  Подписаться на RSS ленту комментариев


Календарь

Октябрь 2006
Пн Вт Ср Чт Пт Сб Вс
« Сен   Ноя »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Последние посты