PDA

Просмотр полной версии : Интервью с создателем wipfw Русланом Старицыным



Xen
23.03.2006, 18:36
Здравствуй, Руслан. Расскажи немного о себе, где работаешь, чем занимаешься в свободное время, если таковое имеется

Привет. Мне 27лет, живу в г. Архангельске. Работаю системным администратором в местной проектной организации.

С какими операционками работал?

Довелось поработать практически со всеми более-менее распространенными - Dos, MacOS, QNX, Linux, OpenBSD, FreeBSD, ну и Windows всех линеек. Однако предпочитаю FreeBSD для сервера и Windows для десктопа.

А как появилась идея портировать ipfw?

Изначально не было идеи делать порт. Мне предложили поучаствовать в разработке небольшой биллинговой системы, которая уже функционировала под Linux и FreeBSD. Моей задачей было перенести ее под Windows с минимальными изменениями. Для этого нужно было написать модуль подсчета трафика и сделать возможность ограничения доступа с определенного ip по истечении лимита трафика. Чтобы минимально менять код биллинга, было решено написать утилиту, которая бы "понимала" команды ipfw, считала трафик и делала блокировку с определенного ip-адреса, что я и реализовал примерно месяца за 3. Изначально утилита не содержала кода из FreeBSD, все было самописным, и сходен был только синтаксис команд программы управления. Реализованный функционал устраивал, однако, "потехи ради" я начал внедрять туда код оригинала. Идея пошла дальше. и я выложил всё в общий доступ и открыл исходники. Позже к проекту подключился Влад Гончаров, который оказал огромную помощь в осуществлении переноса оригинального кода, особенно в "ядерной части".

Что было самым трудным?

Я думаю, самое трудное впереди - реализовать полностью все возможности оригинала. Архитектура Windows не позволяет просто так вклиниться в сетевой стек. Официальный способ, который рекомендует Microsoft - писать NDIS-Intermediate драйвер. Но NDIS-IM драйвер неудобен в установке, и есть проблемы с некоторыми типами соединений, поэтому я отказался от этой идеи. Самое подходящее - это NDIS-Hook драйвер, способ, который используют большиство фаерволов под Windows. Этот способ официально не рекомендуется и иногда приводит к конфликту разных фаерволов на одной машине, однако при правильной реализации NDIS-Hook всё работает стабильно.
В данный момент wipfw перехватывает пакеты посредством Filter-Hook драйвера, что позволяет только блокировать ip-пакеты. Возможности отправки своих пакетов в таком варианте нет, что сразу перекрывает возможность reject и прочего. Это временный, хоть и стабильный вариант.

Что ты для себя узнал нового в процессе портирования?

Хорошо узнал "внутренности" FreeBSD.

Над чем конкретно работаешь сейчас?

Сейчас идет работа над отладкой варианта с NDIS-драйвером. Параллельно еще переношу ipfw2, уже работает. Доделываю гуй для tdifw. Вообще, времени на это всё очень не хватает, все занимает основная работа, поэтому продвигается медленно. Если бы я занимался проектом фуллтайм, все было бы по-другому.

Какие проекты думаешь подевелопить в будущем?

Хочу создать свою простую, бесплатную, открытую систему подсчета трафика. Это для многих актуально. Кто то скажет - велосипед, однако решений под Win не так и много, и все платные в основном.

Как ты относишься к BSD лицензии?

Лицензия удобная, хотя жаль, что многие используют ее в корыстных целях :)

Твое отношение к форкам? К форкам wipfw ? К использованию в коммерческих продуктах? Вообще были такие попытки?

Считаю, что лучше дорабатывать один продукт, чем множить его в разных вариациях и с разными багами. По поводу форков wipfw - то же самое отношение. Лучше связываться с автором и предлагать свои изменения/патчи, чем выносить это всё в отдельную ветку. Общими усилиями можно создать стабильный и мощный продукт. По поводу использования в коммерческих продуктах - буду только рад, что wipfw востребован, однако не откажусь и от donations на развитие проекта. Насколько я знаю, wipfw используется в нескольких платных продуктах, однако я с этого ничего не получил.

Какой язык программирования любимый? Среда?

Любимый - си. Идеальный язык в плане скорости и обьема получаемого кода. В качестве среды использую или notepad или ultraedit + cmd.exe :). Иногда использую dev-cpp. Очень помогает программа WinMerge, за нее создателям отдельное спасибо.

Твое отношение к spyware? Что думаешь про virusinfo?

Spyware для многих источник дохода. А если подцепил - сам виноват, надо использовать нормальное стабильное ПО :)
На вирусинфо хороший форум, и спецы тоже хорошие бывают. Очень даже неплохой ресурс.

Как много юзеров пользуются твоим продуктом? Где стоит? Какая посещаемость сайта? Кто помогает в развитии продукта?

Каждый месяц в среднем 3 тысячи скачиваний, поэтому я думаю, пользователей довольно таки много, хотя конкретной статистики не знаю.
Насколько я знаю, wipfw установлен на многих промышленных системах, включая государственные структуры. Посещаемость за последнее время возросла, многие ждут реализации divert и forward. Проект в последнее время развиваю один, конструктивные предложения практически не получаю, в основном только вопросы по установке, настройке и тд.

Что хочешь пожелать юзерам, админам и посетителям virusinfo?

Переходите на бесплатное и открытое ПО. Удачи!



интервью брал Xen
23.03.2006

Сайт проекта: http://wipfw.sourceforge.net

Geser
23.03.2006, 19:59
Хорошее интервью. Зачот :)

orvman
24.03.2006, 03:02
Xen - молодца!