Андрей Смирнов
Время чтения: ~20 мин.
Просмотров: 14

Установка и настройка Openwrt

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

Введение

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

WARNING

Будь внимателен! Неправильная прошивка роутера может превратить его в бесполезный кусок железа и пластмассы.

На данный момент наиболее популярными прошивками считаются следующие:

Установка и начальная конфигурация OpenWRT

Первым делом необходимо прошить роутер. В моем случае в этом не было ничего сложного, главное — выбрать правильный вариант прошивки. Для этого необходимо внимательно смотреть на название — для обновления со стоковой прошивки TP-LINK я использовал файлopenwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin. В названии закодированы семейство чипсетов (ar71xx), конфигурация ядра (generic), название и версия аппаратной части роутера, тип ФС и для какой именно цели предназначен образ — прошивка с нуля (factory) или обновление существующей OpenWRT (sysupgrade). Ни в коем случае не используй sysupgrade для установки со стоковой прошивки — так ты просто превратишь роутер в кирпич. И вообще, поскольку для каждого роутера все индивидуально, читай внимательно соответствующий сайт.

Но вот ты прошил роутер и при этом умудрился его не окирпичить. Заходи по Telnet (адрес по умолчанию 192.168.1.1) и настраивай WAN. У меня он довольно долго не подключался, и пришлось разбираться с этим вопросом. Оказалось, что некоторые провайдеры (в частности, ТТК, к которому я подключен), кроме проверки по MAC-адресу, требуют еще и совпадения с этим MAC-адресом ClientID. В итоге я использовал следующие команды (здесь и далее, чтобы не путаться, где именно исполнять команды — на компе или на роутере, роутер будет обозначаться как openwrt#):

openwrt# uci set network.wan.proto=dhcp  openwrt# uci set network.wan.broadcast=1  openwrt# uci set network.wan.macaddr=09:aa:bb:cc:dd:ee  openwrt# uci set network.wan.clientid=0109aabbccddee  openwrt# uci commit network  openwrt# /etc/init.d/network restart  

UCI (United Configuration Interface) представляет собой попытку сделать унифицированные файлы (и средства) конфигурации. Все настройки UCI хранятся в каталоге /etc/config. Для тех служб, которые используют свои файлы конфигурации, скрипты OpenWRT при запуске генерируют их на основе шаблона и файла UCI — так, например, сделано с Samba. Да, возможно, это уменьшает гибкость, зато в большинстве случаев упрощается конфигурирование тех или иных параметров, путем ли редактирования файлов конфигурации (с использованием vi) или же используя утилиту uci.

Вернемся к командной строке. Что делают первые три команды, в общем-то, ясно: первая устанавливает протокол (возможно выбрать статический IP, PPP, PPPoE, L2TP и еще несколько менее используемых вариантов), вторая устанавливает флаг broadcast в пакете dhcp, третья устанавливает MAC-адрес для интерфейса. Четвертая команда устанавливает поле ClientID в пакете dhcp (option 61) равным MAC-адресу. Последние две команды используются для сохранения изменений и перезапуска сети.

После этого (и после обязательной проверки работоспособности) я бы посоветовал поставить веб-интерфейс, так как базовые настройки с ним реально проще рулить. Для OpenWRT таковых существует как минимум две. Поставим LuCI — де-факто стандартный веб-интерфейс:

openwrt# opkg update  openwrt# opkg install luci  openwrt# /etc/init.d/uhttpd enable  openwrt# /etc/init.d/uhttpd start  

И ставим пароль root.

openwrt# passwd  

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

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

Веб-интерфейс OpenWRT
Веб-интерфейс OpenWRT

Создание extroot

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

openwrt# opkg update  openwrt# opkg install block-mount kmod-usb-storage kmod-scsi-generic kmod-fs-ext4 e2fsprogs  

Запиши текущий вывод команды mount — он тебе еще пригодится в дальнейшем.

После этого подготовь и подмонтируй флешку (ее ты можешь отформатировать в ext3 как на настольном Linux, так и в самом OpenWRT) и клонируй на нее текущий оверлей:

openwrt# mkdir /mnt/flash_overlay  openwrt# mount /dev/sda1 /mnt/flash_overlay  openwrt# tar -C /overlay -cvf - . | tar -C /mnt/flash_overlay -xf -  

Только после этого ты можешь редактировать файл /etc/config/fstab, записывая в него параметры для использования extroot:

<...>  config mount      option target /overlay      option device /dev/sda1      option fstype ext3      option options rw,sync      option enabled 1      option enabled_fsck 0  

После этого перезагрузись. Если тебе необходимо вернуть все обратно, ты находишь в ранее записанном выводе команды mount оригинальное устройство с оверлеем, монтируешь его и ставишь в файле etc/config/fstab на смонтированном старом оверлее option enabled в 0.

Редактирование файла /etc/config/fstab для включения extroot
Редактирование файла /etc/config/fstab для включения extroot

Качаем торренты и настраиваем Samba

Раз уж роутер практически не выключается и места для установки стороннего ПО в нем теперь достаточно, грех не использовать его в качестве загрузчика торрентов. Но сперва нужно настроить файлообмен. Поскольку сеть у меня гетерогенная, выбор пал на Samba.

openwrt# opkg update  openwrt# opkg install samba36-client samba36-server luci-app-samba  openwrt# rm /tmp/luci-indexcache  

В задачи статьи не входит детальное описание настройки Samba, а с веб-интерфейсом ты способен разобраться и сам. Несколько замечаний, однако, стоит сделать. Во-первых, на вкладке Edit template вместо «security = user» стоит написать (хотя бы для начала) «security = share», во-вторых — дай гостевой доступ к расшаренным папкам, в-третьих — смени владельца расшариваемого каталога на nobody и, наконец, не забудь запустить саму службу:

openwrt# /etc/init.d/samba enable  openwrt# /etc/init.d/samba start  

Теперь перейдем к настройке торрент-клиента. В качестве его будет выступать transmission — не в последнюю очередь из-за того, что он поддерживает веб-интерфейс. Установка его стандартна:

openwrt# opkg update  openwrt# opkg install transmission-daemon transmission-web  

Рассмотрим наиболее важные опции файла конфигурации /etc/config/transmission:

config transmission  <...>      # Включает демон      option enabled '1'      # Каталог генерируемого конфига      option config_dir '/etc/transmission'      # Пользователь, от которого запускается демон. Поскольку гостевой пользователь Samba — nobody, то ставим его и здесь      option user 'nobody'      # Каталог хранения загруженных файлов      option download_dir '/home/storage/torrents/done'      # Каталог недокачанных файлов      option incomplete_dir '/home/storage/torrents/incompl'  <...>  

После этого ставим его в автозапуск и стартуем.

openwrt# /etc/init.d/transmission enable  openwrt# /etc/init.d/transmission start  

Заходим в веб-интерфейс, по умолчанию находящийся на порту 9091, грузим торрент-файл и наслаждаемся.

ФС, используемые в роутерах

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

  • SquashFS — только для чтения. Поддерживает сжатие, что немаловажно для систем с ограниченным объемом флеш-памяти.
  • JFFS2, в отличие от SquashFS, рассчитана на чтение/запись. Также поддерживает сжатие, но в меньшей степени. Журналируемая.

В случае OpenWrt эти две ФС разнесены по разным mtd-разделам и монтируются хитрым образом. Сперва SquashFS монтируется в /rom, а JFFS2 в /overlay. Затем с помощью overlayfs эти две ФС объединяются в одну и при попытке изменения файла в SquashFS изменяет его в JFFS3, обеспечивая таким образом поддержку не только чтения/записи, но и возможность загрузки в безопасном режиме для восстановительных работ.

Краткий обзор DD-WRT

DD-WRT необходимо шить с оригинальной заводской прошивки — возможность прошить из-под OpenWrt не предусмотрена. После прошивки и перезагрузки мы обнаруживаем в браузере требование сменить пароль. Оно, конечно, правильно, но непонятно — зачем скрывать под звездочками еще и имя пользователя. Установили его и сразу автоматически переходим на вкладку Status -> Sys-Info, где видим, что все отключено. Как только мы пытаемся перейти на другую вкладку, у нас спрашивают пароль. Беглый обзор вкладок дал следующую информацию о доступном ПО:

  • Samba и ProFTPD;
  • OpenVPN и PPTP;
  • nstx — позволяет создавать туннель IP over DNS, что позволяет в некоторых случаях использовать роутер как «окно» в интернет, если ты подключаешься через какую-нибудь платную точку доступа, а денежки тебе жаль;
  • несколько вариантов HotSpot-серверов — для того случая, если ты желаешь организовать свой хотспот;
  • SIP-прокси.

Чтобы включить доступ к optware (дополнительному ПО), придется повозиться. Замечу, что в некоторых версиях прошивки есть раздел JFFS2, а в некоторых нет, так что лучше для этой цели использовать флешку. DD-WRT подходит тому, кто хочет быстро получить доступ к отдельным функциям, которые в большинстве роутеров отсутствуют, но не желает заморачиваться с установкой дополнительного ПО. В общем-то, его возможности покрывают процентов 90 пользователей альтернативных прошивок. Те же, у кого потребности слишком специфичны или кто желает получить больший контроль над роутером, вполне могут разобраться и с другими прошивками.

Веб-интерфейс DD-WRT
Веб-интерфейс DD-WRT

Настройка DLNA-сервера

Да, твой роутер может выступать и в этом качестве. Если коротко, DLNA-сервер раздает различный медиаконтент в сети. Многие современные мультимедиаустройства, такие как телевизоры, игровые приставки, музыкальные центры и Blu-ray-плееры, поддерживают этот стандарт. В OpenWRT есть minidlna — легковесный и несложный в настройке DLNA-сервер, который мы сейчас и установим:

openwrt# opkg update  openwrt# opkg install minidlna  

Файл конфигурации находится в стандартном для UCI-конфигов месте —/etc/config/minidlna. Разберем его основные параметры:

# Не опечатка — действительно зачем-то повторяется  config minidlna config  <...>      option enabled '1'      # Какой интерфейс слушаем      option interface 'br-lan'      # Каталог БД minidlna и логи      option db_dir '/home/storage/minidlna/db'      option log_dir '/home/storage/minidlna/log'      # Каталоги с медиафайлами      list media_dir 'A,/home/storage/audio'      list media_dir 'V,/home/storage/video'      list media_dir 'P,/home/storage/photo'  <...>  

В принципе, после этого minidlna можно уже запускать, предварительно скопировав медиафайлы в нужные папки.

openwrt# /etc/init.d/minidlna enable  openwrt# /etc/init.d/minidlna start  

Однако есть небольшой нюанс. Захотел ты добавить музыку или видео, скопировал — а на плеере она не появилась. Дело здесь в том, что по умолчанию minidlna использует inotify, который по загадочным причинам в нем не работает. Чтобы обновить список, необходимо остановить запущенный демон и произвести ручное сканирование, набрав следующую команду:

openwrt# minidlna -R -f /tmp/minidlna.conf  

Сборка своего собственного образа OpenWRT

Если тебя по какой-то причине не устраивает стандартный образ OpenWRT, то можно собрать свой, для чего необходимо получить тулчейн и OpenWRT Buildroot. Прежде всего установим соответствующие пакеты:

$ sudo apt-get install subversion build-essential git-core libncurses5-dev zlib1g-dev gawk  

Собирать мы будем текущую нестабильную версию OpenWRT и материалы (feeds). Скачаем их.

$ mkdir openwrt && cd $_  $ svn co svn://svn.openwrt.org/openwrt/trunk/  $ cd trunk  $ ./scripts/feeds update -a && ./scripts/feeds install -a  

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

$ make prereq  
Сборка необходимых инструментов

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

$ make menuconfig  

И выбираем, точно так же, как и при конфигурации ядра, нужные тебе вещи. Единственное отличие от «ядерного» menuconfig — звездочка означает, что объект будет встроен в образ, а M — что будет доступен в виде пакета ipk, который позже можно будет установить отдельно. Сильно увлекаться, однако, не советую — помни о том, что места на внутренней флеш-памяти не просто мало, а очень мало.

В основном процесс конфигурирования включает в себя следующие шаги:

  • Выбор конкретной целевой системы и профиля. Их необходимо указывать как можно точнее — если укажешь неправильно, ты рискуешь превратить роутер в кирпич.
  • Выбор пакетов. Здесь действует правило — чем меньше ты встроишь их в образ, тем лучше. Поэтому выбирай только самые необходимые. Я бы посоветовал включить LuCI.
  • Настройки сборки. Тут ты можешь разве что в разделе Global build settings включить/выключить IPv6. В Advanced configuration options стоит лезть, только когда ты четко знаешь, для чего, к примеру, служит та или иная опция GCC, достаточна ли мощность процессора для включения защиты стека и так далее.
  • Выбор модулей ядра. Тут те же самые рекомендации, что и при выборе пакетов. Загляни в секцию USB Support и включи опцию kmod-usb-storage. Остальные включай по желанию.

Если же тебе зачем-то понадобится подправить ядерный конфиг, используй

$ make kernel_menuconfig  
Выбор опций при сборке кастомной прошивки

Учти, что если ты потом сделаешь очистку, то конфиг ядра не очистится. Для его очистки набери

$ svn revert -R target/linux/  

После всего этого можешь смело набирать команду

$ make  

для сборки образа. Это займет длительное время, по истечении которого в каталоге bin/появятся файлы образа.

Существует несколько путей для того, чтобы залить прошивку. Самый легкий из них — через веб-интерфейс, и описывать его я смысла не вижу. Второй способ — использовать утилиту scp на хостовом компьютере вкупе с mtd на роутере для залития образа и его прошивки. Поскольку сейчас стоит уже OpenWRT, то можно прошивать как factory-, так и sysupgrade-образ. В моем случае команды были такими:

$ scp bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin root@192.168.1.1:/tmp  openwrt# mtd -r write /tmp/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin firmware  

Вторая команда шьет (write) свежескачанную прошивку в раздел, именуемый firmware, и вслед за этим роутер перезагружается (-r). В случае обновления OpenWRT со стабильной версии до текущей я бы советовал не восстанавливать сохраненную конфигурацию, а настроить все заново — у меня по каким-то причинам старые конфиги не подошли к свежескомпилированной версии.

Копирование прошивки в роутер

Безопасность альтернативных прошивок

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

  • Отсутствие пароля в OpenWRT. И если в веб-интерфейсе (который обычно еще нужно устанавливать) хоть как-то предупреждают об этом, то при заходе по Telnet молчат. Хотя можно было бы написать скрипт, который требовал бы установки пароля, а после его установки отключал Telnet как таковой.
  • Отсутствие тайм-аута при неправильных попытках ввода пароля. В домашней сети это вроде и ни к чему… но можно подцепить малварь, которая атакует роутер и перешивает его. Пользователь может долгое время не подозревать, что он в ботнете, — и даже переустановка ОС, понятно, ничего не даст.
  • Отсутствие проверки подлинности пакетов в OpenWRT. Пакеты ipk не имеют цифровой подписи. В том случае, если репозиторий будет скомпрометирован (или хотя бы произойдет подмена DNS-адреса), это будет чревато заражением роутеров малварью.
  • В DD-WRT Wi-Fi по умолчанию включен и никак не шифруется, что само по себе рискованно, а при выключенном SSH рискованно вдвойне.

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

WWW

Всевозможная документация по OpenWrt: wiki.openwrt.org/doc/start

Заключение

Альтернативные прошивки дают большую свободу для пользователей. Некоторые из них, такие как DD-WRT, Tomato, прошивка от Олега, заточены под нужды большинства — в них есть поддержка NAS, VPN, есть принт-серверы… Другие же (Open/LibreWRT) содержат минимально необходимые возможности, но при этом позволяют их расширять и затачивать под свои нужды. Возможно, прочитав эту статью, ты захочешь стать одним из разработчиков прошивок, благо область довольно новая и толком до конца не освоенная. Дерзай.

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

И так, первый шаг: заходим в админку роутера, смотрим модель и версию:

Далее идём на сайт OpenWrt https://openwrt.org/toh/views/start , выбираем Table of Hardware: Standard, all devices тут же можно посмотреть техническую информацию об этом роутере и о любых других, поддерживаемых:

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

Скачали, в веб интерфейсе нашего устройства нажмите выберите файл. Выбираем то, что скачали, затем нажмите Обновить:

Роутер прошивается.. После прошивки — веб-интерфейс будет доступен по http://192.168.1.1

Рекомендую сразу установить пароль и выбрать интерфейс «lan» для подключения по SSH:

Теперь настроим подключение к интернету. Если ваш провайдер раздаёт интернет по DHCP, то этот шаг мы пропустим. По умолчанию WAN настроен на DHCP client. Если же pppoe, то идем далее:

Переходим в Network -> Interfaces -> Add new interface…  Задаём имя интерфейса, протокол (PPPoE). Cover the following interface выбираем тот, который с wan. Вообще, в моём случае в роутере есть свич — eth0.1 и отдельно адаптер ethernet — eth1. В некоторых случаях нет адаптера, есть только свич eth0 и он разделен вланами — eth0.1 будет wan, а eth0.2 свич.

Нажав Submit мы попадаем далее, здесь нужно указать логин/пароль от PPPoE:

Не применяя настроек, переходим в Firewall Settings и выбираем зону WAN. Сохраняем, применяем.

Если все сделано правильно, то, перейдя в Network -> Interfaces видим, что наш pppoe подключился. Проверяем интернет, должен работать.

По умолчанию в Openwrt выключен WiFi, что бы включить, переходим в Network -> Wireless -> Edit:

Тут можно выбрать канал, на котором будет работать наша Wi-Fi сеть, либо оставить auto, тогда канал будет сам выбираться, в зависимости от загруженности.

  • Режим работы (mode) — выбираем Access Point (точка доступа), о других режимах, мы поговорим в следующих статьях.
  • ESSID — имя сети Wi-Fi.

Далее перейдите на вкладку Wireless Security:

  • Encryption — WPA2-PSK.
  • Key — желаемый пароль Wi-Fi.

Не рекомендуется ставить пароль просто из 8 цифр, такой пароль очень уязвим!После всех настроек нажимаем Enable.

На этом пока всё. В дальнейших статьях мы рассмотрим конфигурационные файлы, логи, доступ через SSH, переназначение одного из LAN портов на WAN и так далее.

Ставим прошивку OpenWrt на роутер TP-Link TL-WDR3600

14 марта 2018

OpenWrt (Open Wireless RouTer) — это основанная на Linux открытая прошивка для беспроводных роутеров. В этой заметке будет рассмотрена установка OpenWrt на роутер TP-Link TL-WDR3600, также известный, как TP-Link N600. Роутер этот не новый, но довольно неплохой. К тому же, он числится среди рекомендуемых устройств для установки OpenWrt. Ставить OpenWrt на роутер интересно как минимум из соображений безопасности (в официальных прошивках часто много багов, не говоря уже о бэкдорах). Плюс к этому OpenWrt фактически превращает ваш роутер в маленький VDS, на котором можно выполнять какие-то задачи по cron’у, запустить rtorrent в screen, поднять Nginx, IRC-баунсер, и так далее.

Важно! Поисковые системы часто выдают в результатах поиска ссылки на сайт wiki.openwrt.org. Стоит иметь в виду, что на момент написания этих строк wiki.openwrt.org заморожен и может содержать устаревшие сведения. Актуальную информацию следует искать на openwrt.org.

Установка и настройка OpenWrt

Найти TP-Link TL-WDR3600 в магазине сейчас непросто, зато не составляет труда купить с рук. Так выглядит устройство, купленное мной на Avito за 1000 рублей (около 18$):

tl-wdr3600-router.jpg

Fun fact! TL-WDR3600, как и многие другие роутеры, основанные на SoC производства Atheros, работают на архитектуре MIPS.

Прошивку качаем отсюда (если вы читаете заметку в далеком будущем, проверьте, нет ли в каталоге /releases/ более новых версий прошивки):

https://downloads.openwrt.org/releases/17.01.4/targets/ar71xx/generic/

Файл называется:

lede-17.01.4-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin

Fun fact! Эта конкретная версия прошивки на самом деле была сделана в рамках проекта LEDE (Linux Embedded Development Environment). LEDE — это форк OpenWrt, помимо прочего, предоставляющий более свежие и при этом стабильные версии прошивок. Для сравнения, последняя стабильная версия прошивки для TL-WDR3600 от OpenWrt версии 15.05.1 была выпущена два года назад, 16 марта 2016 года. Но прямо сейчас LEDE и OpenWrt снова сливаются в один проект. Этим объясняется lede- в имени прошивки, наличие у проекта OpenWrt двух форумов, и прочие странности, хотя по факту это уже один проект.

Сзади роутера зажимаем кнопку Reset, чтобы сбросить его к заводским настройкам. Затем подключаем к нему ноутбук по витой паре, заходим в веб-админку на 192.168.0.1, авторизуемся под именем admin с паролем admin. В админке находим раздел для обновления прошивки. У меня оказалась локализованная версия роутера, поэтому раздел назывался Системные инструменты → Обновление встроенного ПО. Загружаем через форму .bin файл с прошивкой OpenWrt.

После обновления новая админка будет доступа по адресу 192.168.1.1, авторизуемся под именем root с паролем root. Сразу меняем пароль в System → Administration. Там же можно сказать, на каких интерфейсах должен крутиться SSH и добавить свой id_rsa.pub. Добавление его с помощью команды ssh-copy-id почему-то не работает.

Для входа по SSH также используем имя пользователя root:

ssh root@192.168.1.1

Что еще стоит настроить в веб-админке? Беспроводная сеть по умолчанию выключена. Включить ее можно в Network → WiFi. Убедитесь, что вы используете WPA2-PSK с сильным паролем. Кстати, если вы пропустили заметку Как ломают WPA/WPA2 сети с помощью aircrack-ng, ознакомиться с ней не повредит.

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

control-panel-interfaces.jpg

Состояние беспроводной связи:

control-panel-wireless-overview.jpg

Графики, обновляемые в реальном времени, отображают объемы входящего и исходящего трафика:

control-panel-realtime-traffic.jpg

Ну вот, остается только подключиться к роутеру по WiFi, воткнуть витую пару в порт Internet, и можно считать, что на этом первоначальная настройка роутера выполнена!

Управление пакетами

Управление пакетами в OpenWrt осуществляется при помощи утилиты opkg. Рассмотрим несколько примеров ее использования.

Обновляем список доступных пакетов:

opkg update

Смотрим список установленных пакетов:

opkg list-installed

Список всех доступных пакетов:

opkg list

Для каких пакетов есть обновления:

opkg list-upgradable

Обновляем пакеты:

opkg upgrade dnsmasq odhcp6c wpad-mini hostapd-common

Установка новых пакетов (не перестарайтесь, место на роутере не резиновое!):

opkginstallhtoptreescreenrtorrentnmaptcpdump

Удаление пакета:

opkg remove tmux

Подробности ищите на странице Opkg Package Manager официального сайта.

Монтирование внешних USB-носителей

Роутер имеет крайне мало дискового пространства, в связи с чем может возникнуть желание использовать внешний носитель. У меня под рукой оказалась флешка Kingston HyperX Predator на 512 Гб, вот такая:

kingston-512gb-flash-stick.jpg

… и я решил попробовать подключить ее.

По умолчанию OpenWrt идет без поддержки USB или каких-либо «нормальных» файловых систем, вроде FAT или Ext4. Поэтому нам понадобится установить недостающие модули ядра. При подключении данной конкретной флешки к моему ноутбуку в dmesg появляется:

… что как бы намекает нам, что устройство работает через слой SCSI, поддержки которого в OpenWrt из коробки, конечно же, тоже нет.

В общем, после нескольких не вполне удачных экспериментов, я выяснил, что полный список необходимых пакетов выглядит как-то так:

opkginstall kmod-scsi-core kmod-scsi-generic   kmod-usb-core kmod-usb-ohci kmod-usb-uhci kmod-usb2 kmod-usb3   kmod-fs-msdos kmod-fs-vfat kmod-fs-ext4 usbutils   kmod-usb-storage kmod-usb-storage-extras block-mount

То, что все работает, как надо, можно понять по появившемуся устройству /dev/sda, и тому факту, что команда:

mount/dev/sda1 /mnt

… успешно монтирует раздел.

Следует однако иметь в виду, что в зависимости от устройства, которое вы решите использовать, все может оказаться и не так просто. Если у вас возникнут проблемы с монтированием внешних устройств, рекомендую обратиться к разделу Storage Devices официальной документации.

Заключение

Как видите, все оказалось довольно не сложно. В рамках одного поста, впрочем, нельзя рассмотреть абсолютно все, что можно сделать с OpenWrt. Например, можно управлять фаерволом при помощи утилиты iptables, настроить на роутере VPN, поднять HTTP-сервер, и так далее. Дополнительную информацию по этим и другим вопросам, как уже отмечалось, вы найдете на сайте openwrt.org.

А какие умопомрачительные применения OpenWrt приходят вам на ум? И вообще, полузуетесь ли вы OpenWrt, DD-WRT, или какими-либо другими открытыми прошивками для роутеров?

Дополнение: Если же вы ищите недорогой роутер с предустановленным OpenWrt, тут можно порекомендовать TP-LINK TL-WR703N. Данный роутер доступен на eBay и стоит порядка 23$. Также заслуживают внимания роутеры производства GL.iNet, такие как GL-AR150 и GL-AR750. Еще одним производителем роутеров на базе OpenWrt является компания KuWfi, см к примеру модели SR-X5 и WE1628 на том же eBay.

Дополнение: Вас также может заинтересовать статья Превращаем Raspberry Pi в беспроводной роутер, и заодно заворачиваем весь трафик в VPN.

Метки: Linux, Беспроводная связь, Девайсы.

Понравился пост? Узнайте, как можно поддержать развитие этого блога.

Также подпишитесь на RSS, ВКонтакте, Twitter или Telegram.

Используемые источники:

  • https://xakep.ru/2013/10/26/alternative-router-firmware/
  • https://losst.ru/ustanovka-i-nastrojka-openwrt
  • https://eax.me/openwrt/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации