26.11.2009

Лимитирование трафика средствами Squid. Часть I

7 прокомментировало
Каждый сисадмин рано или поздно должен написать свою систему учёта трафика.
Дошёл до этой стадии и я. Причина проста — нужную мне функциональность не обеспечивает ни одно имеющееся решение, кроме SAMS, а SAMS мне не нравится.

Итак, вводная или как я дошёл до жизни такой.

Интернет в организации в которой я работаю доступен только и исключительно через прокси-сервер вышестоящей организации. Зарезан даже DNS. На всю организацию выдаётся довольно небольшой лимит трафика, соответственно, о бесконтрольной раздаче его пользователям и речи не идёт.

Вторым немаловажным фактором является то, что довольно большая часть трафика приходится на т.н. «внутренние» ресурсы (находящиеся во внутренней сети провайдера). Эти ресурсы не ограничены по объёму и учитываться не должны.

Третье требование — обязательная авторизация. Никакого учёта «по IP». Поскольку IP адреса раздаются посредством DHCP и переходить на статику я не вижу ни малейшего смысла.

Первоначально я собирался остановиться на 3proxy, который позволяет как авторизовывать пользователей, так и выставлять каждому пользователю лимиты, а на сладкое — прописывать сети, которые учитывать не надо. Казалось бы — вот он, идеал.
Увы, всё оказалось не так просто. В случае отсутствия DNS работает всё, кроме исключения из учёта «внутренних» сетей, т.к. URL на самом 3proxy не резолвятся.

Итак, передо мной в полный рост встала задача из разряда «берём Squid, напильник и делаем шедевр». Ознакомившись с опытом предшественников, я был сильно удивлён тем, что для анализа трафика использовались в основном два метода:
1. загоняем access.log через пайп в самописный скрипт и анализируем
2. запускаем по крону самописный скрипт и анализируем access.log

Недостатки очевидны. Трафик учитывается постфактум, т.е. если у пользователя стоит лимит в 10Mb, а он поставил на закачку образ DVD, то свои 4,7Gb он скачает и только потом будет отключен.

С учётом того, что Squid вполне поддерживает SNMP, а значит можно в любой момент получить живую статистику по любому IP, довольно странно, что никто им не пользуется.
Для любопытных — Squid MIB.

На этом я пока прервусь, продолжение следует…

25.11.2009

Выбираем фотопринтер для линукса

19 прокомментировало
По большому счёту, когда мы говорим «фотопринтер», мы подразумеваем либо Canon, либо Epson.

К сожалению, опыт использования Canon PIXMA iP4200 показал, что если не озаботиться совместимостью принтера с линуксом ещё перед покупкой, имеется реальный шанс получить на выходе либо отсутствие фотопечати, либо необходимость покупки драйвера на TurboPrint.

Поскольку верой и правдой три года служивший мне iP4200 приказал долго и бестолково жить, я задался этим вопросом более чем всерьёз.

В результате, на финишной прямой оказались два кандидата: Canon PIXMA iP4600 и Epson Stylus Photo T50.

Рассмотрим их подробнее.

Canon
  • поддерживается как драйверами Gutenprint, так и драйверами от производителя (в наличии rpm и deb)
  • Нет проблем с перезаправкой картриджа, либо установкой СНПЧ. Счётчик чернил просто отключается штатным способом.
  • НЕ ПРОВЕРЕНО. Имеется «обнулитель счётчика».
  • Разрешение выше, чем у Эпсона

Epson
  • поддерживается сторонними драйверами (скачиваются с сайта и устанавливаются из комстроки)
  • Требуется обнуление счтёчика картриджа. Без него — только оригинальные расходники
  • Требуется регулярный (примерно раз в три заправки) «сброс памперса». Производится в сервисной мастерской. В домашних условиях [пока] никак.
  • Шесть цветов (у Кэнона — четыре).
  • Пьезоэлектрическая печать (у Кэнона — термопечать)
Лично я пока склоняюсь к Canon, поскольку качество печати iP4200 меня вполне устраивало, а заморочки с обнулением чипов слегка напрягают (хотя, возможнооно только со стороны жутковато выглядит). Есть другие мнения?

10.11.2009

I need help

21 прокомментировало
Когда я баловался написанием программ, основной проблемой было «что бы эдакое написать? Чтобы не просто так, а пользу приносило?». Сейчас я от программирования далёк, зато у меня есть ответ на вышеприведённый вопрос. :)

Очень хочется апплет для панели Gnome, который будет делать ровно одно: менять раскладку выделенного текста по клику или хоткею. Более ничего.

Если кто может сделать подобное — буду очень благодарен (сам попробую, но не программист я, совсем не программист).

P.S. О существовании gXneur я знаю. Увы, именно вот эта функция в нём толком и не работает.