Что такое openwrt для роутера

Введение

Практически в каждой статье данного раздела мы говорим о том, что современные беспроводные домашние роутеры в массовом сегменте представляют собой «программно-аппаратные комплексы», поэтому потребительские качества продукта нельзя оценивать только по одной из этих плотно взаимосвязанных компонент. И как бы странно это ни звучало со стороны автора старейшего сайта о «железе», в данном случае «мегагерцы» и «мегабайты» являются морально устаревшей строчкой в техническом описании устройства и очень вторичной информацией с точки зрения полезности для потребителя. Ключевым вопросом является возможность эффективно решать конкретные задачи пользователя, а возраст использованной SoC на это влияет мало.

Конечно, это не относится к таким характеристикам, как поддерживаемые стандарты беспроводной связи, число и скорости проводных портов и портов USB. Их стоит рассматривать в разрезе планируемого использования устройства. Скажем если нужна функция сетевого хранения файлов или подключение сотового модема — потребуется порт USB, а если от провайдера нужно получить более 100 Мбит/с, то без гигабитных портов сделать это невозможно.

Но аналогичное замечание касается и встроенного программного обеспечения. Если речь только о раздаче интернета от провайдера по Wi-Fi на десяток клиентов в небольшом помещении, то на это способна практически любая модель. Но если требуется широкое покрытие беспроводной сетью несколькими точками, удаленный доступ к устройствам локальной сети, гибкие настройки межсетевого экрана и так далее, то обязательно нужны соответствующие функции в прошивке, одними мегагерцами и мегабайтами ситуацию не исправить. И конечно, универсального рецепта тут нет — «хотелки» у пользователей очень разные.

В комментариях к публикациям в данном разделе читатели часто упоминают в качестве альтернативы «готовым» роутерам решения сегмента «сделай сам» в виде сочетания недорогой модели «железа» и альтернативной прошивки. Несомненно, такой подход к выбору вполне возможен. Но хочется все-таки заметить, что его сложно назвать «универсальным решением всех проблем». И вопрос тут скорее не в собственно прошивке, а в подходе потребителя к выбору продукта и пониманию того, что есть явная связь функции-время-знания-деньги. Если пользователю нужно решение формата «купил, включил, настроил и работаешь» с минимальными затратами времени и усилий, то обычно выбираются присутствующие на рынке роутеры с требуемыми возможностями по аппаратной и программной части и используются с прошивками производителя. Да, в этом случае за разные интересные готовые к использованию функции придется доплатить.

А если есть опыт по установке альтернативных прошивок и понимание, что они способны решить ваши задачи, то можно купить условно более доступное оборудование, соответствующее аппаратным требованиям, и заменить прошивку производителя на более удобный вариант, что потребует как минимум времени. «С нуля» разобраться с этим может быть не так просто, но если «набить руку», то, конечно, всё можно сделать быстро и без риска «окирпичивания». Следующим уровнем можно назвать самостоятельную сборку прошивки под себя, на что придется потратить еще больше усилий, но теоретически получить более качественный или более функциональный вариант. Далее можно придумать полностью самостоятельное создание прошивки, что еще более трудоемко.

Понятно, что развивать это направление можно очень долго. Причем не только в программной части. Аналогичное движение может быть и для аппаратной платформы — от относительно простой доработки (скажем добавления каких-нибудь портов или увеличения объема памяти) до создания платы на готовых чипах.

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

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

Сколько-нибудь адекватно сравнить эти варианты по «качеству/надежности/безопасности» кода практически невозможно, поскольку всё пишут люди. Но как минимум стоит заметить, что у крупных компаний есть более плотное взаимодействие с производителями аппаратных компонентов и более организованное внутреннее взаимодействие, что теоретически может давать возможность более эффективного использования аппаратных ресурсов с целью повышения производительности. Кроме того, они могут задействовать и коммерческие компоненты (например, драйвера файловых систем, сервисы фильтрации контента и так далее). С другой стороны, проекты с открытым исходным кодом могут быть более гибкими и более активными по внедрению новых сервисов.

Одной из наиболее известных универсальных прошивок для беспроводных маршрутизаторов является OpenWrt, которой скоро исполнится 20 лет. Решение основано на ядре Linux и предлагается с лицензией GNU GPL 2. Наиболее важным при выборе модели роутера под эту прошивку является объем флеш-памяти. Старые версии могли работать на устройствах с 4 и 8 МБ, но актуальные для комфортной работы хотят от 16 МБ и более. Что касается оперативной памяти, то тут рекомендуется от 128 МБ и более. К счастью, подавляющее число современных моделей этим требованиям удовлетворяют. В официальном списке подходящих роутеров на момент подготовки публикации было более 2000 моделей.

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

Непосредственно тесты мы проведем в следующих статьях с несколькими популярными моделями роутеров, а здесь, чтобы далее не повторяться, коротко расскажем о собственно прошивке. Для определенности ссылки далее будут для модели Redmi AX6S.

Установка OpenWrt

В наиболее удачном варианте на сайте есть страничка, посвященная именно вашему роутеру. На ней приводится подробное описание установки и особенности этого процесса. Желательно прочитать всю информацию внимательно, поскольку производители оборудования могут менять аппаратные версии и конфигурации флеш-памяти, а это является важным моментом совместимости. Далее вам предстоит выбрать собственно версию прошивки. Для начала и первого знакомства оптимальным вариантом является последняя официальная релизная версия. Если вы точно понимаете, что вам нужно что-то новее, то можно поискать на сайте так называемые снапшоты, которые представляют собой ежедневные сборки наиболее актуальных версий прошивки, модулей и пакетов. Это позволяет оперативно добавлять поддержку новым устройствам и функциям, однако разработчик предупреждает, что они как минимум не имеют графического интерфейса «из коробки» и не протестированы. Еще один вариант — поиск прошивок пользователей на тематических форумах. Обычно они построены на базе относительно актуального снапшота и имеют встроенные дополнительные пакеты, которые создатель посчитал необходимыми (например, графический интерфейс или поддержку сотовых модемов). Понятно, что в случае вопросов по последнему варианту адресовать их нужно будет автору сборки.

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

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

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

Обратная процедура в нашем случае относительно проста: оригинальную прошивку можно вернуть через специальный режим восстановления. Для этого потребуется специальная настройка локальной сети и сервер TFTP или же можно воспользоваться специальной утилитой восстановления, в которой уже всё есть. Сам файл прошивки также потребуется предварительно скачать из сети. Далее зажимаем кнопку сброса и включаем питание роутера. Когда начнет мигать желтым индикатор, отпускаем кнопку сброса и ждем, пока индикатор начнет мигать синим. Далее всё настраивается как на новом устройстве.

Базовые возможности OpenWrt

Прошивка представляет собой полноценную операционную систему и имеет поддержку системы управления пакетами. Конечно в единственной публикации описать их все невозможно. Так что для начала посмотрим, что есть «из коробки», а когда будем тестировать конкретные модели, коснемся и дополнительных функций. Поскольку мы использовали стабильный релиз, то в нем уже есть GUI-интерфейс для работы через браузер. Однако часть функций, особенно если вы добавили пакеты, настраивается через командную строку.

Поскольку здесь изложение будет кратким, приведем прямые полезные ссылки, где можно найти больше информации: руководство по началу работы, руководство пользователя, руководство разработчика, ветка в нашей конференции.

После перезагрузки роутера и переподключения к нему клиента открываем штатный веб-интерфейс LuCI, расположенный по адресу 192.168.1.1. Здесь есть поддержка HTTPS и автоматический редирект. Аккаунт по умолчанию — root без пароля. И конечно, пароль нужно будет обязательно поменять в настройках устройства. Отметим, что по умолчанию беспроводные интерфейсы неактивны, так что начинать настраивать роутер нужно будет по кабелю. Язык интерфейса на свежеустановленной прошивке английский, но в репозитории есть пакеты локализации LuCI, в том числе с русским языком.

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

В разделе Status кроме описанной выше страницы Overview есть еще шесть. Routing показывает текущую таблицу маршрутизации, Firewall — актуальные таблицы межсетевого экрана (в данной версии основан на firewall4 и nftables). Системный журнал System Log представлен выводом dmesg.

На странице Processes можно посмотреть список текущих процессов и потребляемых ими ресурсов процессора и оперативной памяти с возможностью принудительного завершения.

Channel Analysis предоставляет информацию о соседних беспроводных сетях (имя, уровень сигнала, номер и ширина канала, режим, BSSID) по каждому радиоблоку.

На Realtime Graphs представлены полезные графики для оценки текущей нагрузки на роутер: загрузка процессора, график по каждому интерфейсу, уровни сигнала беспроводных соединений, список UDP- и TCP-соединений. Заметим, что долговременного хранения данных, конечно, не предусмотрено, так что если это требуется, нужно будет использовать внешние сервисы.

В разделе System, как понятно из названия, находятся системные настройки. На первой странице можно указать сетевое имя и настроить часы (есть поддержка синхронизации через NTP). На Logging можно выбрать размер буфера для хранения журнала и уровень протоколирования, а также указать удаленный сервер Syslog для отправки событий на него. И конечно, не обошлось без смены языка и темы веб-интерфейса.

На странице Administration настраивается пароль пользователя root, сервис SSH, ключи SSH и редирект на HTTPS.

Установка дополнительных пакетов opkg осуществляется на странице Software. На момент подготовки статьи там было представлено более 7000 модулей. Конечно, большинство из них скорее служебные или библиотеки, но в целом масштаб оценить можно. Заметим также, что речь идет исключительно о пакетах операционной системы, а не о готовых модулях для реализации конкретной функции для пользователя. К примеру, если устанавливается веб-сервер apache, то есть основной пакет и различные дополнения (модули). Удобно что в таблице представлен и требуемый объем на накопителе, а также текущее состояние системного накопителя. В случае нашего роутера на «чистой» прошивке было свободно 90 МБ.

На странице Startup можно управлять скриптами инициализации, а также создать и изменить пользовательский скрипт /etc/rc.local.

Страница Scheduled Tasks позволяет отредактировать системный файл планировщика crontab.

Если позволяет аппаратная конфигурация роутера, на странице LED Configuration можно настроить работу светодиодов на корпусе устройства.

Страница Backup / Flash Firmware пригодится для сохранения/восстановления/сброса конфигурации, обновления прошивки, создания копий блоков флеш-памяти. Обратите внимание, что с обновлениями всё может быть не так просто, как хотелось бы. В частности, для рассматриваемой модели роутера из-за конфигурации блоков флеш-памяти вариант обновления через GUI неработоспособен.

Последняя страница в разделе — принудительная перезагрузка роутера (Reboot).

Итого в этой группе имеет смысл настроить несколько параметров — пароль администратора, встроенные часы и, может быть, работу светодиодов. Пока всё выглядит достаточно просто и мало отличается от интерфейсов других роутеров, но дальше будет немного сложнее.

Настройки по умолчанию уже включают режим клиента DHCP для порта WAN, объединяют все порты LAN и настраивают на этом интерфейсе сервер DHCP. Так что если у вас провайдер с IPoE и автоматической настройкой, то по кабелю всё будет работать сразу. Если требуется что-то изменить — идем на страницу Interfaces в разделе Network.

Для WAN штатно поддерживаются наиболее востребованные и распространенные режимы IPoE и PPPoE, а также IPv6. Гибкость настроек интерфейсов позволяет настроить конфигурации с несколькими WAN и использовать технологи VLAN.

Настройки LAN мало отличаются от других рассмотренных моделей. Стоит только обратить внимание на то, что подробные опции сервера DHCP расположены на отдельной странице.

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

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

С разделом Routing вопросов нет: можно добавить собственные маршруты для IPv4 и IPv6 в статическом режиме или с учетом назначенных правил.

На странице DHCP and DNS назначаются постоянные адреса клиентам, есть пункты для реализации на базе роутера загрузки по сети с использованием PXE и TFTP, настройка локального разрешения имен.

Встроенные диагностические утилиты — ping, traceroute и nslookup — могут быть полезны при диагностике проблем прохождения трафика.

Последний пункт раздела — настройка межсетевого экрана.

Он работает с использованием зон, имеет функцию проброса портов, а в правилах предусмотрено использование в том числе и расписаний.

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

В последующем тестировании мы устанавливали на роутер серверы VPN для различных протоколов, и эти операции сложно было назвать простыми и интуитивно понятными (для примера — официальная инструкция для сервера OpenVPN), однако в целом это вполне осуществимо за разумное время при наличии определенного опыта работы с Linux и сетями. Но совершенно точно, что простым «копипастом» примеров из интернета здесь не обойтись, потребуется еще и разбираться в том, что конкретно делают предлагаемые команды и скрипты, возможно адаптировать их под вашу версию оборудования и/или общаться с сообществом активных пользователей на многочисленных форумах. Другое дело — если вы хорошо знакомы с этой прошивкой и уже имеете собственную коллекцию рецептов на разные случаи. Тогда, конечно, всё существенно проще и быстрее. Впрочем, это касается всех областей жизни, где опыт имеет значение.

Заключение

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

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

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

Ну и четвертый вариант для настоящих энтузиастов — выбор модели (платформы), уже сразу ориентированной создателями на работу с OpenWrt, или установка данного ПО на обычный стандартный компьютер. В этом случае можно будет забыть про ограничения по памяти, диску и мощности процессора, добавить различную периферию и так далее. Но вполне возможно, что придется ближе познакомиться с миром аппаратной поддержки оборудования в конкретном дистрибутиве.

OpenWrt был создан в 2004 году и имеет лицензию GPL. Это бесплатная операционная система с открытым исходным кодом на базе Linux, которую можно установить на разные маршрутизаторы и Устройства шлюза Интернета вещей. Благодаря небольшому весу и множеству вариантов настройки OpenWrt идеально подходит для устройств, которым требуются мощные сетевые возможности, но ресурсы которых ограничены. Он предлагает множество инструментов и возможностей для контроля и оптимизации сетевого трафика, а также поддержку ряда протоколов и функций безопасности, таких как поддержка брандмауэра и VPN.

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

OpenWrt — это дистрибутив GNU/Linux, который изначально был разработан как прошивка для беспроводных маршрутизаторов. Но с тех пор он превратился в основу встроенного программного обеспечения для управления возможностями сетевой маршрутизации многих встроенных систем. Эти системы включают IoT-шлюзы, проводные маршрутизаторы, смартфоны и даже некоторые ноутбуки.

Разница между большинством прошивок, включая OEM, и OpenWrt в том, что последняя не статична. С прошивкой для большинства встроенных систем, если вы хотите внести изменения — например, добавить или удалить функцию — вам придется прошить совершенно новую ОС. С OpenWrt пользователи могут вносить изменения точно так же, как устанавливать или удалять пакеты.

OpenWrt начался, когда Linksys выпустила беспроводной маршрутизатор на основе открытого исходного кода и была вынуждена выпустить модифицированный код. Позже этот код стал основой для дистрибутива Linux, известного сейчас как OpenWrt.

