Categories: Девайсы

openwrt/

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$):

Fun fact! TP-Link TL-WDR3600, как и многие другие роутеры, основанные на SoC производства Atheros, работают на архитектуре MIPS . Здесь используется SoC AR9344, работающий на частоте 533 МГц. Характерно, что процессор является big endian, что в наши дни встречается не часто.

Прошивку качаем отсюда (если вы читаете заметку в далеком будущем, проверьте, нет ли в каталоге /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 довольно приятный веб-интерфейс. Останавливаться на нем подробно мы не будем, но вот пара скриншотов. Список сетевых интерфейсов:

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

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

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

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

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

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

opkg update

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

opkg list-installed

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

opkg list

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

opkg list-upgradable

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

opkg upgrade dnsmasq odhcp6c wpad-mini hostapd-common

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

opkg install htop tree screen rtorrent nmap tcpdump

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

opkg remove tmux

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

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

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

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

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

usb-storage 4-3:1.0: USB Mass Storage device detected
scsi host6: usb-storage 4-3:1.0
scsi 6:0:0:0: Direct-Access     Kingston DTHX Predator    PMAP PQ: 0…
sd 6:0:0:0: [sdb] 988282880 512-byte logical blocks: (506 GB/471 GiB)
sd 6:0:0:0: [sdb] Write Protect is off
sd 6:0:0:0: [sdb] Mode Sense: 45 00 00 00
sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn’…
sdb: sdb1
sd 6:0:0:0: [sdb] Attached SCSI removable disk

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

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

opkg install 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, тут можно порекомендовать TP-LINK TL-WR703N. Также заслуживают внимания роутеры производства GL.iNet, например, GL-AR750 .

Дополнение: В продолжение темы см посты Превращаем Raspberry Pi в беспроводной роутер и Изучаем Wi-Fi сети с помощью WiFi Explorer Lite .

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

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

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago