Jump to content
Калькуляторы

Linux Embedded Appliance Framework aka LEAF Линуксовый "модульный" софтроутер

Не смог запустить 4.2-beta1 с флешки. Syslinux из дистрибутива(3.11) при загрузке говорит "невозможно загрузить модуль linux", при копировании ядра из syslinux/ в корень в виде linux2 и указывании его - начинает грузиться, но падает в панику при инициализации fs, хотя все по мануалу, fat32.

Syslinux последней версии(4.0.5) вообще умирает с какими-то корявыми надписями, скорее всего "не могу найти OS".

Я что-то делаю не так?

 

Ну и вопрос в догонку. Как на маршрутизацию влияет использование 32битного дистрибутива? x64 быстрее или не обязательно?

Share this post


Link to post
Share on other sites

Syslinux из дистрибутива(3.11) при загрузке говорит "невозможно загрузить модуль linux"

Старый сильно, есть такое, не поддерживает ядро в отдельном каталоге, в корне его хочет видеть. С 4.0-4.03 точно все в порядке. Более новый - не проверял, хотя тоже проблем быть не должно.

 

при копировании ядра из syslinux/ в корень в виде linux2 и указывании его - начинает грузиться, но падает в панику при инициализации fs, хотя все по мануалу, fat32.

Что пишет, подробнее?

В панику падать будет только если не подгрузится initrd, иначе - ругнется, да и вывалится в консоль с минимальным окружением (все, что есть в initrd).

 

Как на маршрутизацию влияет использование 32битного дистрибутива?

Никак. 64бит имеет смысл в 2 случаях:

1) Нужно много памяти одному процессу

2) Нужны сложные целочисленные вычисления, особенно - работа с 64бит данными.

Ни первое, ин второе для роутинга не нужно. Прирост от перехода на 64бит может и будет (незначительный), а может и нет, может и наоборот будет проседание производительности (из-за большего объема кода/распухших из-за 64бит integer + выравнивания структур, и большего кол-ва cache miss).

Share this post


Link to post
Share on other sites

NiTr0

На IPv6 можно и пригодятся процессоры x86_64 в плане производительности

Share this post


Link to post
Share on other sites

Ну IPv6 - возможно еще. Хотя тоже гигантского роста производительности навряд можно ожидать (разве что при наличии нескольких тысяч правил ip6tables или чего-то подобного).

Share this post


Link to post
Share on other sites

Заинтересовал данный дистрибутив. Не подскажете как в нем реализована поддержка авторизации через радиус, какие атрибуты он понимает?

Проводится ли специальная оптимизация ядра для сетевой подсистемы? Проводил ли кто-то тесты производительности в сравнении с обычными дистрибудивами(дебиан, редхат и т.д)?

Планируете сделать поддержку VRF?

Edited by lllsergeyv

Share this post


Link to post
Share on other sites

lllsergeyv

Вы такие вопросы спрашиваете, как будто это развитый форк ядра и куча собственнописанной проприетарщины. Список пакетов в первом посте, функционал соответствующий. Это просто сборка уже имеющегося свободного софта под задачу роутинга и терминирования.

 

Ну а по поводу vrf в linux, то полноценное разделение таблиц маршрутизации с точки зрения форвардинга реализовано в 2.6.33(т.е. с помощью ip rule и iptables можно реализовать vrf-lite). Quagga, к сожаленью, работает только с одной таблицей, хотя умеет быть vpnv4 RR. Bird вроде бы можно приучить к нескольким таблицам, но он не умеет vpnv4, т.е. надо поднимать сессию в каждом vrf.

В 3их ядрах(не помню с какого именно) закоммичены контейнеры, что означает, что можно запускать приложение, изолируя его в конкретном vrf.

Share this post


Link to post
Share on other sites

Не подскажете как в нем реализована поддержка авторизации через радиус, какие атрибуты он понимает?

Стандартно для pppd (+ небольшое кол-во патчей типа гигавордов), исходники посмотреть можете. В next ветке запилил accel-ppp, бету ожидаю где-то ближе к лету.

 

Проводится ли специальная оптимизация ядра для сетевой подсистемы?

