Как стать автором
Обновить

Комментарии 16

А теперь пожалуйста про практическую часть )

Я так понимаю вы создали гейт в интернет и ваши соседи гики проделав аналогичные действия с роутером смогут войти в меш сеть и выйти в большой интернет через вашу ноду?
Я правильно понимаю?
Увы, практическая часть пока состоит в тестовом подключении ноутбука к Гипербории через сознанный ad-hoc. Соседей-гиков у меня пока нет, во всяком случае, я о них не знаю. Гейт в интернет пока только планируется. Думаю, он будет на openvpn, хотя туннелинг по ssh работает и так.
Я вот перепрошивать свой asus rt-n16 не хочу, хотя использую DD-WRT v24-sp2 (08/07/10) mega (SVN revision 14896)
А вот если была бы возможность интегрировать cjdns прямо в него без лишней головной боли я бы занялся.

А еще имею просто linux комп без WiFi имеет создавать ноду Гипербории?
Есть железо которое можно заюзать, да и включено 24х7
Конечно. Нодой может служить любое устройство, на которой запустится cjdns и которое имеет хотя бы один сетевой интерфейс.
Правда, он должен как-то соединятся с соседями. Например, по кабелю. Или можно просто воткнуть по usb wi-fi адаптер.
В rt-n16 шить openwrt стало можно не очень давно.
Официально опубликованной поддержки до сих пор нет; если захочется — нужно брать Bleeding Edge и на него накатывать патчи. При этом openwrt работает менее стабильно, чем dd-wrt (видимо, менее оптимизирована, а потому сильнее греет железки и оттого приводит к перезагрузке).

Если собирать прикладной софт — то есть два варианта.
Первый — собирать в optware. Она по сути никак не является частью прошивки, а является вещью-в-себе. У него всё своё, даже runtime-библиотеки вроде uclib. Соответственно, поставив тулчейн, дальше можно собирать всё, что угодно.

Софт из optware может работать как в dd-wrt, так и в open-wrt (что, в общем-то, логичное следствие его самозамкнутости). Недостаток — то, что те же библиотеки будут загружены в двух экземплярах (системная, и та, что из optware).

Второй вариант — ставить openwrt и делать для него пакет. Openwrt собирается «монолитно» — на одном тулчейне и прошивка, и модули (по сути вся разница только в том, в какой партишн пойдёт собранный бинарь — в RO-слепок squashfs, либо же в пакет, откуда потом попадёт в рутовый оверлей или внешний носитель по желанию). Т.е. буквально разницы в том, собирать ли какой-то левый модуль, или же всё ядро и прошивку целиком — нет.

В общем-то, если на железке стоит dd-wrt, то optware — это вполне рабочий вариант. Даже если в будущем появится желание пересесть на openwrt, например.

Однако есть специфические задачи, где optware уже не поможет. Например — специфический модуль ядра. Здесь «монолитность» сборки openwrt остаётся практически единственным вариантом: просто ставим нужную галку в конфиге и копируем после модуль в роутер.

А вот с dd-wrt в том же случае задача получается нетривиальной. Тулчейн для dd-wrt — это совсем не тот же тулчейн, что используется для optware. Даже разыскать его уже совсем непросто (в вике для разработчиков — давно мёртвые ссылки). Сама сборка, судя по отзывом, далеко не всегда успешна (вплоть до того, что в качестве тулчейна предлагается уже даже не набор тулзов в отдельной папке, а целый образ системы для чрута или виртуалки; иначе настройка просто тулзов на базе существующей системы заколёбывает всех напрочь!)

В общем — на уровне модулей ядра собирать что-то для dd-wrt — это полный трэш и экзотика!
А вот для openwrt — простая рутина.

Если модули ядра не нужны — оставайтесь на dd-wrt, он стабильнее, и прикладной софт для него в optware собирается запросто! В противном случае ПРОЩЕ будет справиться с установкой openwrt, чем с тюнингом тулчейна dd-wrt.

(Я в своё время перешёл на openwrt из-за тривиального модуля последовательного порта cp210x, который был нужен, чтобы «завести» умный дом на Z-Cloud через usb-свисток. На dd-wrt я бился над ним несколько дней, и конце концов плюнул и потратил пару часов на то, чтобы найти нужные доки и собрать «с нуля» openwrt с нужным модулем.).
Ну так подумать у меня прошивка тоже концом 2010 года датирована, обновляться что то пока нет желания, хотя судя по форумам новые тоже стабильны. Посмотрим что можно сделать
Ох, снимаю шляпу. Я в своё время сборку OpenWRT под брата-близнеца вашего роутера «ниасилил» — хватило пары суток танцев с бубном для одной только настройки 3G-модема — mysku.ru/blog/dealextreme/17257.html

Самое интересное, это то, что заводская прошивка от 3020 оказалась куда как стабильнее OpenWRT — «дачный» интернет на первой не отваливается сутками, а на второй — падает :(

Наверное, соединение слетает потому, что должно слетать :) То есть, время аренды ip проходит и, как результат, происходит разрыв. Думаю, достаточно будет подвесить на cron проверочный скрипт. Кстати, в документации по вашему роутеру это и предлагают:
#!/bin/sh
if ! ping -q -c 1 -W 10 -I 3g-wan 8.8.8.8 > /dev/null; then
        (ifup wan; sleep 5; /etc/init.d/multiwan restart) &
    fi

if ! ping -q -c 1 -W 10 -I 3g-wan2 8.8.8.8 > /dev/null; then
        (ifup wan2; sleep 5; /etc/init.d/multiwan restart) &
    fi
Спасибо за подробный ман, особенно по компиляции OpenWRT. В своё время не осилил написать такой же мануал, так и остался в черновиках, теперь буду навёрстывать — хотя бы под свой 3020 скомпилирую нормальный минимальный образ с lirc =)
Насчёт отсутствия поиска в конфиге — вы не правы!
Это стандартный menuconfig со стандартными «горячими клавишами».
Поиск там, как в vi/vim, вызывается слэшем (/). В окошке, которое при этом высветится, есть кнопочка Help с более детальным описанием.
Спасибо, добавил в пост. Кстати, в каком смысле стандартный? Это просто интерфейс похож, или это таки тот самый menuconfig, что и в ядре Linux?
Я внутрь не глядел; но интерфейс тот же самый!
(и так-то сомневаюсь, что специально для этого проекта кто-то возьмётся пилить свой велосипед. Зачем, если существующий menuconfig очень даже работает?)
Не видел в глаза menuconfig для «обычного» ядра linux, но сомневаюсь, что он отличается от menuconfig для ядря linux в OpenWRT.
А может кто-то ответить на такой вопрос:

У меня дома стоит Airpot Extreme на него я естественно не могу поставить OpenWRT и cjdns.
Но что если купить совместимый с OpenWRT роутер, поставить на него openwrt, cjdns, а затем подключить его в уже созданнюу wifi-сеть. Смогут ли клиенты подключеные к airport получить доступ к mesh-сети?
Да, смогут, в cjdns реализована возможность нахождения соседей с помощью ethernet-броадкастов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий