OpenWrt

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
OpenWrt
Openwrt-login.svg
LuCI 0.12+svn-r10530.png
Веб-интерфейс LuCI 0.12
Разработчик OpenWrt Project
Семейство ОС Linux
Исходный код открытый
Первый выпуск январь 2004
Последняя версия
Метод обновления (opkg (англ.))
Менеджеры пакетов (opkg (англ.))
Поддерживаемые языки 22 языка[2]
Поддерживаемые платформы AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64
Тип ядра Linux
Интерфейс Командная строка, веб-интерфейс
Лицензия GNU GPL и др.
Состояние активное
Репозиторий исходного кода github.com/openwrt/openw…
Веб-сайт openwrt.org
Commons-logo.svg OpenWrt на Викискладе

OpenWrt — встроенная операционная система, основанная на ядре Linux, и предназначенная, в первую очередь, для домашних маршрутизаторов. Основные компоненты включают в себя ядро Linux, util-linux, uClibc или musl[3] и BusyBox. Размер всех компонентов оптимизирован в связи с тем, что в большинстве домашних маршрутизаторов сильно ограничен объём памяти.

Конфигурирование OpenWrt производится с помощью командной строки (с оболочкой ash), набора скриптов UCI (Unified Configuration Interface — унифицированный интерфейс конфигурирования), или основанного на нем веб-интерфейса LuCI. В репозитории доступно более 3500 опциональных пакетов программ, доступные для установки с помощью системы управления пакетами opkg[en].

История[править | править код]

Изначально поддержка ограничивалась серией Linksys WRT54G (Linksys WRT54G series (англ.)), но сейчас расширилась и включает в себя чипсеты других производителей, в том числе и x86. Наиболее популярными является серия Linksys WRT54G и Asus WL500G. OpenWrt в основном использует интерфейс командной строки, но одной из опций является веб-интерфейс. Техническая поддержка осуществляется с помощью форума и IRC канала.

Особенности[править | править код]

Главной отличительной особенностью OpenWrt является полная поддержка файловой системы JFFS2, которая позволяет использовать для управления пакетами менеджер пакетов ipkg[en] (в новых версиях opkg[en]). Всё это делает OpenWrt легко настраиваемой и адаптируемой системой для каждого конкретного случая. В версиях для роутеров, имеющих большой объем флеш-памяти (от 4 Мб), обычно используется ФС SquashFS, которая использует оверлей (совмещение изменяемых и неизменяемых файлов в одном каталоге). В таком случае ФС менее эффективно использует пространство, так как хранит в отдельном разделе описания изменений, но позволяет легко произвести откат к настройкам по умолчанию.

Стандартная прошивка предоставляет базовый набор функций (в постоянно разрабатываемой версии — «trunk» отсутствует даже веб интерфейс). Для расширения функциональности используются дополнительные пакеты. Отмечается неудобство веб-интерфейса (особенно для неопытных пользователей).[4][5]

Типы поддерживаемых подключений[править | править код]

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

  • Static IP
  • DHCP Client
  • PPTP
  • PPPoE (в том числе и DualAccess PPPoE[6])

UCI и LuCI[править | править код]

Для традиционной настройки Unix-подобных систем необходимо заполнение большого количества текстовых файлов конфигурации, большинство которых имеет различный синтаксис, и вызов большого количества утилит командной строки с разнообразными параметрами, что требует создания и отладки достаточно сложных скриптов (сценариев).

Вместо этого OpenWRT предлагает унифицированный интерфейс конфигурации UCI (Unified Configuration Interface), позволяющий управлять большинством системных параметров с помощью единого синтаксиса файлов конфигурации и командной строки.

Файлы конфигурации UCI находятся в ветке /etc/config и в общем случае не предназначены для редактирования человеком. Для просмотра и изменения параметров конфигурации служит утилита uci. При выполнении команд uci set создается временная конфигурация, рабочая же конфигурация не изменяется. Команда uci revert отменяет изменения, сделанные во временной конфигурации, что также не затрагивает рабочей. Фактическое применение конфигурации происходит только по команде uci commit, которая переводит унифицированное описание конфигурации во взаимно-связанное, непротиворечивое состояние традиционных файлов конфигурации и сценариев. При этом автоматически перезапускаются необходимые системные службы, что избавляет от необходимости делать это вручную или перезагружать систему.

Стандартный web-интерфейс LuCI (Lua Configuration Interface — интерфейс конфигурации на Lua) использует UCI для получения сведений о системе и внесения изменений в ее конфигурацию.

X-Wrt[править | править код]

Родственный проект X-Wrt[4][7][8] является расширением OpenWrt для конечного пользователя. OpenWrt является базовой системой с минимальным веб-интерфейсом для настройки опций. Основным расширением X-Wrt является webif²[9], веб-интерфейс, имеющий около 40 страниц с опциями настройки роутера. Webif² включает в себя графики сетевого трафика и системного мониторинга, страницы настройки и контроля сети, беспроводного соединения и безопасности. Настройки предусмотрены для следующих сервисов: ведение логов, загрузка, cron, NVRAM, редактирование текста, управление ipkg[en], SNMP, резервное копирование и восстановление, обновление прошивки, WAN, VLAN, Wi-Fi, WEP, WPA, WDS, MAC filtering, Firewall, Port forwarding, DHCP, Dnsmasq, Hostnames, IP control, Routing, UPnP, QoS, DynDNS, Wake-on-LAN, OpenVPN, PPTP и точка доступа Wi-Fi.

Другой форк OpenWrt, ориентированный на конечного пользователя — Gargoyle[4][10].

Другие проекты, основанные на OpenWrt[править | править код]

  • PacketProtector — проект, основанный на OpenWrt и поддерживающий IDS, IPS, VPN.
  • Coova — OpenWrt-based проект, нацеленный на беспроводные точки доступа.
  • Freifunk — немецкий проект, основанный на OpenWrt, доступен на нескольких языках.
  • DebWrt — проект, нацеленный на запуск Debian на роутерах, поддерживаемых OpenWrt.
  • en:LEDE (Linux Embedded Development Environment) — проект, начатый частью бывших разработчиков OpenWrt, несогласных с политикой основной команды. После 1,5 лет разработки объединён с OpenWrt.[11]

Примечания[править | править код]

  1. OpenWrt 18.06.1 - First Service Release - August 2018
  2. LuCI Translation Portal (1 сентября 2004). Проверено 31 декабря 2010. Архивировано 19 ноября 2010 года.
  3. Felix Fietkau. OpenWrt switches to musl by default. OpenWrt Development List (16.06.2015).
  4. 1 2 3 Просто добавь функционал. Альтернативные прошивки для роутеров. Игорь Осколков, 3DNews, 05.05.2011
  5. Джозеф Эдвардс. По беспроводным волнам // WindowsIT PRO/RE. — Открытые Системы, 2006. — № 4.
  6. OpenWRT — Настройка Dual Access (Russian) PPPoE Денис Юрьев, Блог? Не-не-не.., 28 июня 2013 года.
  7. Спецрепортаж журнала. 10 лучших проектов «Сделай сам» → Проект 7: Перекраиваем маршрутизатор // Linux Format. — Декабрь 2007, 99 (12). — С. 47.
  8. Официальный сайт X-Wrt
  9. Process Lasso Архивировано 13 октября 2007 года.  (недоступная ссылка с 14-05-2013 [1983 дня] — история)
  10. Gargoyle Router Management Utilitty (англ.)
  11. OpenWRT + LEDE Move Ahead With Their Re-Merge

Ссылки[править | править код]

Обзоры