Ядро - ванильное, стараемся избегать лишних патчей. Особого тюнинга соответственно тоже можно не ждать. Хотя производительности вполне хватает.

 

Проводил ли кто-то тесты производительности в сравнении с обычными дистрибудивами(дебиан, редхат и т.д)?

По части маршрутизации/ната - не думаю, что будут различия. А если и будут - то ИМХО в пределах статистической погрешности (единицы %). Юзерленд же ИМХО будет работать шустрее (меньше объем кода из-за uClibc, соответственно меньше cache miss, меньше требуется оперативной памяти и т.п.). Хотя в юзерленде из критичного к ресурсам пожалуй только сквид и clamav.

 

Основная прелесть - в скорости загрузки (система взлетает от силы секунд за 40), в малой ресурсоемкости, отсутствии необходимости в жестком диске для работы (накопитель требуется только для старта, и в норме работает в рид-онли; запись - только при сохранении конфига) и соответственно более высокой надежности/отказоустойчивости.

Share this post


Link to post
Share on other sites

Зарелизилась 4.2 beta2. Немного апдейтов, немного багфиксов, ну и присутствующий xtables-addons ессно.

Share this post


Link to post
Share on other sites

Вот теперь тебя люблю я, вот теперь тебя хвалю я!

© мойдодыр

Share this post


Link to post
Share on other sites

Собираюсь попробовать LEAF 4.2 в качестве NAS (нато-шейпера)

 

Интересует производительность..

Прожует ли 1Gbit Fullduplex, 300+ kpps (суммарно), 2k абонентов в час пик (4000 правил в tc и тд) на 82576 4-х портовке и Core2Quad 9550 2.83Ghz ?

Share this post


Link to post
Share on other sites

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

В любом случае, производительность не будет отличаться от таковой на другом дистре с 2.6.35 ядром.

Share this post


Link to post
Share on other sites

LEAF (наверно благодаря стараниям NITr0 обрел вторую жизнь с ядром 2.6.ххх) прекрасно справляется с NAT с учётом всех тюннингов из ветки "Linux Softrouter".

У нас уже сложился некий корпоративный стандарт - в районах стоят RB1100xAH2. На бордере - LEAF с натом , шейпингом и генерацией netflow.

Но т.к. многоуважаемый NITr0 является походу единственным русскоязычным разработчиком сего чуда, а заодно регулярно посещает этот форум -я позволю себе дерзость адресовать feature request ему прямо здесь.

Нельзя ли утилитку lspci вывести из соcтава busybox чтобы она понимала все ключи, которые могут понадобиться при копании в потрохах железа ? (Например ключи -t -v )

Share this post


Link to post
Share on other sites

ок, впихну как-то полновесный lspci в пакеты.

Share this post


Link to post
Share on other sites

Итак, в next ветке допилили таки сообща все мелочи, необходимые для полноценной и безболезненной кросс-компиляции под различные архитектуры. Сборка для ARM под QEMU в качестве первого эксперимента уже успешно живет. В планах комьюнити - собрать в первую очередь для Raspberry PI (как доступную и дешевую платформу для экспериментов), как только железка попадет кому-то в руки, и далее - подыскать более подходящую для сетевых задач железку с приемлемым ценником...

Share this post


Link to post
Share on other sites

добрый день,у меня проблема с установкой леаф 4.2.1 isolinux,вроде всё делаю правильно,конкретно:скачал исо файл,записал на болванку,загрузился с болванки,в основном меню выбрал:f,m и s,примонтировал CD диск,инсталлировал hdsupp и mtools,в fdisk - o,n - р,умолчание,умолчание,затем -а-сектор-1,затем t -cектор1 и c,в конце w,

потом mkfs.vfat /dev/sda1,syslinux /dev/sda1,скопировал все файлы с болванки на жесткий диск,создал директорию syslinux,скопировал туда isolinux.dpy,isolinux.cfg и linux,переименовал оба isolinux в syslinux,отредактировал isolinux.cfg и leaf.cdf для sda1,перезагружаю и не бэ и не мэ,молчит комп....не знаю что делать....как проверить правильность сборки....может кто помочь...или подскажет русский форум по leaf.....не пинайте пож-ста.....но с линуксом я столкнулся недавно....до этого занимался другой человек...но он уехал в другой город..

Share this post


Link to post
Share on other sites

хм,

я проще делаю:

скачиваю ...686...vga...tgz

вставляю usb-флешку.

На рабочем компе ( ubuntu ):

 

sudo dd if=/dev/zero of=/dev/sdb bs=10M
sudo fdisk /dev/sdb ( n 1 (default) , t ( win fat32 lba ) a 1 ,w )
sudo mkdosfs -F 32 -n leaf -v /dev/sdb1
sudo dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdb
sudo syslinux  /dev/sdb1
sudo mount -t vfat -o rw,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 /dev/sdb1 /home/ok/usbflash
tar -zxpvf ..686...vga.tgz -C /home/ok/usbflash

 

config syslinux:

 

TIMEOUT 0
APPEND reboot=bios ipv6.disable=1
VERBOSE=1
DEFAULT /syslinux/linux initrd=/initrd.lrp rw root=/dev/ram0 LEAFCFG=/dev/sda1:vfat

 

всё...

Share this post


Link to post
Share on other sites

но у нас установлены только Windows,но проблему я решил так:на винте не было загрузочного сектора,т.е. командой fdisk можно создать выбором -а- загрузочный диск,но этого оказалось недостаточно,необходимо создать загрузочный сектор для чтения и записи командой- dd -, а вот в документации по 4-му леафу про это нигде нет,есть отсылка к третьей версии.

Можно вопрос:почему Вы указываете в конфиге syslinux : ipv6.disable=1 ,что это даёт? И потом после загрузки с винта в меню леафа в 3-ем пункте "pakages configuation " не появился пункт РРРОЕ и PPP,чтобы вбить рар и chap,как это сделать,чтобы они там появились????? Да и вообще как сконфигурировать соеденение РРРОЕ полностью.......

Share this post


Link to post
Share on other sites

"ipv4.disable" - потому что мне не надо загруженного ядра с поддержкой ipv6 (пока).

Если в меню lrcfg отсутствует инфа о загруженных пакетах, то придётся либо править конфиги в ручную , либо ковырять саму lrp-шку пакета , на предмет того что она кладёт в /var/lib/lrpkg/*.conf в момент своей загрузки.

Насчёт команды "dd" - когда писалась дока для 4-ой версии leaf-a уже все юсб-флешки начали уметь грузиться через биос( у всех есть стандартные mbr-ы ). У меня скопилась куча флешек 5-6 летней давности, для которых надо в первый сектор заливать стандартный hdd-шный mbr. Некоторые даже приходится форматить в fat-16, а для некоторых приходится класть загрузчик syslinux с ключом "-s"....

Share this post


Link to post
Share on other sites

но у нас установлены только Windows

Юзать виндовый syslinux тогда, благое дело есть.

 

И потом после загрузки с винта в меню леафа в 3-ем пункте "pakages configuation " не появился пункт РРРОЕ и PPP,чтобы вбить рар и chap,как это сделать,чтобы они там появились?????

Пакеты для начала подгрузить нужные.

 

Да и вообще как сконфигурировать соеденение РРРОЕ полностью.......

Как-то так. Сам не конфигурил клиента т.к. не нужно было, но думаю проблем не возникнет.

Share this post


Link to post
Share on other sites

советы прекрасные,не надо юзать виндовым ,я же описал до этого

 

-инсталлировал hdsupp и mtools- после этого просто надо дать команду : syslinux /dev/sda1 и ldlinux появляется на корне диска.......

 

всё что мы здесь обсуждаем надеюсь пригодится кому-то,ведь доков на русском языке кроме перевода Пировских я не нашёл,плохо когда не знаешь,да ещё забыл английский,но пока:у меня комп P1 с частотой 333 ггц,на материнке нет разъёмов для USB,вследствии этого пришлось установить на HDD объёмом 2 ГБ;устанавливал на более мощную машину Р4 2,33 ГГЦ с винтом SATA 160 ГБ,но при инсталяции syslinux- ругался, что не поддерживает диски с большим объёмом,пришлось уменьшать fdick -om до 2ГБ,при разметке даже при 4ГБ снова ругался.....По поводу рррое: по доку понял что надо отредактировать leaf.cfg вместо dhcpcd надо прописать ррр и рррое и тогда при перезагрузке эти пакеты устанавливаются автоматом.....Но дальше больше:надо прописать рар и chap логин и пароль,сконфигирировать интерфейсы и shorewall.....пока остановился на этом.....будем осиливать буржуинский язык....

Share this post


Link to post
Share on other sites

-инсталлировал hdsupp и mtools- после этого просто надо дать команду : syslinux /dev/sda1 и ldlinux появляется на корне диска.......

Можно и так, но лишние телодвижения (загрузиться с сд, копировать все с сд, править конфиги и т.д.), проще из-под установленной уже оси распаковать и сделать системным раздел :)

 

ведь доков на русском языке кроме перевода Пировских я не нашёл

Конфигурирование LEAF по большому счету сводится к чтению мануалов по нужным пакетам (утилитам), на любом языке. Ну а доступ к конфигам для удобства вынесен в меню. Разве что особенности могут быть при конфигурировании сетевой подсистемы и прочими дистрибутивно-специфичными вещами.

 

при инсталяции syslinux- ругался, что не поддерживает диски с большим объёмом,пришлось уменьшать fdick -om до 2ГБ

Не сталкивался с ограничением, возможно - потому, что не юзал большой системный диск... Ведь размер всего дистра - около 50 МБ.

К слову, я бы посоветовал вам поставить какую-то CF карту с CF-IDE переходником. Надежнее будет.

Share this post


Link to post
Share on other sites

"-..Конфигурирование LEAF по большому счету сводится к чтению мануалов по нужным пакетам (утилитам), на любом языке."

 

--не понял на любом языке:а где взять мануал на русском языке,если есть мануал на русском- то думаю не будет проблем.....

 

"...посоветовал вам поставить какую-то CF карту с CF-IDE переходником. "

 

Если честно - то до этого я не дошёл,только учу LINUX.....

как быть с интерфейсами и shorewall-ом-----бьюсь сию над этим.....

Share this post


Link to post
Share on other sites

--не понял на любом языке:а где взять мануал на русском языке,если есть мануал на русском- то думаю не будет проблем.....

Гугл в помощь, ищете мануал на интересующий вас компонент. К примеру, на "shorewall настройка" - 3-я ссылка вот что выдала. Довольно неплохо для начала разжевано. Так и по остальным компонентам...

Дублировать то, что написано на прочих ресурсах - особо смысла не вижу.

По части настройки сетевой подсистемы - инит дебианоподобный, соответственно, смотрите в сторону мануалов к дебиану/убунте, с адаптацией под LEAF. Если сильно с английским туго...

 

Если честно - то до этого я не дошёл,только учу LINUX.....

CompactFlash к линуксу имеет такое же примерно отношение, как и клавиатура...

Share this post


Link to post
Share on other sites

очень удевлён:про CompactFlash я вообще не упоминал-действительно CompactFlashк тут не при чём,узучать linux надо с другого....

CompactFlashк линуксу имеет такое же примерно отношение, как и клавиатура...

Гугл в помощь, ищете мануал на интересующий вас компонент.

существует документация на leaf-про доки я имел ввиду- именно перевод этих доков,а про эти мануалы и как их применить под леаф-большой вопрос...для таких как я.....

 

во хохмачи: просят на русском языке-объсни как это делать---нет начинают нести такую чепуху несусветную.Если не можете конкретно помочь-что лезть со своими советами-может найдутся более сведущие в этом деле....А вы пока стойте и наблюдайте-может и разберёмся....

Share this post


Link to post
Share on other sites

во хохмачи: просят на русском языке-объсни как это делать---нет начинают нести такую чепуху несусветную.Если не можете конкретно помочь-что лезть со своими советами-может найдутся более сведущие в этом деле....А вы пока стойте и наблюдайте-может и разберёмся....

 

Ну вы же понимаете, что ради вас одного(или нескольких таких как вы) никто ничего переводить не будет. объснять тривиальные вещи тоже никому не интересно, только если за деньги

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this