NiTr0 Опубликовано 27 ноября, 2010 (изменено) · Жалоба Итак, после довольно продолжительной разработки (с февраля - кода я понял, что мне 2.4.34 ядра не хватает, а переползать на другой дистр не хотелось ввиду большого кол-ва наработок для LEAF и привычки к дистру), таки родили сообществом бета1 версию, в которую добавили все актуальные на сегодня "хотелки" как для ISP юзания (вносились мной), так и для юзания в качестве пользовательского софтроутера на каком-то ALIX'е с Geode (или чем-то еще более медленном типа WRAP или классического первопневого тазика на антресоли). Коротко: многофункциональный embedded дистр, на 2.6.35.8 ядре, для x86 архитектуры с поддержкой SMP (или без оной - для i486/geode ядер), с uClibc в качестве libc библиотеки и busybox в качестве шелла и базового окружения, для своей работы - требует минимум памяти (способен в минимальном наборе запуститься на тазике с 16МБ памяти, для браса на 500+ абонентов и шейпингом аплоада htb+hash на 2к адресов - хватает с головой 512МБ памяти); работает с рамдиска, на который при старте подгружает указанные в конфиге пакеты (формата .lrp - .tgz архивы с присутствующими служебными файлами для менеджера пакетов). Запускается с устройства с FAT/FAT32/ISO9660 ФС, пользуя syslinux/isolinux - с сд-привода (с конфигом на флопике), IDE/SATA винта или с USB флэшки. Подгружает только необходимые для работы устройств модули ядра; по дефолту в дистр включены драйверы наиболее популярных сетевых карт; имеется архив со всеми ядреными модулями + механизм автоматической подгрузки требуемых железом дров из этого архива (эдакий plug'n'play, для запуска требует наличия минимум 64МБ оперативной памяти на машине). При желании можно юзать для NAS/SAN (нужные пакеты - самба, vsftpd, iscsi, а так же mdadm имеются). В близких планах - портирование астериска с зависимостями (при обновлении ядра и окружения астериск поломался, править - времени и нужды особо не было, от того - в релизе пока убран), + обновление ядра по мере выхода новых версий 2.6.35 ветки, + чистка, багфиксы и т.д. Из того, что интересно для ISP, имеется: iptables со скриптом инициализации, извлеченным с рэдхетовских осей и немного перепиленным под урезанный дистр (имеется загрузка-сохранение конфига/модулей и прочие плюшки) accel-pptp 0.8.5 kernel-mode rp-pppoe xl2tpd (лично мной не проверялся) pppd + radcoad quagga 0.9.17 в полном комплекте perl 5.12.1 (я им не пользуюсь, но мало ли кому понадобится) net-snmp 5.4.3 irqbalance 0.55 (0.56 - адекватно не заработал) скрипт инициализации хеш-таблиц шейпера и модификации правил в них, исходя из IP и скорости + ip-up/ip-down/ip-mod для pppd openrrcp - может кому-то будет актуально at, tcpdump, iptraf, lmsensors и прочие мелочи Работает у меня в продакшне долго (с февраля-марта), постепенно модифицируясь, в качестве роутеров и в качестве брасов с шейпером (pptp+pppoe), сейчас - собрали новый бордюр на нем же. Скачать можно отсюда. Собссно страничка проекта - вот (пока правда еще не обновили новости, документация в стадии наполнения, но многое касательно версии 3.х применимо и для 4.0). Багрепорты предпочтительно постить в trac или в мэйллисты. Ну или здесь - хотя в мэйллистах/трэке ответ будет быстрее. Для желающих что-то допилить/добавить нужный пакет - welcome, документация для девелоперов - вот. P.S. Из того, что всплыло после релиза - для полноценной работы скрипта инициализации-отключения iptables необходим пакет mawk, но по дефолту в leaf.cfg он не указан. Изменено 19 марта, 2011 пользователем NiTr0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 19 марта, 2011 · Жалоба Зарелизилась beta3. Из основных изменений - обновлено ядро до 2.6.35.11, добавлена поддержка esfq, правка багов в некоторых пакетах/скриптах, частичное обновление пакетов. Подробный ченжлог - здесь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OK-2004 Опубликовано 21 марта, 2011 · Жалоба да, B-uc V4 - вешь хорошая, ram-based, со своим sdk. И очень хорошо, что не на основе debian-live ( как linux.voyage.hk). Жаль тока что что arping - из пакета iproute, а не самостийный . И никто не хочет к нему ipt_netflow прикрутить. 2NiTro: прошу прощения за дерзость , а Вы имеете какое-то отношение к этому чудесному проекту? P.S. сам когда-то активно в нём участвовал, пока не забанили за подрыв идеологии. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 21 марта, 2011 · Жалоба Собссно я 4-ю ветку и начал, сделав основную работу по апдейту ядра/модификации скриптов/апдейту компилятора и основных пакетов. Последние несколько месяцев правда мало времени проекту уделяю - т.к. вроде как все, что мне нужно, работает. arping - был отдельным пакетом, вроде как в 3.1 и альфах присутствовал еще, но потом был исключен ввиду наличия аналога в bb. Можно вернуть. ipt_netflow - в принципе прикрутить не проблема, если он имеется под 2.6.35 ядро, думаю попробую на неделе. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 24 мая, 2011 · Жалоба Апну тему. 15 мая, через 14 месяцев после начала разработки, зарелизили 4.0 версию. Из планов на развитие: обновление ядра до 2.6.39 (или выше); включение в дистр BIND, accel-ppp, freeradius, asterisk; реорганизация тулчейна для осуществления возможности сборки дистрибутивов под другие архитектуры (x86_64, ARM и т.п.); автоматическия подгрузка пакетов по зависимостям; прочие мелочи, высплывающие по мере использования. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OK-2004 Опубликовано 25 мая, 2011 · Жалоба Good work, sir! ;) ipt_netflow still awaiting... :( Возможно баг, (возможно нет) , но командочка ip ro get x.x.x.x/x выводит пустую строку... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 25 мая, 2011 · Жалоба ipt_netflow still awaiting... :( Ок, закончу с bind'ом, попробую вкрутить. Возможно баг, (возможно нет) , но командочка ip ro get x.x.x.x/x выводит пустую строку... Похоже проблема бизибокса. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 26 мая, 2011 · Жалоба включение в дистр BIND не надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 24 июня, 2011 · Жалоба Дошли таки руки до ipt_netflow. Вкомпилил, не проверял (не на чем). Тарболл лежит здесь. не надо. Не надо - не пользуйте. Никто вас не заставляет его включать, все модульное ведь. А мне к примеру - надо :) Ибо бордюры с секондари днс скрещены (т.к. оперативки дофига - ибо двухканальный режим подразумевает 2-4ГБ, проц тоже далеко не в полке). + уверен кому-то еще пригодится. P.S. Также портировал BIRD, поиграться - тоже не тестил, пока в todo эксперименты с ним. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 25 июня, 2011 · Жалоба бордюры с секондари днс скрещены NSD. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 25 июня, 2011 · Жалоба Интересный проект, но смущает что без кеширования. Возможно, портирую как-то. Хотя и бинда хватает, тем более после перевода его на uclibc он изрядно похудал, сейчас живут 5 процессов с VSZ=80MB, большая часть памяти при этом общая (выделилась до форка). Суммарное потребление памяти на бордюре - в 200 МБ (сюда же кеши, корневая ФС + логи общей суммой на метров 40 и т.п.). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 25 июня, 2011 · Жалоба Если DNS-сервер для предоставления рекурсии большому кол-ву клиентам, то рекомендую powerdns(pdns-recursor). После перевода основной рекурсивной нагрузки с бинда на powerdns, проблем с dns вообще ни разу не было. Если рекурсивная нагрузка маленькая(до 1000 запрос в секунду), то можно использовать привычный bind9 и не заморачиваться Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 25 июня, 2011 · Жалоба Если DNS-сервер для предоставления рекурсии большому кол-ву клиентам, то рекомендую powerdns(pdns-recursor). Unbound. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 25 июня, 2011 · Жалоба Ага, мне его советовали, но на полуискусственных тестах он показал себя хуже чем powerdns, в продакшне не сравнивал. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 4 августа, 2011 · Жалоба 30-го числа зарелизили 4.1 beta1. Основные изменения: -обновлено ядро до 2.6.35.13, обновлен igb -добавлен софт (в частности bind, ipt_netflow, dibbler, sysstat) -небольшие изменения в скриптах Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 2 сентября, 2011 · Жалоба Итак, зарелизили 4.1 beta2. Основные изменения: -обновлено ядро до 2.6.35.14 -обновлен биибокс, увеличена длинна истории и включено ее сохранение -пофиксен sysstat, nut -правки шейпера (ppp-hsh) -прочие мелочи Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 20 октября, 2011 (изменено) · Жалоба 8 октября зарелизили 4.1. Основные изменения: -добавлен скрипт для автоматической подгрузки модулей при горячем подключении устройств (mdev не имеет данного функционала) -обновление версий софта (dhcpd, shorewall, wpa_supplicant, tor и т.д.), добавлены файлы лицензий и инфо о типе лицензии каждого пакета. Из планов на будущее (5.х ветка; ориентировочно - первую бету соберем где-то весной): -приведение тулчейна к адекватному виду и, как следствие, поддержка других архитектур (x86_64, ARM, MIPS и т.п.) -обновление uClibc, gcc -обновление ядра до каррент версии -включение accel-ppp (скорее всего произойдет в 4.х) Изменено 20 октября, 2011 пользователем NiTr0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OK-2004 Опубликовано 22 октября, 2011 · Жалоба Попробывал! Отлично. Вайата нервно курит в стороне. Прекрасная идеология. "Just pure linux"! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SSTS Опубликовано 26 октября, 2011 · Жалоба а реально LEAF запихнуть на флешку, если да то ткните в man Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 26 октября, 2011 (изменено) · Жалоба а реально LEAF запихнуть на флешку, если да то ткните в man Берете и пихаете, так же как и на винчестер, один в один. USB дрова на борту имеются. Ну или на крайний случай, если syslinux пугает/не получается с ним и лень разбираться/хочется виндовыми гуевыми средствами, пишете на флэш образ диска через ultraiso. Изменено 26 октября, 2011 пользователем NiTr0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 17 декабря, 2011 · Жалоба Зарелизили 4.2-beta1. Самые существенные изменения: ревизия конфигов ядра (memory allocators, модули/драйверы и т.п.) - чистка лишнего и добавление нужного; автодетект железа при буте пользуя hotplug подсистему (быстрее загрузка); добавлены sshblack, clamav с havp, и еще кое-какие пакеты (еще в 4.1.1), обновлена часть пакетов до актуальных версий Полный чейнджлог - здесь. Также в процессе неспешной разработки новая ветка - переработанный тулчейн для полноценной кросс-компиляции, обновленный софт (наконец-то uClibc 0.9.32 с поддержкой nptl), accel-ppp в стадии портирования, упакованные модули ядра, в перспективе - апдейт ядра и поддержка не-x86 архитектур (фундамент заложен), разбивка initrd на несколько частей, а также пользование zram вместо tmpfs. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OK-2004 Опубликовано 21 декабря, 2011 · Жалоба С глубоким прискорбием обнаружил присутствие отсутствия всяких "parm" в модуле igb.ko, его depend-са от dca.ko, да и сам модуль отстаёт от версии на sf.net. Уважаемый NITrO, могу я надеяться на Вашу поддержку в этом вопросе ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 21 декабря, 2011 · Жалоба Параметры вроде как есть. Во всяком случае - были на промежуточных сборках, которые крутятся на брасах, и есть в сборке next ветки, которая крутится на тестовом тазике. Учитывая, что в промежутке ничего в igb не менялось - в 4.1.1 параметры тоже должны присутствовать. # modinfo igb filename: igb.ko.gz description: Intel(R) Gigabit Ethernet Network Driver author: Intel Corporation, <e1000-devel@lists.sourceforge.net> license: GPL vermagic: 2.6.35.14-i686 SMP mod_unload modversions PENTIUMII parm: debug:Debug level (0=none, ..., 16=all) parm: DMAC:Enable/disable on parts that support the feature parm: EEE:Enable/disable on parts that support the feature parm: QueuePairs:Enable TX/RX queue pairs for interrupt handling (0,1), default 1=on parm: max_vfs:Number of Virtual Functions: 0 = disable, 1-7 enable, default 0 parm: VMDQ:Number of Virtual Machine Device Queues: 0-1 = disable, 2-8 enable, default 0 parm: RSS:Number of Receive-Side Scaling Descriptor Queues (0-8), default 1=number of cpus parm: LLISize:Low Latency Interrupt on Packet Size (0-1500), default 0=off parm: LLIPush:Low Latency Interrupt on TCP Push flag (0,1), default 0=off parm: LLIPort:Low Latency Interrupt TCP Port (0-65535), default 0=off parm: Node:set the starting node to allocate memory on, default -1 parm: IntMode:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default 2 parm: InterruptThrottleRate:Maximum interrupts per second, per vector, (max 100000), default 3=adaptive depends: Версию обновлю. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
OK-2004 Опубликовано 21 декабря, 2011 · Жалоба а в kernel можно добавить поддержку dca.ko ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 21 декабря, 2011 · Жалоба Ок, добавил в каррент, ждите 4.2 beta2 или собирайте из гита. Хотя не думаю, что что-то сильно должно от I/OAT DMA улучшиться на реальной железке, но модуль ничему мешать не должен - так что пусть живет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...