С OpenWrt вы можете легко управлять своими устройствами через соединение Secure Shell (SSH) и терминал Linux. Пользователи также могут использовать веб-интерфейс пользователя (UI) OpenWrt, называемый LuCI и Lua, для настройки прошивки на своих встроенных устройствах. Но эта функция может быть ограничена маршрутизаторами с более чем 4 МБ флэш-памяти; другим придется управляться только с терминалом.

В то время как OpenWrt вызвал идею модифицированной прошивки для маршрутизаторов, вскоре после этого появилось множество альтернатив. Многие из этих альтернатив основаны на самой OpenWrt, например DD-WRT, LEDE, ClearOS и Tomato.

За операционной системой стоит очень активное сообщество, поддерживающее и поддерживающее ее развитие. Разработчики регулярно встречаются удаленно (а иногда и лично) для обсуждения изменений и разработок.

Аппаратные требования операционной системы OpenWrt

OpenWrt доступен для широкого спектра встроенных систем от разных производителей. Ранее OpenWrt был открыт для маршрутизаторов со значительным количеством аппаратных возможностей. Но последние версии OpenWrt ориентированы только на маршрутизаторы с 4 МБ флэш-памяти и 32 МБ ОЗУ.

Рекомендуется иметь достаточно оперативной памяти для стабильной работы, а также достаточно флэш-памяти для хранения образа прошивки, чтобы запустить OpenWrt на оборудовании.

Нестабильность может быть вызвана нехваткой оперативной памяти

  • 32 МБ может регулярно «зависать» при выполнении основных действий маршрутизатора/точки доступа. Имея всего 32 МБ ОЗУ, Linux 5.4 практически не работает на нем, а скачки использования памяти могут привести к сбою маршрутизатора из-за проблем с OOM (недостаточно памяти).
  • В зависимости от вашего оборудования и ситуаций использования достаточно 64 МБ. Менее 64 МБ ОЗУ может привести к нестабильной работе устройства под OpenWrt, начиная с версии 19.07. Ожидайте, что обновления безопасности/исправления для ядра, драйверов и/или прикладного программного обеспечения будут недоступны, и что поддержка устройства может быть прекращена в любое время.
  • Рекомендуется 128 МБ или больше. если для работы маршрутизатора/точки доступа требуется дополнительное программное обеспечение.

Low Flash не может загрузить обновленные пакеты или прошивку

  • Минимальное требование к флэш-памяти составляет 4 МБ, однако вы не сможете установить веб-интерфейс LuCI, VPN или любой другой пакет, требующий шифрования, Samba, ключей 3G/4G или драйверов и инструментов файловой системы;
  • Если у вас есть только 8 МБ флэш-памяти, LuCI можно установить вместе с несколькими дополнительными программными пакетами;
  • В обозримом будущем 16 МБ флэш-памяти (минимум) обеспечивают большую гибкость и рекомендуется.

Вы можете просмотреть более официальное объяснение здесь.

Рекомендация шлюза OpenWrt

DSGW-030 MTK7688 Шлюз OpenWrt

В MediaTek MT1A интегрированы радиомодем 1T802.11R 580n Wi-Fi, процессор MIPS® 24KEcTM с частотой 5 МГц, коммутатор 1p FE или 2.0p Fast Ethernet PHY, хост USB 2, PCIe, I7688S/PCM и многочисленные GPIO. Поддерживаются Python, Node.js и собственный C, что делает его подходящим для приложений для умного дома. Он может работать под управлением OpenWrt Linux..

Проекторы, системы наблюдения за домашней безопасностью и шлюзы для умного дома — это лишь несколько примеров более сложных или ресурсоемких гаджетов для умного дома, с которыми может работать MTK7688. Аппаратная платформа MTK7688 на базе OpenWrt идеально подходит для IoT в умных домах. Из-за сложности так называемого соединения одним ключом между мобильным приложением и устройством, которое включает множество драйверов устройств Wi-Fi, разработчикам чрезвычайно сложно самостоятельно разработать надежную и быструю конфигурацию с одним ключом. Кроме того, чип MTK7688 имеет относительно низкую цену. Кроме того, программисты могут легко создавать приложения верхнего уровня, интегрировать множество комплектов разработки с открытым исходным кодом и компилировать их благодаря большому объему поддерживаемой памяти DDR2.

DSGW-090 MTK7628 Потолочный шлюз OpenWRT IoT

Схема потолочного шлюза OpenWRT IoT DSGW-090 MTK7628

В качестве центрального узла шлюза, DSGW-090 Шлюз Интернета вещей OpenWRT поддерживает несколько беспроводных протоколов, включая Wi-Fi и zigbee3.0, BLE, Z-WAVE. Пользователи могут подключаться к сети через Wi-Fi, Ethernet и сотовую сеть LTE.

Узнайте больше: Разработка шлюза Интернета вещей

Каковы преимущества и преимущества OpenWrt?

Одним из основных преимуществ OpenWrt является то, что вы можете использовать его для добавления дополнительных функций к вашему домашнему маршрутизатору. Например, вы можете:

  • Запускайте SSH-серверы и выполняйте SSH-туннелирование на своих маршрутизаторах.
  • Настройте различные типы серверов, включая веб-сайт, протокол передачи гипертекста (HTTP) и протокол передачи файлов (FTP) на своих маршрутизаторах. 
  • Установите и запустите клиенты BitTorrent на своих маршрутизаторах. 
  • Создайте независимую сеть Wi-Fi помимо основной WLAN в качестве гостевой сети.
  • Настройте виртуальную частную сеть (VPN) через свои маршрутизаторы, что позволит вам обойти любую интернет-цензуру или другие фильтры контента.

Помимо этого, опытные пользователи также могут использовать OpenWrt для формирования трафика, анализа сетевых пакетов и применения правил качества обслуживания (QoS) в сети. Есть утверждения, что вы можете увеличить радиус действия своего маршрутизатора с помощью OpenWrt.

Хотя добавление дополнительных функций к вашему домашнему маршрутизатору, безусловно, весело, во многих случаях OpenWrt необходим. Иногда роутер устарел или производитель перестал выпускать обновления прошивки. Во многих случаях OpenWrt часто оказывался более стабильным, чем прошивка производителя.

Как начать работу с OpenWrt?

Сложность настройки OpenWrt зависит от модели роутера. Примерно для 30% устройств OpenWrt имеет довольно простой процесс.

Хотя обновить прошивку OpenWrt несложно, шаги по замене прошивки OEM и первой установке OpenWrt зависят от конкретного устройства. В некоторых случаях это может быть так же просто, как перейти к веб-интерфейсу прошивки OEM, выбрать «Обновить прошивку» и выбрать файл образа OpenWrt. В других случаях вам, возможно, придется пройти через загрузчик, где шаги могут быть более сложными.

Первый шаг к установке OpenWrt — найти ваше устройство в Страница OpenWrt, на которой перечислены доступные прошивки.

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

После того, как вы установили OpenWrt на свое устройство, его достаточно просто обновить.

Какие меры предосторожности следует принять перед использованием OpenWrt?

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

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

Из-за риска получить непригодное для использования или кирпичное устройство, OpenWrt рекомендует пользователям делать каждый шаг очень медленно и осторожно.. Перед началом работы пользователям рекомендуется очень хорошо ознакомиться с документацией по устройству. Если что-то кажется неправильным или идет не так, как вы себе представляли, веб-сайт предлагает пользователям остановиться, найти ответы и затем продолжить. Везде, где это применимо, OpenWrt показывает риски и лучшие практики при работе с ним.

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

Прежде чем начать, убедитесь, что вся информация об устройстве находится рядом с вами, как от производителя, так и от OpenWrt. Убедитесь, что у вас есть источник бесперебойного питания, и не пытайтесь настроить устройство через беспроводное соединение.

OpenWrt в разработке шлюза IoT

OpenWrt — это мощная операционная система с открытым исходным кодом на базе Linux для встраиваемых устройств. Он широко использовался при разработке шлюзов IoT благодаря своей гибкости и надежности. Разработка шлюза IoT с помощью OpenWrt может обеспечить множество преимуществ по сравнению с традиционными решениями, включающими проприетарное аппаратное и программное обеспечение.

OpenWrt позволяет разработчикам использовать широкий выбор существующих программных пакетов, что может сэкономить время и деньги при создании нового шлюза IoT. Используя плагины, такие как LuCI или LUCI2, процесс разработки можно упростить еще больше. Кроме того, его модульная конструкция облегчает разработчикам создание настраиваемого встроенного ПО для конкретных случаев использования.

Хотя OpenWrt предлагает много преимуществ, есть и несколько недостатков, связанных с его использованием.

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

Как производитель, специализирующийся на разработке шлюзов Интернета вещей с открытым исходным кодом, Dusun имеет несколько шлюзов, основанных на системе OpenWrt. Например, это внутренний шлюз LoRaWAN со встроенной системой OpenWrt, которую можно использовать в самых разных условиях, таких как умные города, системы промышленной автоматизации (МИОТ), управление логистикой, и решения для отслеживания активов и другие.

Установите OpenWrt и откройте совершенно новый набор функций для своих устройств

OpenWrt — это мощный дистрибутив Linux, который позволяет вам делать гораздо больше с вашим домашним маршрутизатором, шлюзами Интернета вещей (IoT) и система на модулях. Многие производители, в том числе Dusun IoT, использовать OpenWrt для питания своих встраиваемых решений. С Dusun и его IoT-решения на базе OpenWrt, вы можете сделать больше.

Источники

OpenWrt — Основы LuCI
OpenWrt — Краткое руководство по установке OpenWrt
GitHub — openwrt/люси
OpenWrt — Добро пожаловать в проект OpenWrt
OpenWrt — Таблица аппаратного обеспечения: загрузки прошивки
OpenWrt — Поддерживаемые устройства

OpenWrt — это широко расширяемый дистрибутив GNU / Linux для встроенных устройств (обычно это беспроводные маршрутизаторы). В отличие от многих других дистрибутивов для этих маршрутизаторов, OpenWrt построен с нуля, чтобы быть полнофункциональной, легко изменяемой операционной системой для вашего маршрутизатора. На практике это означает, что вы можете иметь все функции, в которых вы нуждаетесь, ни с одной из наворотов, основанных на ядре Linux, которое является более современным, чем большинство других дистрибутивов.

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

Подробнее читайте в вики OpenWrt …

В 2016 году проект LEDE был основан как побочный результат проекта OpenWrt и разделял многие из тех же целей. Проект, направленный на создание встроенного дистрибутива Linux, позволяет разработчикам, системным администраторам или другим энтузиастам Linux создавать и настраивать программное обеспечение для встроенных устройств, особенно беспроводных маршрутизаторов. Название LEDE для Linux Embedded Development Environment .

Участники проекта включили значительную долю наиболее активных членов сообщества OpenWrt и намерены привнести новую жизнь в разработку Embedded Linux, создав сообщество, уделяя особое внимание прозрачности, сотрудничеству и децентрализации.

Заявленные цели LEDE были:

Формирование проекта LEDE было решено решить долговременные проблемы, которые считались исключаемыми из проекта / сообщества OpenWrt:

  1. Количество активных разработчиков ядра на все время низкое, без процесса привлечения новых людей.

  2. Ненадежная инфраструктура, исправления, предотвращенные внутренними разногласиями и единственными точками отказа.

  3. Отсутствие коммуникации, прозрачности и координации в проекте OpenWrt, как внутри основной команды, так и между основной командой и остальной частью сообщества.

  4. Недостаточно людей с фиксацией доступа для обработки входящего потока патчей, слишком мало внимания к тестированию и регулярным сборкам.

  5. Отсутствие внимания к стабильности и документации.

Чтобы решить эти проблемы, проект LEDE был настроен по-другому по сравнению с OpenWrt:

  1. Все каналы связи являются общедоступными, некоторые доступны для чтения не-членам для поддержания хорошего отношения сигнал-шум.

  2. Процесс принятия решений более открытый, с приблизительным соотношением 50/50 разработчиков и опытных пользователей с правом голоса.

  3. Инфраструктура упрощена, чтобы гарантировать, что она создаст для нас меньше работ по техническому обслуживанию.

  4. Более либеральная политика слияния слияния, основанная на нашем опыте с пакетом github для пакета OpenWrt.

  5. Сильная ориентация на автоматическое тестирование в сочетании с упрощенным процессом выпуска.

Следующая дата встречи еще предстоит определить.

По состоянию на январь 2018 года проекты OpenWrt и LEDE agenda pad.

Все журналы встреча можно посмотреть здесь.

Здесь вы можете найти в алфавитном порядке список текущих людей, вовлеченных в LEDE Project:

Developers Nickname
Alexander Couzens lynxis
Álvaro Fernández Rojas noltari
Daniel Golle dangole
Felix Fietkau nbd
Florian Fainelli [florian]
Hauke Mehrtens hauke
Jo-Philipp Wich jow
John Crispin blogic
Jonas Gorski jogo
Mathias Kresin mkresin
Matthias Schiffer neoraider
Mirko Vogt mirko
Rafał Miłecki rmilecki
Steven Barth cyrus
Stijn Tintel stintel
Ted Hess thess
Wiki Documentation Nickname
Thomas Endt tmomas
Rich Brown richb-hanover
Alberto Bursi bobafetthotmail

Введение

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

Как вы скорее всего знаете, ваш роутер – это маленький компьютер и него есть программное обеспечение, так называемая “прошивка” или “firmware”. Прошивку разрабатывает производитель роутера, однако существуют также альтернативные решения – проекты с открытым исходным кодом: OpenWRT, DD-WRT, Tomato.

Что нам даёт использование OpenWRT?

  • Обновления (безопасность и новые фишки) выпускаются в разы чаще и поддержка сохраняется в разы дольше, чем у большинства производителей. Особенно актуально это стало в условиях карантина. Уязвимая “прошивка” роутера – одна из наиболее частых причин инцидентов при удаленной работе.

  • “Родные” прошивки бывают нестабильными, особенно у дешевых роутеров. Так многие модели TP-Link зависали после нескольких дней беспрерывной работы.

  • Вы привыкаете к одному интерфейсу пользователя и при последующей смене/апгрейде роутера, даже от другого производителя, чувствуете себя “как дома”.

  • Вам не обязательно покупать дорогой роутер для реализации продвинутых “фишек”, таких как IPv6, родительский контроль, блокировка рекламы, VPN, гостевой WiFi, DNS шифрование, динамический DNS (DDNS) и т. д.

  • Есть активное сообщество, которое поможет оперативнее, чем даже поддержка крупного производителя, да и многое уже описано.

  • Преимущества открытого решения на базе Linux: возможность подключаться через SSH, автоматизировать настройку и управлять роутером с помощью скриптов, настройки хранятся в текстовых файлах (автоматизация, контроль версий), можно использовать роутер для других задач (умный дом, SFTP/Web сервер, закачка торрентов и т.п.).

Подробнее эти и другие причины описаны на сайте проекта.

Базовая настройка OpenWRT

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

  1. Установить пароль пользователя root.

  2. Ограничить доступ по SSH только для интерфейса LAN.

  3. Настроить PPPoE подключение по WAN.

  4. Настроить WiFi.

  5. Добавить гостевой WiFi (без доступа в локальную сеть).

  6. Настроить динамический DNS NoIP.

  7. Настроить переадресацию портов (port forwarding).

  8. Сохранить конфигурацию в архивный файл.

Пункты 6 и 7 нужны, например, для того, чтобы подключаться из Интернета к домашнему компьютеру по SSH или SFTP (например, для синхронизация файлов с ноутбуком), а также для прямого подключения по Anydesk, которое работает быстрее, чем обычное.

Процесс “перепрошивки” на OpenWRT зависит от модели вашего роутера. Следует найти его в списке поддерживаемых устройств и следовать приведенным там рекомендациям.

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

1. Установить пароль пользователя root

Перейти в меню System > Administration.

2. Ограничить доступ по SSH только для интерфейса LAN

Перейти в меню System > Administration > SSH Access.

Interface = lan

После этого шага имеет смысл сделать Logout и залогиниться снова, чтобы убрать предупреждение в верхней части экрана.

3. Настроить PPPoE подключение по WAN

Перейти в меню Network > Interfaces.

Нажать кнопку “Edit” в строке “WAN”.

Protocol = PPPoE + нажмите кнопку "Switch protocol"
PAP/CHAP username = ваш_логин_у_провайдера
PAP/CHAP password = ваш_пароль_у_провайдера

4. Настроить WiFi

Перейти в меню Network > Wireless.

4.1 Нажать на кнопку “Edit” под “radio0 802.11nac”.

Channel = Auto
ESSID = имя_вашего_wifi_5GHz

Перейти на вкладку Wireless Security.

Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашего_wifi_5GHz

4.2 Нажать на кнопку “Edit” под “radio1 802.11bgn”.

Channel = Auto
ESSID = имя_вашего_wifi_2.4GHz

Перейти на вкладку Wireless Security.

Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашего_wifi_2.4GHz

Нажать кнопки “Enable” (слева от “Edit”) на обоих подключениях.

5. Добавить гостевой WiFi

Взято отсюда, плюс ужато и обновлено под новый интерфейс.

Делаем для 2.4 ГГц, но аналогично можно сделать и для 5ГГц.

5.1 Перейти в меню Network > Wireless.

5.1.1 Нажать кнопку “Add” в “radio1 802.11bgn”.

Channel = Auto
ESSID = имя_вашего_гостевого_wifi
network = выбрать "-- custom --" и ввести "guest"

5.1.2 Перейти на вкладку Wireless Security.

Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашего_гостевого_wifi

5.2 Перейти в меню Network > Interfaces.

5.2.1 Нажать на кнопку “Edit” в интерфейсе “GUEST”.

Protocol=Static address + нажать кнопку “Switch protocol”
IPv4 address = 192.168.3.1
IPv4 netmask = 255.255.255.0

5.2.2 Перейти на вкладку “Firewall settings”.

Create / Assign firewall-zone = выбрать "-- custom --" и ввести "guest"

5.2.3 Перейти на вкладку “DHCP server”.

Нажать на кнопку "Setup DHCP server" и далее Save

5.3 Перейти в меню Network > Firewall.

5.3.1 Нажать на кнопку “Edit” в зоне “guest”.

Input = reject
Allow forward to destination zones = WAN

5.3.2 Перейти на вкладку Traffic rules.

Нажать на кнопку “Add” внизу.

Name = Guest DNS
Protocol = TCP+UDP
Source zone = guest
Destination zone = Device(input)
Destination port = 53
Save

Нажать на кнопку “Add” внизу.

Name = Guest DHCP
Protocol = UDP
Source zone = guest
Destination zone = Device(input)
Destination port = 67
Save

6. Настроить динамический DNS NoIP

6.1 Перейти в меню System > Software.

Нажать кнопку “Update lists…”

Набрать “ddns” в поле “Filter”.

Установить пакеты “ddns-scripts”, “ddns-scripts-noip”, “luci-app-ddns”.

Сделать Logout и потом залогиниться снова.

6.2 Перейти в меню Services > Dynamic DNS.

6.2.1 Нажать кнопку “Edit” в строке “myddns_ipv4”.

Lookup Hostname = your.dyndns.domain.com
DDNS Service provider = no-ip.com + нажать кнопку "Switch service"
Domain = your.dyndns.domain.com
Username = your_username
Password = your_password

6.2.2 Нажать кнопку “Reload” в строке “myddns_ipv4”.

6.2.3 Нажать кнопку “Delete” в строке “myddns_ipv6” — если вам достаточно IPv4.

7. Настроить переадресацию портов (port forwarding)

Перейти в меню Network > Firewall > Port Forwards.

Нажать кнопку “Add” внизу:

Name = SSH
Protocol = TCP+UDP
External port = 22
Internal IP address = 192.168.1.2
Save

Нажать кнопку “Add” внизу:

Name = Anydesk
Protocol = TCP+UDP
External port = 7070
Internal IP address = 192.168.1.2
Save

8. Сохранить конфигурацию в архивный файл.

Перейти в меню System > Backup.

Нажать на кнопку “Generate archive”.

Сохранить скачанный файл в надежном месте.

В этом же пункте меню можно загружать обновления прошивки – кнопка “Flash image…”.

Заключение

Таким образом, мы рассмотрели недорогие в применении меры повышения безопасности и стабильности работы домашних роутеров с помощью прошивки OpenWRT. В то же время, следует заметить, что ни одна разовая мера безопасности, включая внедрение дорогого оборудования и программного обеспечения, не даст гарантий отсутствия инцидентов безопасности. Если вам нужен действительно высокий уровень защищённости, то необходим комплексный системный подход, начиная с аудита вашей ИТ-инфраструктуры, в том числе, домашнего окружения.

Ядро операционной системы Linux часто становится базой для работы различных устройств вроде маршрутизаторов и навигаторов. Они имеют ограниченный функционал, зато гарантируют высокую стабильность работы оборудования, а также обеспечивают возможность установки сторонних приложений, помимо заводских утилит.

Относится это и к Openwrt – самой известной операционной системе для роутеров.

Требования к роутеру для установки Openwrt

Openwrt – это не простая прошивка, а целая операционная система для маршрутизаторов, созданная на базе Linux. Если вы решили перепрошить свой роутер и установить данную ОС, то проверьте, соответствует ли ваше устройство следующим требованиям: 

  • соответствие архитектурам, которые указаны на официальном сайте;
  • минимум 4 Мб флеш-памяти (без возможности установить GUI (LuCI));
  • от 32 Мб ОЗУ.

Перед тем как экспериментировать с сетевым устройством, рекомендуется усвоить – перепрошивка оборудования часто лишает пользователя заводской гарантии. Кроме того, вероятно, интерфейс новой оболочки будет несколько непривычным по сравнению с предыдущим, и это вызовет некоторые затруднения в настройке параметров.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Шаг 1: Подготовка и прошивка

Рассмотрим процедуру прошивки на примере роутера TP-Link модели TL-WR740N. Перед запуском изменений нужно зайти в панель администратора (через браузер) и посмотреть текущую версию встроенного программного обеспечения. TP-LinkСледующий шаг – скачивание операционной системы Openwrt, она доступна по ссылке. В открывшейся таблице отображается перечень поддерживаемых роутеров и техническая информация о них. Пользователю достаточно найти прошивку, соответствующую текущей версии. В названии должна присутствовать приставка factory.

Если к названию прошивки добавлено слово Sysupgrade, это означает, что файл предназначен для обновления версии ранее установленной операционной системы. После скачивания требуется зайти обратно в панель администратора и нажать на кнопку «Обновить». Система предложит указать файл – здесь нужно выбрать архив с Openwrt.

Все, осталось дождаться завершения процесса прошивки. Важно на этом этапе обеспечить питание без аварийных отключений, чтобы не повредить программное обеспечение. Если это случится, оно перестанет запускаться, и аппарат останется только «выкинуть» или отнести по гарантии. Если все прошло корректно, после перезагрузки веб-интерфейс будет доступен по адресу http://192.168.1.1.

Шаг 2: Первоначальная настройка Openwrt

В перечень базовых настроек ПО входит изменение пароля администратора. Это исключит вход в панель посторонних лиц на удаленной основе в результате перехвата сигнала Wi-Fi. Плюс нужно включить интерфейс в режим «LAN», чтобы активировать поддержку протокола SSH.

Openwrt

Шаг 3: Настройка PPPOE

Теперь требуется настроить подключение к интернету. Если провайдер предлагает соединение по протоколу DHCP, этот шаг допускается пропустить, потому что роутер «по умолчанию» настроен на передачу данных через DHCP Client.

Настройка PPPOE

Если же речь идет о PPPOE, нужно провести следующую настройку:

  1. Перейти в подраздел Interfaces раздела Network.
  2. Кликнуть по пункту Add new interface.
  3. Задать имя интерфейса и указать протокол PPPoE.
  4. Выбрать режим WAN для пункта Cover the following interface.

После внесения перечисленных настроек нужно нажать на Submit, ввести переданные от провайдера логин-пароль и без сохранения настроек перейти в раздел Firewall Settings, где выбрать зону WAN. Теперь остается применить изменения и перезагрузить роутер. Если еще раз перейти в раздел Interfaces в Network, пользователь увидит, что PPPoE подключен, и можно выходить в интернет.

Шаг 4: Настройка Wi-Fi

Wi-Fi на Openwrt включается вручную. Сразу же после инсталляции операционной системы интерфейс обычно отключен. Выполняется процедура в подразделе Wireless раздела Network. Там нужно кликнуть по кнопку Edit и изменить несколько параметров:

  1. Mode – режим работы установить в значение Access Point (точка доступа).
  2. ESSID – имя сети Wi-Fi по свободному выбору пользователя.

Во вкладке Wireless Security нужно указать режим WPA2-PSK для пункта Encryption, а в строке Key ввести желаемый пароль для подключения к беспроводной сети. Остается кликнуть по кнопке Enable и попробовать подключение с любого устройства с модулем Wi-Fi.

ВДС

Другие наши интересноые статьи:

  • Что такое status на роутере мтс
  • Что такое openvpn на роутере
  • Что такое sip alg на роутере
  • Что такое ssl в настройке роутера
  • Что такое sgi enable в роутере

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии