The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

обзор OpenWRT (openwrt wireless wifi hardware linux)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: openwrt, wireless, wifi, hardware, linux,  (найти похожие документы)
From: Alex Samorukov <samm@os2.kiev.ua.> Newsgroups: email Date: Mon, 21 May 2007 14:31:37 +0000 (UTC) Subject: обзор OpenWRT OpenWRT - ещё 1 дистрибутив? Недавно у меня возникла задача раздачи wifi интернета в квартире. После недолгих сомнений я остановил выбор на маршрутизаторе WRT54GL. Основными критериями была достаточная для меня функциональность, сравнительно малая стоимость и поддержка OpenWRT. OpenWRT - это бесплатный linux дистрибутив, который поддерживает множество разнообразных аппаратных роутеров и позволяет реализовать функциональность несоизмеримо большую чем "родные" прошивки. Проект появился в 2004 году, на базе GPL кода опубликованного компанией LinkSys. На момент написания последний "стабильный" релиз - 0.9, кодовое название "White Russian", он нём далее и пойдёт речь. Сама же железка представляет из себя switch на 4 порта + порт для подключения провайдера (WAN) + WIFI точка доступа. Установка. После приобретения устройства я проверил его работоспособность с использованием родной прошивки. В простейшем случае задача выглядела как подключение к WAN используя PPPoE, раздача интернета на встроенный switch и wifi. После несложных настроек в веб интерфейсе все заработало. Встроенный веб интерфейс достаточно простой и понятный, но функциональность крайне ограниченна. Установка OpenWRT поражает своей простотой - все, что потребовалось для миграции на эту прошивку - это скачать дистрибутив для моей модели с сайта OpenWRT и обновить flash используя встроенный web интерфейс. После перезагрузки устройства необходимо используя телнет подключиться к 192.168.1.1 и задать пароль суперпользователя. Это позволит использовать http и ssh подключения для управления ОС. Приятным сюрпризом было и то, что большую часть настроек, которые я сделал в "родном" web интерфейсе OpenWRT успешно прочитал и использовал. Конфигурирование Для конфигурации можно использовать встроенный веб интерфейс (достаточно убогий, но основные настройки позволяет менять) или ssh консоль, что, на мой взгляд, значительно удобнее. OpenWRT предоставляет для администратора полноценный linux дистрибутив, с привычным набором утилит (grep, awk, wget, mv, cp и т.п.), debian-подобной системой управления пакетами ipkg позволяющей удалять или добавлять подготовленные разработчиками пакеты. Также присутствуют все стандартные linux средства для работы со стеком - ifconfig, route, netstat, iptables и т.д. И все это на платформе с 4Mb Flash и 16Mb RAM! В качестве замены стандартным unix утилитам используется проект busybox, а вместо GNU libc - минималистская uClibc. В моём случае настройка OS заключалась в уменьшении mtu PPPoE интерфейса nvram set wan_mtu=1400; nvram set ppp_mtu=1400; nvram commit и настройке шифрования WPA-PSK ipkg install nas; nvram set wl0_akm=psk;nvram set wl0_crypto=aes; nvram set wl0_wpa_psk=12345678;nvram set wl0_auth=0;nvram commit После перезагрузки все заработало без проблем. Для изменения параметров wlan интерфейса и получения информации о его работе используется утилита wl (ipkg install wl). Возможности и внутренняя архитектура Все ethernet порты (включая WAN) аппаратно объединены в управляемый switch, при этом каждый порт этого switch`а тегирован, что позволяет объединять их в VLAN`ы. В конфигурации по умолчанию создано 2 влана, в vlan0 находятся все LAN порты, а в vlan1 - единственный WAN порт. vlan0 объединён с интерфейсом wifi (eth0) в мост br0, на котором и прописан IP адрес маршрутизатора. Эта схема подходит для большинства конфигураций, но при желании её можно легко изменить, например, создав отдельный vlan для DMZ, или выделив порт для подключения резервного канала (WAN2). На самом деле варианты ограничены только вашей фантазией. Рюшечки и бантики Ну куда же без них, особенно после того как все успешно заработало. При первом знакомстве с устройством мне весьма понравилась кнопка "Cisco", которая при использовании родной прошивки мигала разными цветами при нажатии, а может делала что-то и более полезное, кто знает. После установки OpenWRT её нажатие молча игнорировалось. После длительных, многолитровых, мыслей о её предназначении, я решил, что наиболее полезно было бы отключать ей wifi. Чтение wiki показало, что для управления лампочками используются специальные файлы в каталоге /proc/diag/led. Так, например, echo 1>/proc/diag/led/power включает светодиод, echo 0 - выключает, echo f переводит в мигающий режим. Для того, чтобы перехватывать нажатие кнопок (reset и cisco) необходимо создать скрипт и поместить его в каталог /etc/hotplug.d/. Скрипту передаются переменные $BUTTON и $ACTION, через которые можно узнать название кнопки и тип события. В итоге скрипт выглялит так: #!/bin/sh # Cisco Button if [ $BUTTON = "ses" -a $ACTION = "released" ] then if [ "$(nvram get wl0_radio)" = "0" ] then echo "f" > /proc/diag/led/ses_white logger -t wifi "Activating wi-fi" nvram set wl0_radio=1 wifi else echo "f" > /proc/diag/led/ses_orange logger -t wifi "Dectivating wi-fi" nvram set wl0_radio=0 wifi fi sleep 1 echo "0" > /proc/diag/led/ses_white echo "0" > /proc/diag/led/ses_orange echo "1" > /proc/diag/led/power fi Разобравшись с кнопкой я решил установить на роутер dyndns клиент, для автоматического обновления IP адреса dyndns зоны. Для этого требуется добавить package ez-ipupdate (ipkg install ez-ipupdate), отредактировать конфигурационный файл и добавить в /etc/init.d стартовый скрипт для работы в режиме демона. Также рекомендую установить ntp клиент (ntpclient package) для того, чтобы роутер всегда показывал точное время. Если у вас в сети есть постоянно включённый компьютер с запущенным syslogd - будет нелишним перенаправить сообщения syslog на него. Также, при необходимости, можно настроить чтобы роутер посылал на компьютеры Wake Up on LAN пакеты, включая их в указанное время. Разработка и компиляция программ. Если вам потребовалось написать или портировать программу для OpenWRT - необходимо установить SDK. В требованиях к SDK был указан "любой современный linux". Так как на домашнем PC установлена FreeBSD, а никаких вменяемых livecd для запуска в qemu под рукой не оказалось - я решил попытаться запустить SDK в "линуксяторе" FreeBSD. Для работы скриптов вам потребуется установить bash, GNU TAR (gtar), GNU Make и GNU wget (возможно, что и ещё что-то, на что я не наткнулся). Также, из-за некоторых недоработок в скриптах SDK вам потребуется применить созданный мной патч (http://dev.openwrt.org/ticket/1720), после чего SDK будет работать без каких либо проблем. Создание и портирование программ неплохо описано в wiki. В итоге у меня получилось без особых проблем и изменений портировать ngrep (http://dev.openwrt.org/ticket/1719) - удобный grep для tcp сессий. Важный момент - вы не можете запускать полученные в результате кросс-компиляции приложения непосредственно на рабочей машине, так как они слинкованы под MIPS архитектуру. В форуме разработчиков обсуждаются также варианты запуска в qemu-mips, но я их не проверял, да и судя по сообщениям этот вариант пока ещё крайне "сырой" и нестабильный. Для удобной работой с роутером я смонтировал её файловую систему в локальный каталог freebsd. Для того, чтобы сделать это я использовал со стороны bsd fuse-sshfs, а на роутер потребовалось установить openssh-sftp-server (ipkg install openssh-sftp-server). Затем - "sshfs root@192.168.1.1:/ /mnt/router" на нашем хосте, вводим пароль и получаем удобный доступ ко всем файлам устройства. Для проверки ваших программ лучше закидывать их в tmp (виртуальный диск), чтобы не записывать лишний раз на flash микросхему. Заключение На мой взгляд, OpenWRT - прекрасный пример того, как OpenSource OS позволяет получить невероятно гибкое решение даже в условиях крайне ограниченных аппаратных ресурсов. Кроме того, подобные проекты уменьшают зависимость администратора от компании-производителя устройства, предоставляя пользователю настоящую свободу выбора. Как всегда, буду рад дополнениям, исправлениям и советам. Саморуков Алексей

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Garick, 11:27, 21/05/2007 [ответить] [смотреть все]
  • +/
    Если кому нужен функиональный веб интерфейс
    http://x-wrt.org/
     
     
  • 2.2, Samm, 12:03, 21/05/2007 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Ага, спасибо, я видел его но забыл упомянуть в обзоре Я собирался ещё накатать ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.3, andreyka459, 17:20, 21/05/2007 [^] [ответить] [смотреть все]  
  • +/
    ИМХО имеет смысл не забывать полезный клон openwrt на дешевом железе http midg... весь текст скрыт [показать]
     
     
  • 4.4, Samm, 17:37, 21/05/2007 [^] [ответить] [смотреть все]  
  • +/
    Ну у меня такого железа нет, так что я с ним не игрался.
     
  • 4.5, Samm, 22:17, 21/05/2007 [^] [ответить] [смотреть все]  
  • +/
    Кстати, почитал, это не совсем клон openwrt, скорее совсем не клон Очень интере... весь текст скрыт [показать]
     
     
  • 5.12, bI, 10:04, 25/05/2007 [^] [ответить] [смотреть все]  
  • +/
    Крымского... А точнее г. Симферополь.
     
  • 1.6, sergioborcov, 13:22, 22/05/2007 [ответить] [смотреть все]  
  • +/
    Добрый день!
    У меня постала задача настроить влан + мультиssid на  
    линксисах. Гугл на эту тему ничего внятного не нашел.Может Вы знаете можно ли это реализировать на openwrt.На dd-wrt это вроде есть, но еще не работает. Но мне openwrt больше нравится.
    Спасибо!
     
     
  • 2.7, Samm, 13:40, 22/05/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    День добрый Насколько я знаю, по milti ssid ситация такая OpenWRT 0 9 latest ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, sergioborcov, 14:03, 22/05/2007 [^] [ответить] [смотреть все]  
  • +/
    Это есть какая-то их прошивка,или это просто конфиг?
     
     
  • 4.9, Samm, 14:08, 22/05/2007 [^] [ответить] [смотреть все]  
  • +/
    я же написал - kamikadze, новая версия, ещё нестабильная ... весь текст скрыт [показать]
     
  • 1.10, Pontiy.Pilat, 21:25, 22/05/2007 [ответить] [смотреть все]  
  • +/
    Я использую DD-WRT на WRT54GL.
    На мой взгляд очень удобная штука. Хороший веб-интерфейс, позволяющий играться с большим колличеством параметров.
    Хотелось бы услышать аргументы в пользу OpenWRT по сравнению с DD-WRT :-)
     
     
  • 2.11, Samm, 22:02, 22/05/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не хотелось бы разводить holy war, я уверен, что в мире OSS возможных точек прил... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, iasb, 18:24, 28/05/2007 [ответить] [смотреть все]  
  • +/
    >Проект появился в 2004 году,

    и статья написана тогда же ?

    с этого и начинать надо. Для начала нипишите о том что железок для этого уже в продаже нету.  

     
     
  • 2.14, Samm, 22:59, 28/05/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Скажите, у Вас не хватило мозгов дочитать статью до конца У Вас не хватило мозг... весь текст скрыт [показать] [показать ветку]
     
  • 1.15, iasb, 22:12, 29/05/2007 [ответить] [смотреть все]  
  • +/
    не надо нервничать:

    Supported models:
          openwrt-wrt54g-squashfs.bin
           - WRT54G (v1.0, v1.1, v2.0, v2.2, v3.0, v4.0)
           - WRT54GL
          openwrt-wrt54gs-squashfs.bin
           - WRT54GS (v1.0, v1.1, v2.0, v3.0)
          openwrt-wrt54gs_v4-squashfs.bin
           - WRT54GS (v4.0)
      openwrt-wrt54g3g-squashfs.bin
       - Linksys WRT54G3G
          openwrt-wrtsl54gs-squashfs.bin
           - Linksys WRTSL54GS

    если покупать Б/У устройства - то может и попадете на то что требуется (до версии 4.0) а новых к сожалению найти уже не удастся. Если вообще продавцы в состоянии объяснить какая там версия.

    http://hotline.ua/sr?q=wrt54G&w=193-12

     
     
  • 2.17, Samm, 22:24, 29/05/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Скажите, Вы умеете читать больше одного абзаца текста В http wiki openwrt org... весь текст скрыт [показать] [показать ветку]
     
  • 1.16, iasb, 22:19, 29/05/2007 [ответить] [смотреть все]  
  • +/
    Если сложно разобраться в версиях - то до версии 4.0 в железках было по 16 МБ мозгов, а с версии 5.0 - только 8 МБ. В этом и весь прикол.

    All devices listed at linux-mips with:

        *
          2M Flash
        *
          16M RAM  --> в версии 5.0 - памяти меньше
        *
          1WAN/4LAN
        *
          USB (Optional)

     
     
  • 2.18, Samm, 22:28, 29/05/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Удивтельно, вы осилили целый абзац текста с http en wikipedia org wiki WRT54G ... весь текст скрыт [показать] [показать ветку]
     
  • 1.19, iasb, 22:59, 29/05/2007 [ответить] [смотреть все]  
  • +/
    А внятно именно это в начале статьи объяснить нельзя ? или у всех на деревьях деньги растут для покупки именно того именно для чего а потом бодаться с продавцом "а мне не подошло". Писать надо ДО КОНЦА а не по чуть-чуть.
     
     
  • 2.21, Samm, 23:26, 29/05/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Для тормозов, цитирую свою же статью, первый абзац Недавно у меня возникла зада... весь текст скрыт [показать] [показать ветку]
     
  • 1.24, LordFantom, 21:24, 02/06/2007 [ответить] [смотреть все]  
  • +/
    Есть еще большой плюс данной железки+OpenWRT
    на ней спокойно можно поднять AODV протокол

    http://www.nmsl.cs.ucsb.edu/~krishna/aodv-linksys/

    что собственно и есть самая вкусность для построения MESH сетей )))есть уже другие прошивки кому интересно сюда

    http://www.meshcom.com/dlopenap.php

     
     
  • 2.25, Samm, 11:38, 03/06/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да, действительно интересно Забавно, такой примитивный SoC, а столько всего ок... весь текст скрыт [показать] [показать ветку]
     
  • 1.26, shados, 00:24, 06/06/2007 [ответить] [смотреть все]  
  • +/
    А кто-нибудь знает есть ли в подобных ОС что-либо похожее на протокол Nstream из RouterOS от компании Mikrotik? Да и вообще можно ли сопоставить OpenWRT с RouterOS?
     
  • 1.27, LordFantom, 18:09, 06/06/2007 [ответить] [смотреть все]  
  • +/
    никто тебе не мешает портировать linux софт для
    этой железки в том числе и протоколы

    правда компилить очень уж гиморно
    MIPS всетаки не x86 ))))

     
     
  • 2.28, Samm, 18:11, 06/06/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Я бы не сказал, что так уж гиморно - нормальный gcc и среда разработки, всё что ... весь текст скрыт [показать] [показать ветку]
     
  • 1.29, vilteba, 02:45, 26/11/2007 [ответить] [смотреть все]  
  • +/
    Вопрос по существу, от чего запитали WRT54GL, ведь блок питания на 110V/60Hz?
     
     
  • 2.30, Samm, 05:20, 26/11/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вопрос по существу - дайте телефон дилера того, что вы курили перед написанием э... весь текст скрыт [показать] [показать ветку]
     
  • 2.31, Pontiy.Pilat, 07:16, 26/11/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    -D Крута ты купил - Таких девайсов по определению не должно в россии продават... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.32, Samm, 15:00, 26/11/2007 [^] [ответить] [смотреть все]  
  • +/
    >:-D
    >
    >Крута ты купил :-)
    >Таких девайсов по определению не должно в россии продаваться :-)

    Дядя, лечите моск и пользуйтесь гуглом.
    http://www.dostavka.ru/product-175358-40799726.html

     
     
  • 4.33, Pontiy.Pilat, 11:53, 27/11/2007 [^] [ответить] [смотреть все]  
  • +/
    >>:-D
    >>
    >>Крута ты купил :-)
    >>Таких девайсов по определению не должно в россии продаваться :-)
    >
    >Дядя, лечите моск и пользуйтесь гуглом.
    >http://www.dostavka.ru/product-175358-40799726.html

    Сам лечи, или будь в теме :-) Я не про сам девайс, а про то, что у него питание 110вольт. Сам точно такой девайс использую. У него нормальное питание 220в.

     
  • 4.34, Shuher, 16:19, 11/12/2007 [^] [ответить] [смотреть все]  
  • +/
    Как дал бы пару раз в голову тем кому не нравится как статья написана и тем кто светуют лечить мозг!
     
  • 1.35, skipper, 21:57, 24/06/2012 [ответить] [смотреть все]  
  • +/
    Добрый день! Помогоите пожалуйста настроить сервер печати на OpenWRT. Все что до этого нагуглил в инете упорно не хочет работать, раньше стояла DD-WRT, все работало. но провайдер отрезал старый протокол, пришлось перешиваться,а старые настройки не подошли на OpenWRT.
     
  • 1.36, Пяткин, 08:10, 16/12/2013 [ответить] [смотреть все]  
  • –1 +/
    Хочу поделится с Вами новостью!
    У сообщества OpenWrt есть возможность облегчить себе жизнь. Прошивка CyberWrt Вам в этом поможет
    В этой прошивке встрен вебинтерфейс при помощи которого можно устанавливать и настраивать большое количество пакетов и утилит. Для работы с CyberWrt достаточно подключится с ПК из любого браузера
    Информация по прошивке здесь http://cyber-place.ru/forumdisplay.php?f=44
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor